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