about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2017-07-13 refactor templater: Use resource set 'path' field when loading filesVincent Ambo1-2/+3
2017-07-13 feat context: Allow overriding resource set pathsVincent Ambo4-5/+105
Instead of always inferring the path at which files in a resource set are located, let users override the path by specifying a `path` field. This makes it possible to add the same resource set multiple times with different values while still keeping distinct names for addressability (for example when using include/exclude). This fixes #70
2017-07-03 feat context: Add ability to import extra variables from filesVincent Ambo6-4/+96
Kontemplate context specifications can now load extra variables from YAML or JSON files by specifying a list of files (relative to the context file) under the `import` key.
2017-07-03 feat build: Test if 'go fmt' has been appliedVincent Ambo1-0/+1
2017-07-03 feat build: Run go vet before buildingVincent Ambo1-0/+3
2017-07-03 fix main: Correctly print kubectl errorsVincent Ambo1-1/+1
2017-07-03 refactor context: Extract loadJsonOrYaml to util packageVincent Ambo2-29/+30
The logic to deserialise a structure from *either* JSON or YAML is reused several times and can be easily extracted, which this commit does.
2017-06-22 docs: Add official code of conductDr. J. Kubernaught2-0/+26
As dictated by the goddess to the eternal polyfather of love. Signed-off-by: Reverend Dr. J. Kubernaughtt The Most Recent <tazjin@gmail.com>
2017-06-11 chore: Update Brew formula & Dockerfile to 1.1.0Vincent Ambo3-5/+5
2017-06-11 chore: Release version 1.1.0Vincent Ambo3-3/+3
This release features some cleanup and under-the-hood changes, as well as "ecosystem-features" that don't directly affect the way Kontemplate itself functions. * Resource-sets are now passed on to kubectl in individual invocations. This means that kubectl errors can be scoped to individual resource set files and issues such as #51 are less of a problem. * A Dockerfile is provided and published at `tazjin:kontemplate` on Docker Hub. This image contains `kontemplate`, `kubectl` and `pass` and can be used - for example - as an image for a step in a CI system. * Kontemplate is now available on Homebrew, check the README for installation instructions. * If different resource sets don't contain `---` separators in YAML, `kubectl` calls will no longer fail. (#51) * Autocompleted trailing slashes in shells are now filtered from include & exclude lists to enhance the CLI experience slightly.
2017-06-11 chore: Update dependenciesVincent Ambo1-3/+3
2017-06-11 feat: Add shell script to check if dependencies are up-to-dateVincent Ambo1-0/+29
2017-06-11 fix templater: Ignore slash-suffixes on includes/excludesVincent Ambo1-0/+1
To prevent situations where a shell auto-appends a slash to an include/exclude specification on the CLI, trailing slashes in those string lists are now trimmed. This fixes #54
2017-06-11 fix main: Fix 'kontemplate template' outputVincent Ambo2-6/+9
2017-06-11 refactor main: Call kubectl individually per resource setVincent Ambo1-17/+24
Instead of passing the rendered output of all resource sets to kubectl simultaneously, build upon the previous commit and pass resource sets individually to new instances of kubectl. This resolves #51
2017-06-11 refactor templater: Add intermediate type to represent rendered RSesVincent Ambo1-14/+35
As a first step in resolving #51 this refactors the `templater` package to return rendered resource sets as a distinct type. This also fixes #56
2017-06-07 feat image: Add Dockerfile for CI pipeline imageVincent Ambo3-0/+28
Adds a simple Docker image that can be used in CI pipelines to deploy `kontemplate`-based environments. This image contains kontemplate and all of its dependencies (including pass as an optional dependency).
2017-05-18 docs README: Update installation instructionsVincent Ambo1-3/+24
2017-05-18 feat build: Add Homebrew binary formulaVincent Ambo1-0/+13
Adds a Homebrew formula that downloads and installs the 1.0.2 binary release. Users should be able to "tap" this formula from OS X, the README will be updated in a separate commit. This fixes #41
2017-05-18 chore: Version bump to 1.0.2Vincent Ambo3-5/+3
2017-05-18 feat build: Add Repeatr formula for repeatable buildsVincent Ambo1-0/+83
Adds a formula for Repeatr (http://repeatr.io/) that can be used to build kontemplate in a repeatable way with pinned dependencies. Fixes #47
2017-05-08 fix main: Print information about kubectl errorsVincent Ambo1-4/+20
2017-05-08 fix main: Exit with kubectl status codeVincent Ambo2-5/+3
If kubectl fails during a kontemplate run, kontemplate should also exit with a non-zero status code. This fixes #43
2017-05-08 docs: Mention AUR package in READMEVincent Ambo1-0/+3
2017-05-08 feat build: Add ArchLinux PKGBUILDVincent Ambo2-0/+39
2017-05-08 feat release: Add simple release scriptVincent Ambo3-1/+60
Adds a simple script that will build stripped binaries for various platforms and GPG-sign them.
2017-05-08 feat main: Add version commandVincent Ambo1-0/+17
Adds a version command that can have the Kontemplate git hash added to it at build time by using the Go linker's -X flag.
2017-05-08 docs: Add note about binary releases to READMEVincent Ambo1-1/+4
2017-05-08 docs: Add more information to READMEVincent Ambo1-5/+38
2017-05-08 docs: Add some tips and tricksVincent Ambo1-0/+67
2017-05-08 docs: Document template formatVincent Ambo2-0/+91
2017-05-04 docs README: Update usage examples for kingpin CLIVincent Ambo1-28/+28
2017-05-04 refactor main: Move to Kingpin CLI libraryVincent Ambo1-152/+84
Replace urfave/cli with the kingpin[1] library. It has slightly more sensible argument validation than the other Go libraries. Additionally I've opted for removing the '-f / --file' flag in favour of positional arguments to commands. A previous command like `kontemplate template -f somefile.yml` is now just `kontemplate template somefile.yml`. All other arguments remain the same. [1]: https://github.com/alecthomas/kingpin
2017-05-04 feat templater: Warn if no valid resource sets are includedVincent Ambo1-0/+5
After filtering resource sets, check whether any resource sets "survived". Otherwise it can be assumed that the user specified invalid exclude/include combinations and should be warned about that. Fixes #35
2017-04-04 fix test: Assert variable override orderVincent Ambo1-0/+5
2017-04-04 fix templater: Don't try to template default value filesVincent Ambo1-1/+5
2017-04-04 feat context: Support resource set default valuesVincent Ambo4-3/+65
This adds functionality to specify default values directly in resource sets. The idea is that users can create a file called `values.yaml` or `values.json` in a resource set's folder and have all variables specified in that file be automatically merged into the resource set variables with the lowest priority. This fixes #25 This fixes #30 (to a degree)
2017-04-04 fix main: Don't panic if file is unspecifiedVincent Ambo1-4/+14
Instead of printing a spooky stacktrace when the user forgets to specify the `-f` argument, return an error a lot more gracefully.
2017-04-04 feat templater: Fail if values are missingVincent Ambo3-1/+21
Golang's template package now has an option for failing if template variables are missing: https://golang.org/pkg/text/template/#Template.Option This updates the templater code to make use of that option and return the errors encountered during templating. This fixes #1
2017-02-20 style: Apply go fmtVincent Ambo3-4/+3
2017-02-20 fix pass: Trim leading & trailing whitespaceVincent Ambo1-1/+4
2017-02-14 feat ctx: Let sub-resource-sets inherit vars from parentVincent Ambo4-0/+81
Users of kontemplate may expect variables defined on the parent resource to be inherited by children. This implements that functionality. Values defined twice are overwritten by the child's definition. Fixes #20
2017-02-14 chore templater: Use new util.Merge funcVincent Ambo1-11/+2
2017-02-14 feat util: Add silly map-merge function that should be in the stdlibVincent Ambo2-0/+99
2017-02-09 fix main: Add a forgotten error checkVincent Ambo1-1/+5
2017-02-09 feat templater: Add 'pass' lookup functionVincent Ambo3-0/+40
This introduces support for looking up secret values in the 'pass' command line tool (https://www.passwordstore.org/). Values like passwords can be interpolated from pass and even more complex structures like certificates for Kubernetes Secrets can be retrieved and base64- encoded as necessary. Fixes #2
2017-02-09 fix templater: Don't fail with two identical stack tracesVincent Ambo1-1/+2
2017-02-09 feat main: Version bump to v1.0.0-beta1Vincent Ambo1-1/+1
2017-02-08 feat templater: Add applyLimits testsVincent Ambo1-0/+138
2017-02-08 feat context: Add deserialisation testsVincent Ambo3-0/+108