docs: Add initial WIP README
This commit is contained in:
		
							parent
							
								
									b11478212a
								
							
						
					
					
						commit
						aff2f7ac1d
					
				
					 1 changed files with 45 additions and 0 deletions
				
			
		
							
								
								
									
										45
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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.
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue