Skip to main content

Generic templated configuration management for Kubernetes, Terraform and other things

Project description

Kapitan: Configuration Management for Kubernetes, Terraform, and Infrastructure

Test, Build and Publish docker image Python Version Downloads Docker Pulls Releases Docker Image Size

Kapitan logo

Kapitan is an open source configuration management tool for Kubernetes, Terraform, and complex infrastructure systems. It helps teams generate, organize, reuse, and validate configuration across environments using an inventory-driven model, templates (Jsonnet, Jinja2, Kadet), and integrations with Helm, Kustomize, CUE, and external references.

Kapitan provides native secrets management (GPG, AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault) and is designed for Platform Engineering and GitOps workflows.

What is Kapitan?

Kapitan lets you model infrastructure configuration with reusable inventory classes and targets, then compile that data into manifests, scripts, documentation, and Terraform resources. Instead of copying values across Helm values files, Kustomize overlays, and Terraform variables, you define everything once in the Kapitan inventory and let each input type generate the files it needs.

Install Kapitan

Docker (recommended)

docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan -h

On Linux you can add -u $(id -u) to docker run to preserve file permissions.

Pip

Kapitan needs Python 3.10 or newer.

Install Python 3

  • Linux: sudo apt-get update && sudo apt-get install -y python3-dev python3-pip python3-yaml git
  • Mac: brew install python3 libyaml git

Install Kapitan

User ($HOME/.local/lib/python3.x/bin on Linux or $HOME/Library/Python/3.x/bin on macOS):

pip3 install --user --upgrade kapitan

System-wide (not recommended):

sudo pip3 install --upgrade kapitan

Build Kapitan

Docker

To build a docker image for the architecture of your machine, run docker build . -t you-kapitan-image, and to build for a specific platform, add --platform linux/arm64.

To build a multi-platform image (as the CI does), follow the docker multi-platform documentation.

To build a docker image using a specific python version, run docker build --build-arg PYTHON_BUILDER_VERSION=<python-version> . -t you-kapitan-image. By default the Dockerfile is pinned using python 3.11 as the python builder version.

Related projects

  • Tesoro - Kubernetes Admission Controller for Kapitan Secrets
  • Kapitan Reference - our reference repository to get started with Kapitan

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

kapitan-0.35.2.dev9.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kapitan-0.35.2.dev9-py3-none-any.whl (150.7 kB view details)

Uploaded Python 3

File details

Details for the file kapitan-0.35.2.dev9.tar.gz.

File metadata

  • Download URL: kapitan-0.35.2.dev9.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kapitan-0.35.2.dev9.tar.gz
Algorithm Hash digest
SHA256 9328e5d65cab8b7f772d2648f338c419ed733fe8bef9e1b6305e46727b9901cc
MD5 6e1987d58ca6ab03404ea214c0c16a18
BLAKE2b-256 9b90dafee6f28af0c1bbf901e833142eb4323fc36e1b4cba85f7e9e2e86b0d2b

See more details on using hashes here.

File details

Details for the file kapitan-0.35.2.dev9-py3-none-any.whl.

File metadata

  • Download URL: kapitan-0.35.2.dev9-py3-none-any.whl
  • Upload date:
  • Size: 150.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kapitan-0.35.2.dev9-py3-none-any.whl
Algorithm Hash digest
SHA256 1c4d9e75f5db7885533d8fd7ddef9aa84ee7659e0a922f1ffef861896be0ed2a
MD5 2846ef214291bfb3ed64e8e5bb08da9a
BLAKE2b-256 d463b8394eb9651ce71bd5b2e812c9e69e0acc2f454076465a820c2742b427af

See more details on using hashes here.

Supported by

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