kustomize-wrapper 0.16.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

kustomizewrapper 0.16.0

Kustomize Wrapper






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)

Installation
python3 -m pip install kustomize-wrapper

Why should I use this tool
Forget 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}"

Usage
kustomize --help

Philosophy:

Build automatically
Kustomize commands become CLI options
Kubeval options become CLI options of lint command

Python tox
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

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.