Kustomize Wrapper latest-version
checks-status tests-status kustomize kubeval python-support license
A Python wrapper for the Kubernetes Kustomize tool and related tooling.
- More readable, more concise one-liners
- Easy linting (with integrated
kubeval) - Integrates into your Python tooling (e.g. use it with
tox) - Automatic download of external Go binaries
- Cross-platform (installs matching Go binaries on Linux, macOS, Windows)
python3 -m pip install kustomize-wrapperForget about several kustomize calls, piping your calls into kubeval
or kubectl apply commands. Using Kustomize is now even more pleasant!
Instead of:
lint: script: - kustomize build deployment/overlays/development | kubeval --strict - kustomize build deployment/overlays/integration | kubeval --strict - kustomize build deployment/overlays/production | kubeval --strict
You can now write:
lint: script: - kustomize lint deployment/overlays/*
Instead of:
production: script: - cd deployment/base - kustomize edit set image IMAGE="foobar/application:${CI_COMMIT_SHA}" - cd ../.. - kustomize build deployment/overlays/production | kubectl apply -f -
You can now write:
production: script: - kustomize apply deployment/overlays/production --edit deployment/base \ set image IMAGE="foobar/application:${CI_COMMIT_SHA}"
kustomize --helpPhilosophy:
- Build automatically
- Kustomize commands become CLI options
- Kubeval options become CLI options of
lintcommand
Add kustomize-wrapper to your tox.ini, then Tox takes care of downloading:
[testenv:kubernetes] description = Validate Kubernetes manifests deps = kustomize-wrapper commands = kustomize lint {posargs:--ignore-missing-schemas --fail-fast \ deployment/application/overlays/development \ deployment/application/overlays/integration \ deployment/application/overlays/production \ }
Allows you to override arguments: (Use -- in case you add command line options)
tox -e kubernetes -- --fail-fast deployment/application/base