about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
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
2017-02-08 docs: Update README with 'delete' commandVincent Ambo1-0/+1
2017-02-08 feat main: Add 'delete' commandVincent Ambo1-0/+22
2017-02-08 fix templater & ctx: Correctly check resource set parentVincent Ambo2-3/+4
2017-02-08 fix templater: Guard against empty parent referenceVincent Ambo1-1/+1
2017-02-08 fix context: Set sub resource names correctlyVincent Ambo1-0/+1
2017-02-08 feat context: Add support for resource set collectionsVincent Ambo2-5/+29
A resource set collection is a resource set with an addition 'include' array configured. It is a short-hand for importing multiple resource sets from the same folder and for excluding/including them as a group. See https://github.com/tazjin/kontemplate/issues/9 for more information. Closes #9
2017-02-08 docs: Update README with new optionsVincent Ambo1-1/+11
2017-02-08 feat templater: Add ability to exclude resource setsVincent Ambo2-29/+62
* renamed --limit to --include (-i) * added --exclude (-e) Kontemplate users can now explicitly include and exclude certain resource sets. Excludes always override includes. Closes #11
2017-02-08 feat main: Add replace support & respect context settingVincent Ambo1-22/+53
* Adds support for calling `kubectl replace` (necessary for resource types that do not support `apply`). * Sets `kubectl` context to whatever is defined in the cluster configuration file
2017-02-08 docs: Update README for 'apply' commandVincent Ambo1-12/+20
2017-02-08 feat main: Add apply commandVincent Ambo1-27/+91
This integrates support for actually calling out to `kubectl apply`. A dry-run flag is implemented, too. The `run` command has been renamed to `template`.
2017-02-08 feat template: Add additional template functionsVincent Ambo1-1/+13
This adds the Go template functions from [sprig][] as well as a custom `json` function that can interpolate any data as a JSON object - very useful for adding arrays of data in JSON format into a variable: ``` certificateDomains: - oslo.pub - tazj.in annotations: acme/certificate: {{ .certificateDomains | json }} annotations: acme/certificate: ["oslo.pub", "tazj.in"] ``` [sprig]: https://godoc.org/github.com/Masterminds/sprig
2017-02-08 docs: Add generated 'kontemplate run' helpVincent Ambo1-0/+12
2017-02-08 docs: Add usage & installation sectionsVincent Ambo1-1/+18
2017-02-08 fix templater: Guard against empty values mapVincent Ambo1-0/+5
2017-02-08 docs: Add YAML to docsVincent Ambo2-17/+24
2017-02-08 feat context: Add YAML loading supportVincent Ambo1-1/+14
Closes #5
2017-02-08 Merge pull request #7 from tazjin/feat/travisVincent Ambo5-40/+108
Enable Travis.CI builds
2017-02-08 docs: Add build statusVincent Ambo1-0/+2
2017-02-08 feat build: Add Travis.CI supportVincent Ambo1-0/+1
2017-02-08 feat main: Add proper CLI supportVincent Ambo3-40/+105
Adds a basic CLI structure with a single "run" command that takes a --file (-f) and --limit (-l) flag. --limit can be used to only output certain resource sets. Closes #4
2017-02-08 chore: Add LICENSEVincent Ambo1-0/+21
Open code under MIT license.