Skip to content
This repository has been archived by the owner on Dec 21, 2019. It is now read-only.

Releases: tazjin/kontemplate

Version 1.8.0

04 Sep 11:04
v1.8.0
Compare
Choose a tag to compare

This release of Kontemplate comes with the following improvements:

  • Add an insertTemplate function that works similarly to insertFile, but applies templating against the file before inserting it.

    Thanks to @judev for contributing this feature.

  • Ensure insertFile and insertTemplate act relative to resource set locations.

    Previously these functions acted relative to the working directory, which broke the ability to call kontemplate on a cluster file independent of the location.

  • Dependencies have been updated

    This includes sprig and any new functions that might have been added in it, as well as the base tooling for the publicly available container image.

Release binaries are signed with GPG key 66F505681DB8F43B which is verified on my Github profile. They are built repeatably and reproducibly using Nix.

Version 1.7.0

15 Aug 19:14
v1.7.0
Compare
Choose a tag to compare

This release of Kontemplate comes with the following improvements:

  • Value merging logic has been rewritten to be more explicit. This fixes a regression (#142 and #153) that occured in version 1.6.0.

    Please see #147 for implementation details.

    From now on the precedence of variable overrides will follow this precedence hierarchy (in ascending order):

    1. Default values in resource sets.
    2. Values imported from files (via import:)
    3. Global values in a cluster configuration
    4. Values set in a resource set's include-section
    5. Explicit values set on the CLI (--var)

    Thanks to @tommyJimmy87, @merlineus and @Artii for providing feedback on this change!

  • The template function default has been replaced with a new implementation that actually works in the absence of values, which previously caused an error in the templating engine due to the way it is configured. (#148)

    Thanks to @phillipj for contributing this change!

  • A new --kubectl command-line flag can be used to specify which kubectl executable should be invoked by Kontemplate (#145)

  • An issue preventing variables specified on the CLI from containing a =-character has been fixed. (#144)

  • Dependencies have been updated, which means that new template functions from sprig are now available. Please consult their changelog and function overview for more information.

Release binaries are signed with GPG key 66F505681DB8F43B which is verified on my Github profile. They are built repeatably and reproducibly using Nix.

Version 1.6.0

09 Jun 19:57
v1.6.0
Compare
Choose a tag to compare

This release of Kontemplate comes with the following improvements:

  • Variables can now be specified explicitly on the command line using one or more --var foo=bar flags. Variables specified in this way have the highest precedence and will override values set in other places.

    Thanks to @phillipj for contributing this feature; and to @n0madic for originally suggesting it!

  • File paths for additional variable imports can now point at absolute files.

    This change lets users specify absolute file paths in the import directive of a cluster configuration.

    In addition to referencing files in other locations on a disk this also gives users the ability to specify "special" paths such as, for example, /dev/stdin to load additional variables (in JSON or YAML format) from kontemplate's standard input.

    Thanks to @cellofellow for nudging me in the right direction to get this implemented!

  • Resource sets can now have their path set to point at a single template file.

    Instead of having to create a hierarchy of directories just to template a single file, users can now include a single template file by setting the path value appropriately:

    Example:

    context: some-context
    include:
      - name: some-resource
        path: some-resource.yaml

    This will template the file some-resource.yaml from the same folder as the context configuration itself.

  • Some code has been refactored to make the hierarchy of variable merges more explicit.

Release binaries are signed with GPG key 66F505681DB8F43B which is verified on my Github profile. They are built repeatably and reproducibly using Nix.

In other notes I would like to mention that I am not currently using Kubernetes in any of my own projects as I find that the complexity of the project has tipped in a direction that I am not comfortable with.

This does not mean that kontemplate is unmaintained in any way as the tool is generally applicable for use-cases other than Kubernetes resource templating, too.

Future versions of the project may brand it slightly more in the direction of a general-purpose templater, however Kubernetes-specific functionality will not be removed.

Please keep the issues & pull requests coming & thanks for using Kontemplate!

Version 1.5.0

08 May 09:39
Compare
Choose a tag to compare

This release of Kontemplate features two new features contributed by
users:

  1. A new template function called gitHEAD has been added to
    Kontemplate. This function inserts the git hash of, you guessed it,
    the HEAD of the git repository containing the template files.
    Thanks to @noqcks for contributing this feature!

  2. The kontemplate template subcommand now supports a new flag
    called --output (-o for short) which lets the user determine a
    directory in which templated files should be placed. This feature
    is potentially useful for multi-step templating or use-cases not
    related to Kubernetes at all. Thanks to @salkin for contributing
    this feature!

Release binaries are signed with GPG key 66F505681DB8F43B which is
verified on my Github profile.

Version 1.4.0

17 Mar 22:02
v1.4.0
Compare
Choose a tag to compare

This release comes with some operational project changes, fixes and
new features:

  • A new fileContent template function can be used to insert the
    literal contents of a file in the resource set folder into a
    template.

    This is useful to, for example, include literal config files in a
    Kubernetes ConfigMap.

  • Kontemplate releases are now built using Nix.
    This makes it trivial for Linux users with a Nix installation to
    reproduce the release binaries.

  • The project has been relicensed under the GPLv3. This change has no
    effect for most users.

In addition to these changes some documentation has been fixed up and
a (WIP) example project for a Kontemplate deployment pipeline using
Gitlab CI is available on gitlab.com.

Release binaries are signed with GPG key 66F505681DB8F43B which is
verified on my Github profile.


A personal note: There wasn't supposed to be another release of the
Go-version of this project, but some plans had to be pushed back due
to personal issues. Some related emotional baggage has also been
removed from this project.

Version 1.3.0

04 Nov 12:22
v1.3.0
Compare
Choose a tag to compare

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 to continue on this path.

You can track #72 for the Rust-rewrite of Kontemplate.

Version 1.2.0

22 Aug 17:32
v1.2.0
f8b6ad6
Compare
Choose a tag to compare

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.

Release version 1.1.0

11 Jun 21:46
v1.1.0
Compare
Choose a tag to compare

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.

Release binaries are signed with GPG key 66F505681DB8F43B which is verified on my Github profile.

Release v1.0.2

18 May 17:46
v1.0.2
Compare
Choose a tag to compare

This release contains no functional changes, but the attached build binaries are built repeatably as per #48.

This fixes an issue in which differing versions of the sprig templating library would cause different behaviours.

Release binaries are signed with GPG key 66F505681DB8F43B which is verified on my Github profile.

Release v1.0.1

08 May 12:31
v1.0.1
Compare
Choose a tag to compare

As is - of course! - tradition a small problem (#43) came up shortly after the
v1.0 release.

Fixes & features included in v1.0.1:

  • a brand-new PKGBUILD for Arch Linux (it builds from git)
  • fixed an issue where kontemplate would not fail if kubectl failed.

Signed binaries are attached for Linux, OS X, Windows and FreeBSD.