Skip to content
This repository has been archived by the owner on Jul 9, 2023. It is now read-only.

Archive of a linter for ArgoCD Application definitions. Runs Git, Kubectl, Helm and Kustomize to figure out whether your Application can be successfully applied.

License

Notifications You must be signed in to change notification settings

release-engineers/archived--lint-argocd-application

Repository files navigation

lint-argocd-application

Status: Alpha

Lints ArgoCD Applications, going so far as to run actual (dry-run) kubectl commands and git clone-s to validate the application.

This solution runs tools such as Git, Kubectl, Helm, Kustomize, etc. Ensure that git is authorized to clone your repositories, and that kubectl is authorized to run apply dry-runs against your cluster. It is not recommended to run this tool against Application manifests that are not under your control.

Usage

Invoke like so using your favorite shell;

./lint.py your-application.yaml [your-application.yaml ...]

Alternatively you can also use "-" to read from stdin like so;

cat your-application.yaml | ./lint.py -

Prerequisites

  • Python 3
  • Git
  • Kubectl
  • Helm 3 (only for Helm-based applications)
  • Kustomize (only for Kustomize-based applications)

Development

Prerequisites

  • Python 3
  • Git
  • Kubectl
  • Helm 3
  • Kustomize

Setup

python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt

Usage

./regenerate-yamls.sh
./lint.py build/*.yaml

About

Archive of a linter for ArgoCD Application definitions. Runs Git, Kubectl, Helm and Kustomize to figure out whether your Application can be successfully applied.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published