Metadata-Version: 2.1
Name: kustomize-wrapper
Version: 0.2.0
Summary: A wrapper for Kustomize and related tooling.
Home-page: https://github.com/painless-software/kustomize-wrapper
Author: Peter Bittner
Author-email: peter@painless.software
License: Apache
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: System :: Networking
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: click

Kustomize Wrapper
=================

[![latest-version](
  https://img.shields.io/pypi/v/kustomize-wrapper.svg)](
  https://pypi.org/project/kustomize-wrapper)
[![kustomize](
  https://img.shields.io/badge/kustomize-v3.5.4-5d8bee.svg?logo=kubernetes)](
  https://github.com/kubernetes-sigs/kustomize/releases)
[![kubeval](
  https://img.shields.io/badge/kubeval-0.14.0-3f51b5.svg?logo=kubernetes)](
  https://github.com/instrumenta/kubeval/releases)
[![travis-build](
  https://img.shields.io/travis/painless-software/kustomize-wrapper/master.svg?logo=travis)](
  https://travis-ci.org/painless-software/kustomize-wrapper)
[![python-support](
  https://img.shields.io/pypi/pyversions/kustomize-wrapper.svg)](
  https://pypi.org/project/kustomize-wrapper)
[![license](
  https://img.shields.io/pypi/l/kustomize-wrapper.svg)](
  https://github.com/painless-software/kustomize-wrapper/blob/master/LICENSE)

A wrapper for the Kubernetes Kustomize tool and related tooling.

- More readable one-liners
- Automatic linting (with integrated `kubeval`)
- Easy installation with `pip` (e.g. in combination with `tox`)

Installation
------------

```console
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:
```yaml
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:
```yaml
lint:
  script:
  - kustomize deployment/overlays/* --lint strict
```

Instead of:
```yaml
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:
```yaml
production:
  script:
  - kustomize deployment/overlays/production
      --edit deployment/base set image IMAGE="foobar/application:${CI_COMMIT_SHA}"
      --apply
```

Usage
-----

```console
kustomize --help
```

Philosophy:

- Build and lint by default
- Kustomize commands become CLI options
- Kubeval options become values of `--lint` option


