README.md

kubecfg

A tool for managing Kubernetes resources as code.

kubecfg allows you to express the patterns across your
infrastructure and reuse these powerful "templates" across many
services, and then manage those templates as files in version control.
The more complex your infrastructure is, the more you will gain from
using kubecfg.

Yes, Google employees will recognise this as being very similar to a
similarly-named internal tool ;)

Install

Pre-compiled executables exist for some platforms on
the Github releases
page.

Infrastructure-as-code Philosophy

The idea is to describe as much as possible about your configuration
as files in version control (eg: git).

Changes to the configuration follow a regular review, approve, merge,
etc code change workflow (github pull-requests, phabricator diffs,
etc). At any point, the config in version control captures the entire
desired-state, so the system can be easily recreated in a QA cluster
or to recover from disaster.

Jsonnet

Kubecfg relies heavily on jsonnet to describe
Kubernetes resources, and is really just a thin Kubernetes-specific
wrapper around jsonnet evaluation. You should read the jsonnet
tutorial, and skim the functions available in the jsonnet std
library.