ktmpl
ktmpl is a tool for processing Kubernetes manifest templates. It is a very simple client-side implementation of the Templates + Parameterization proposal.
Synopsis
ktmpl 0.1.0
Produces a Kubernetes manifest from a parameterized template
USAGE:
ktmpl [FLAGS] [OPTIONS] <template> [--]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-p, --parameter <parameter>... Key-value pair used to fill in the template's parameters in the format key=value
ARGS:
<template> Path to the template file to be processed
Usage
Run ktmpl TEMPLATE where TEMPLATE is a path to a Kubernetes manifest template in YAML format.
The included example.yml is a working example template.
To provide values for template parameters, use the --parameter option to supply key-value pairs.
Using the provided example.yml, this would mean:
Template parameters that have default values can be overridden with the same mechanism.
The processed template will be output to stdout, suitable for piping into a kubectl command:
|
Installing ktmpl
Cargo
cargo install ktmpl
Precompiled binary
Docker
docker pull inquicker/ktmpl
Building from source
- Install the appropriate version of Rust for your system.
- Run
git clone git@github.com:InQuicker/ktmpl.git. - Inside the freshly cloned repository, run
cargo install --path ..
Make sure Cargo's bin directory is added to your PATH environment variable.
Development
To package the current release for distribution, update TAG in the Makefile and then run make.
Release artifacts will be written to the dist directory.
Docker images for inquicker/ktmpl and inquicker/ktmpl:$TAG will be created, but you must push
them manually.
Your GPG secret key will be required to sign sha256sums.txt.
Legal
ktmpl is released under the MIT license. See LICENSE for details.