Generic templated configuration management for Kubernetes, Terraform and other things


Keywords
jsonnet, kubernetes, reclass, jinja, aws-kms, declarative, devops, devops-tools, docker, gcp-kms, gitops, gpg, jinja2, jinja2-templates, kapitan, kubernetes-cluster, kubernetes-manifests, orchestration, python, python3, terraform
License
Apache-2.0
Install
pip install kapitan==0.29.0rc1

Documentation

Kapitan: Generic templated configuration management for Kubernetes, Terraform and other things

Build Status

Kapitan is a tool to manage complex deployments using jsonnet, kadet (alpha) and jinja2.

Use Kapitan to manage your Kubernetes manifests, your documentation, your Terraform configuration or even simplify your scripts.

Community

How is it different from Helm? Please look at our FAQ!

Main Features

  • Use the Inventory as the single source of truth to tie together deployments, resources and documentation. based on reclass
  • Use Jsonnet or Kadet (alpha) to create json/yaml based configurations (e.g. Kubernetes, Terraform);
  • Use Jinja2 to create text based templates for scripts and documentation;
  • Manage secrets with GPG, AWS KMS or gCloud KMS and define who can access them, without compromising collaboration with other users.
  • Create dynamically generated documentation about a single deployment (i.e. ad-hoc instructions) or all deployments at once (i.e. global state of deployments)

Quickstart

See https://kapitan.dev/#quickstart

Documentation

See https://kapitan.dev/ or docs/README.md in the source code.

Credits

Related projects