Skip to main content

Kustomize for Kubernetes, but in Python

Project description

Build your Kubernetes manifests for Kustomize in Python!

https://img.shields.io/pypi/v/kustomize.svg https://img.shields.io/pypi/pyversions/kustomize.svg https://img.shields.io/travis/yougov/python-kustomize/master.svg

Overview

The reason for this project to exist is to make it easier to create dynamic manifests to be exported for usage in Kubernetes’ “Kustomize” tool. And, by using Python and supporting the “dataclasses” language feature, it also helps reducing boilerplate by encouraging code reuse.

Kustomize, by itself, is already a very powerful tool, and it’s possible to deal with different apps and environments by using the “overlays” approach; but it’s not dynamic enough if you need to define manifests parameters through environment variables, for example. So this project aims to cover that gap.

A complement for Kustomize

This project is by no means a replacement for Kustomize, but rather a complement. The idea is to generate kustomization files from Python files, and then use kubectl apply -k or kustomize build to transform them into final manifests for Kubernetes (even applying them to the cluster).

In other words, the idea is to “compile” Python files into Kustomize files, then just use Kustomize for the rest of the deployment.

Installing

This package will be available as kustomize; you may install it with pip, for example:

$ pip install kustomize

Usage

The summary is:

  1. You write a source directory with Python files representing the Kustomize files (see directories at python-kustomize/tests/fixtures/);

  2. You run:

    $ pykustomize <source-dir> <dest-dir>

    where <dest-dir> will be the directory where Kustomize YAML files will be put at;

  3. Then you can apply the generated Kustomize files into your cluster:

    $ kubectl apply -f <dest-dir>

    and done!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kustomize-0.1.2.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

kustomize-0.1.2-py2.py3-none-any.whl (29.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file kustomize-0.1.2.tar.gz.

File metadata

  • Download URL: kustomize-0.1.2.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.0

File hashes

Hashes for kustomize-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ff9f75e28936fb157c628ca4fa71bfa82c9da73514c42ca24c5f35d0ee896b3b
MD5 9f625d3a09bb662b86b7adffaff5a35b
BLAKE2b-256 384cd6d6925fa77b0ded15f9c5c76266fec5d72d4a9a3050cbe4800dd3ca3960

See more details on using hashes here.

File details

Details for the file kustomize-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: kustomize-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.0

File hashes

Hashes for kustomize-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c1757f9787100202d3f023659373646a612a46036533e404d0c09a79d55667d0
MD5 14c65f1cdb2bf85c3dce3f26c8d8b2b6
BLAKE2b-256 e8f82ff5d7e409570c5ce2313ec15f26054c3ad6b5860e374a16cc6c7db439eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page