Skip to main content

Concepts

The goal is to be able to define developer-centric configurations using a single technology to run workloads in any envrionment (e.g. local, dev, staging, production) and using any vendor's offerings.

illustration

Guiding principals

Shift-left validation

Treat configurations as strongly typed and immutable data. Detect misconfigurations and unexpected behaviour as early as possible before the developer pushes code. Allow you to enforce security guardrails and internal best practices by encoding them as declarative Traits and Transformers.

Parity a-cross environments

Encourage workload definitions to be as similar as possible a-cross environments and push implementation details to the platform layer.

Configuration as Data

Simplify infrastructure as code (IaC) by reverting to treating configurations written by developers as pure data. Configuration data defined by developers is then transformed by using Transformers as simple data manipulation operations. We believe this speeds up developer on-boarding and makes debugging and detecting misconfigurations much easier at scale.

You can read more about configuration as data at the GoogleContainerTools KPT project spec here.

Freedom to define abstractions

Allow developers and platform teams to define their own abstraction layers. There is no one-size fits all abstraction to meet every organization's needs, so we must allow internal developer platform standards to evolve like software.