diff options
author | Vincent Ambo <tazjin@gmail.com> | 2017-02-08T10·50+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@gmail.com> | 2017-02-08T10·50+0100 |
commit | aff2f7ac1de0e285b786b33b1b39905b6ecadd1f (patch) | |
tree | 3b40a9f5722a3ed4a25759f2c317f9d0915ca5d2 | |
parent | b11478212a6ca8c2efa42378614252628db2e9f5 (diff) |
docs: Add initial WIP README
-rw-r--r-- | README.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 000000000000..f9172283297c --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +KonTemplate - A simple Kubernetes templater +=========================================== + +I made this tool out of frustration with the available ways to template Kubernetes resource files. All I want out of +such a tool is a way to specify lots of resources with placeholders that get filled in with specific values, based on +which context (i.e. k8s cluster) is specified. + +## Overview + +KonTemplate lets you describe resources as you normally would in a simple folder structure: + +``` +. +├── prod-cluster.json +└── some-api + ├── deployment.yaml + └── service.yaml +``` + +This example has all resources belonging to `some-api` (no file naming conventions enforced at all!) in the `some-api` +folder and the configuration for the cluster `prod-cluster` in the corresponding file. + +Lets take a short look at `prod-cluster.json`: + +```json +{ + "context": "k8s.prod.mydomain.com", + "include": [ + { + "name": "some-api", + "values": { + "importantFeature": true, + "apiPort": 4567 + } + } + ] +} +``` + + +Those values are then templated into the resource files of `some-api`. + +## Usage + +You must have `kubectl` installed to use KonTemplate. |