From c2a8f8784f9500056a3abf966168262784c07a1f Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Mon, 8 May 2017 10:32:58 +0200 Subject: docs: Add more information to README --- README.md | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index fbbbcf6069..eb677ea4b1 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,15 @@ Kontemplate - A simple Kubernetes templater [![Build Status](https://travis-ci.org/tazjin/kontemplate.svg?branch=master)](https://travis-ci.org/tazjin/kontemplate) -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. +Kontemplate is a simple CLI tool that can take sets of Kubernetes resource +files with placeholders and insert values per environment. + +This tool was made because in many cases all I want in terms of Kubernetes +configuration is simple value interpolation per environment (i.e. Kubernetes +cluster), but with the same deployment files. + +In my experience this is often enough and more complex solutions such as +[Helm][] are not required. ## Overview @@ -37,7 +43,32 @@ include: apiPort: 4567 ``` -Those values are then templated into the resource files of `some-api`. +Those values are then templated into the resource files of `some-api`. That's it! + +You can also set up more complicated folder structures for organisation, for example: + +``` +. +├── api +│   ├── image-api +│   │   └── deployment.yaml +│   └── music-api +│   └── deployment.yaml +│   │   └── default.json +├── frontend +│   ├── main-app +│   │   ├── deployment.yaml +│   │   └── service.yaml +│   └── user-page +│   ├── deployment.yaml +│   └── service.yaml +├── prod-cluster.yaml +└── test-cluster.yaml +``` + +And selectively template or apply resources with a command such as +`kontemplate apply test-cluster.yaml --include api --include frontend/user-page` +to only update the `api` resource sets and the `frontend/user-page` resource set. ## Installation @@ -89,4 +120,6 @@ kontemplate apply example/prod-cluster.yaml --dry-run # And actually apply it if you like what you see: kontemplate apply example/prod-cluster.yaml -``` \ No newline at end of file +``` + +[Helm]: https://helm.sh/ \ No newline at end of file -- cgit 1.4.1