about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2018-06-09 chore(image): Bump version to 1.6.0Vincent Ambo2-5/+6
* kontemplate 1.6.0 * kubectl 1.10.4
2018-06-09 chore(brew): Update Homebrew formula for 1.6.0Vincent Ambo1-3/+3
2018-06-09 fix(build): Fix shebang in build-release.shVincent Ambo1-3/+3
2018-06-09 chore: Bump version to 1.6.0Vincent Ambo2-2/+2
2018-06-09 feat(templater): Support single-template resource setsVincent Ambo3-23/+55
Supports resource sets in which the `path` is pointed at a single template file. The example has been updated with ... an example of this. This closes #81.
2018-06-09 fix(context): Global values have precedence over defaultsVincent Ambo1-2/+2
2018-06-09 feat(context): Support loading import variables from absolute pathsVincent Ambo2-11/+20
This lets users specify the paths from which to import additional variables using absolute paths in addition to relative paths. This enables both loading of configuration files placed outside of the resource set folder (if desired), as well as special use-cases such as specifying `/dev/stdin` as an input path to read variables from standard input. This change supersedes #131
2018-06-09 refactor(util): Use YAML parser for both JSON & YAML filesVincent Ambo2-13/+8
JSON is a subset of YAML and the previous detection logic is unnecessary.
2018-06-09 refactor(context): Implement more explicit merging of variablesVincent Ambo5-62/+96
The hierarchy for loading variables was previously not expressed explicitly. This commit refactors the logic for merging variables to explicitly set the different layers of variables as values on the context object and merge them for each resource set in `mergeContextValues`.
2018-06-09 feat(context): allow explicit variables to be defined as argumentPhillip Johnsen3-0/+49
These changes allows variables to be defined when executing `kontemplate` via one or more `--variable` arguments. With this in place one can either define new variables or override existing variables loaded from a file: ``` $ kontemplate apply --variable version=v1.0 example/fancy-app.yaml ``` This avoids the need to write variables into a temporary file that is only needed to provide "external variables" into resource sets. Closes https://github.com/tazjin/kontemplate/issues/122
2018-05-15 docs: Add contribution guidelinesVincent Ambo1-0/+114
This document is intended to provide some information about how to contribute to the project, from basic sanity checks and code quality to information about how to structure git commits. These are the most common things that I encounter in pull requests sent to my projects.
2018-05-08 chore(image): Bump version to 1.5.0Vincent Ambo2-4/+4
* Kontemplate 1.5.0 * kubectl 1.10.2
2018-05-08 chore(brew): Update Homebrew formula for v1.5.0Vincent Ambo1-3/+3
2018-05-08 chore: Bump version to 1.5.0Vincent Ambo2-2/+2
2018-05-08 fix(main): Use 'app.Fatalf' for fatal kubectl errorsVincent Ambo1-2/+1
2018-05-08 fix(main): Handle errors & logic when templating to directoryVincent Ambo1-7/+34
This does several changes to the new "template to directory" feature introduced in the previous commit: 1. Errors are now "handled". In classic Go-style, it is of course all too easy to do absolutely nothing with errors, but we can't have that. I'm onto you, Renee French's husband! 2. Resource sets containing similarly named files are now templated correctly by prepending the resource set name to the filename. 3. In the same vein as the previous point, nested resource sets are now also output correctly by replacing slashes (`/`) with dashes (`-`) to guarantee that the output files are a flat list. Some minor cosmetic fixes have also been applied.
2018-05-08 feat(main): Support output directories in template function.Niklas Wik1-3/+10
This introduces a new command line flag `--output` (or `-o` for short) which makes it possible to template all specified resource sets into a folder (instead of to stdout) when using `kontemplate template`.
2018-05-05 fix(templater): add baseDir to gitHead cmd so that directory is overwrittennoqcks1-8/+8
This makes it so that when gitHead is called in a template the git hash that is returned is the hash of the folder containing the template, not the hash of the folder where kontemplate is called.
2018-03-29 refactor(templater) Refactor templator to use exec.Command directly instead ↵noqcks1-1/+1
of executing in sh
2018-03-29 feat(templater) Add a template function to insert surrounding repo's Git hashnoqcks2-0/+13
A template function has been added that allows one to template the Git hash of the surrounding repo. This is useful to be able to inspect the deployment revision of an object in Kubernetes.
2018-03-17 chore(brew): Bump Homebrew formula to 1.4.0Vincent Ambo1-3/+3
2018-03-17 chore(image): Bump image version to 1.4Vincent Ambo2-5/+5
* upgrade Alpine release * upgrade kubectl to 1.9.4 * upgrade Kontemplate to 1.4.0
2018-03-17 chore: Bump version to 1.4.0Vincent Ambo2-2/+2
2018-03-17 fix(example): Add missing file to example folderVincent Ambo1-0/+4
2018-03-09 refactor: Remove old error handling libraryVincent Ambo7-78/+13
Removes the old error handling library and switches to plain fmt.Errorf calls. There are several reasons for this: * There are no useful types or handling here anyways, so output format is the only priority. * Users don't care about getting stacktraces. * My emotional wellbeing. Fin de siècle.
2018-03-09 refactor(templater): Pass resource set path to insertFile functionVincent Ambo4-33/+26
This is actually several refactors in one: * rename "fileContent" function to "insertFile" * pass the resource set path to the "insetFile" function * update docs and example with a pipeline including indentation adjustments for the inserted file
2018-03-09 feat(templater): Added support for file includeNiklas Wik4-2/+30
Adds a 'fileContent' template function to insert the literal contents of a file specified in the template. Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
2018-03-09 feat(build): Pin nixpkgs used for release buildVincent Ambo1-7/+7
Pin the nixpkgs-commit used for building the Kontemplate release to a specific commit. Kontemplate builds should now be fully repeatable (and most likely reproducible!) on any machine running Nix.
2018-03-09 feat(build): Build both derivations on TravisVincent Ambo1-0/+8
2018-03-09 chore: Remove legacy build systemVincent Ambo3-137/+0
2018-03-09 feat(build): Add Nix derivation for release buildsVincent Ambo1-0/+53
Adds a Nix derivation that produces statically linked output binaries for multiple operating systems and architectures. This requires a Nix-channel version that includes the Go 1.10 compiler.
2018-03-09 refactor(build): Add Nix derivation & configure Travis to build itVincent Ambo3-4/+154
Adds a Nix-derivation for building kontemplate with dependencies pinned in Nix.
2017-12-11 docs(cluster-config): 'context' key optional for template commandVincent Ambo1-1/+1
Thanks to @christopher376 on the Kubernetes Slack for pointing out this mistake.
2017-11-21 feat(license): Relicense under GPLv3Vincent Ambo15-25/+798
All further kontemplate source code changes and releases will happen under the GPLv3. Previous releases are still available under the MIT license.
2017-11-16 feat(image): Install git in kontemplate imageVincent Ambo1-1/+1
2017-11-07 docs(README): Remove dead linksVincent Ambo1-4/+3
Never got around to writing them and maybe they shouldn't be hanging around.
2017-11-04 chore: Bump Docker image & Homebrew release to v1.3.0Vincent Ambo3-5/+5
2017-11-04 Version 1.3.0Vincent Ambo3-3/+3
This release comes with minor usability improvements and features. * A new 'lookupIPAddr' template function is available for resolving DNS A records in templates. Thanks to @landro for the pull request! * Handling of "non-standard" resource set structures has been improved to result in better error messages and behaviour in several places. Release binaries are signed with GPG key `66F505681DB8F43B` which is verified on my Github profile. -------------- Note: This is the last Kontemplate release that will be written in Go. Rob Pike's art project has proven its point but I believe it is ethically questionable and morally indefensible to continue on this path. You can track #72 for the Rust-rewrite of Kontemplate.
2017-10-27 refactor main: Reword empty/nonexistent resource set warningVincent Ambo1-1/+1
2017-10-27 refactor templater: Add explicit note about empty-rs warningsVincent Ambo1-1/+4
Due to an interesting combination of an error not being handled and Go initialising everything with what it thinks should be the default, non-existent resource sets have been gracefully handled already. This makes this accidental fix explicit. Fixes #90
2017-10-27 fix main: Do not stop templater if a single resource set is emptyVincent Ambo1-1/+1
This fixes #91
2017-10-20 feat templater: Add IP lookup functionStefan Magnus Landrø2-0/+35
This introduces support for looking up IP addresses using local DNS resolver. Function will return a list of all IP addresses associated with hostname. Further processing can be achieved using supported list template functions.
2017-08-31 fix templater: Don't template default.yml filesVincent Ambo3-5/+8
After the change from #84 default variable files with the '.yml' extension got templated as resource set templates accidentally. This resolves the issue by moving the list reserved default file names to a common place and reusing it in both the templater and context pkg. This fixes #85
2017-08-25 fix context: Support ".yml" extension on default filesVincent Ambo1-9/+6
In other places in Kontemplate that deal with YAML files, both the ".yaml" and ".yml" extension are supported. This fixes context loading code to support that for resource set variables, too. This fixes #83
2017-08-22 chore brew: Update Homebrew formula to v1.2.0Vincent Ambo1-3/+3
2017-08-22 chore image: Bump Docker image to build v1.2.0Vincent Ambo2-4/+4
2017-08-22 Version 1.2.0Vincent Ambo3-3/+3
This release comes with some new features, usability improvements and a better build & release process. Features: * Documentation has been improved significantly, check out the new [README][] and follow the links within! * Extra variables can now be loaded from files on disk. Simply specify a list of YAML/JSON files under the 'import' key in your cluster context file. Check out #66 for details! * Resource set paths can now be overridden by users. By default it is assumed that the path to a resource set is the same as its name, however this is now user-controllable. This means the same resource set can be included multiple times under different names, for easier including/excluding. See #71 for details! * Kontemplate is currently getting a website that is under construction at [kontemplate.works][] - feel free to check it out and [give feedback][]! Fixes: * Windows release binaries now have the correct filename * Several potential warning and error messages have been improved Release binaries are signed with GPG key `66F505681DB8F43B` which is verified on my Github profile. [README]: https://github.com/tazjin/kontemplate/blob/master/README.md [kontemplate.works]: http://kontemplate.works/ [give feedback]: https://github.com/tazjin/kontemplate-website/issues
2017-08-22 feat main: Warn if resource set contains no templatesVincent Ambo1-3/+13
If a resource set is specified by the user and does _not_ contain any templates, a warning will now be printed. This fixes #79
2017-08-22 chore build: Bump dependency versionsVincent Ambo1-4/+4
Several bugfixes, nothing major. Skipped one "outdated" dependency because the only change was a new text file.
2017-08-22 refactor build: Keep GPG-signatures outside of tarballsVincent Ambo1-7/+7
Instead of signing the binary and adding the signature in the release tarball, keep the GPG-signatures *outside* of the tarball. This makes it easier to use the built-in GPG-signature verification features of package managers such as pacman.