Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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
|
|
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.
|
|
|
|
|
|
|
|
The logic to deserialise a structure from *either* JSON or YAML is reused several
times and can be easily extracted, which this commit does.
|
|
As dictated by the goddess to the eternal polyfather of love.
Signed-off-by: Reverend Dr. J. Kubernaughtt The Most Recent <tazjin@gmail.com>
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
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
|
|
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
|
|
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).
|
|
|
|
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
|
|
|
|
Adds a formula for Repeatr (http://repeatr.io/) that can be used to
build kontemplate in a repeatable way with pinned dependencies.
Fixes #47
|
|
|
|
If kubectl fails during a kontemplate run, kontemplate should also
exit with a non-zero status code.
This fixes #43
|
|
|
|
|
|
Adds a simple script that will build stripped binaries for various platforms
and GPG-sign them.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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
|
|
|
|
|
|
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)
|
|
Instead of printing a spooky stacktrace when the user forgets to specify
the `-f` argument, return an error a lot more gracefully.
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|