Skip to main content

Kasane

Build Status Coverage Status

kasane [ 重ね ] (n.) pile; heap; layers

This is not an official Google product

Kasane is a layering tool for kubernetes. It allows you to use the officially published YAML documents and extend them further with your local configuration.

Kasane can utilise Jsonnet for deep object modification and patching.

Installation

Kasane requires Python 3+. Install via pip:

pip install kasane

Installation via Homebrew:

brew tap google/kasane https://github.com/google/kasane.git
brew install google/kasane/kasane

Running from a Docker container

You can run kasane from a docker container, the official image is gcr.io/kasaneapp/kasane. The image is based on alpine and comes pre-packaged with bash, curl, git and kubectl in addition to kasane itself. The workdir is set to /app and the default command is kasane show so you can quickly examine your local Kasanefiles like this:

$ docker run --rm -ti -v $PWD/examples/03-environment:/app gcr.io/kasaneapp/kasane
config:
  defaultFlag: UNRESOLVED_ENV_VAR__DEFAULT_VALUE
  defaultFromKasanefile: value
  jsonnetEnv: UNRESOLVED_ENV_VAR__OTHER_VALUE
kind: VendoredObject
metadata:
  name: PreconfiguredObject

Tagged builds for versions starting with 0.1.4 are also available as e.g. gcr.io/kasaneapp/kasane:0.1.4.

Examples

  • Simple Layers is an introduction to kasane features.
  • Jsonnet Transformations shows how to use Jsonnet to transform objects.
  • Environment explains how to use the external environment for customized pipelines.
  • Complex Service shows all the features together by using the upstream configuration for kubernetes dashboard, adding an ingress, and optionally enabling istio sidecar.

Similar tools

Helm

Helm is fully-featured package management solution for kubernetes. Compared to it, kasane is a swiss army knife. It's simple, lightweight, doesn't install helper code into your production. Kasane allows you to use original YAML files written by application authors, modifying them to your local needs. If you see a kubectl apply -f http:// example you can turn it into a Kasane deployment with a single line of code and then extend it to your needs.

Kasane doesn't do any templating, relying on Jsonnet for data manipulation. You won't ever need to count number of spaces to make sure your yaml go template is rendered correctly.

Ksonnet

Kasane is similar to Ksonnet but is much simpler to use. Kasane allows to re-use original YAML files and minimizes amount of custom Jsonnet code you need to write. Most of the time your Kasane project would consist of a Kasanefile and single yaml or jsonnet file. Still, Kasane allows runtime flexibility with conditional layers and custom environment.

License

Kasane is distributed under Apache-2 license. See the contributing guidelines on how you can contribute to the project.

Metadata

Release files for kasane 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kasane 0.1.5
File Size Uploaded Provenance
kasane-0.1.5.tar.gz 8.3 kB Without provenance Details

Release files / kasane-0.1.5.tar.gz

Download URL kasane-0.1.5.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
19782bb99d1dffd8170ff0eea2bc964f659e16eb9001fafd5c2b1a64141cc7c0
BLAKE2b-256 checksum
How to use checksums
d5ff14166e3eb1edb82e13d77389a8f6efe6c71656cc02e6b32f15b6f05b9ab2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

Security for kasane 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page