Commit graph

1692 commits

Author SHA1 Message Date
Vincent Ambo
a844da9351 feat(adho): Add local configuration of adho machine 2017-10-15 16:28:43 +02:00
Vincent Ambo
e2279e52c3 feat: Add initial NixOS configuration
Adds NixOS configuration to configure my base system with all sorts of things,
including - but not limited to - i3, emacs, FF57, connman and so on.

Not all of these things are fully configured yet (especially in the desktop
environment) but I'm hoping to get more of that done in the future.
2017-10-15 16:27:35 +02:00
Vincent Ambo
d53ffba198 chore: Ignore local-configuration.nix 2017-10-15 16:27:31 +02:00
Vincent Ambo
cc14d57c49 chore: Add initial .gitignore 2017-10-15 16:26:21 +02:00
Vincent Ambo
9af6f2f33a chore: Initial commit 2017-10-15 16:25:29 +02:00
Vincent Ambo
099020c176 chore: remove unused ido-related lines 2017-10-15 13:40:05 +02:00
Vincent Ambo
0fe21a4f27 feat: Switch default font to Input Mono 2017-10-15 13:30:25 +02:00
Vincent Ambo
774aea8edd feat: Switch from ido/smex to Helm 2017-10-15 13:30:10 +02:00
Vincent Ambo
bc12439cf7 chore: Remove unused misc.el 2017-10-15 13:29:36 +02:00
Vincent Ambo
8cc36e0eab feat: Add terraform-mode 2017-10-13 18:14:33 +02:00
Vincent Ambo
f83eeaf4f8 chore(clojure): Remove all Clojure settings 2017-09-27 15:04:33 +02:00
Vincent Ambo
5683eab48e refactor: Install gruber-darker-theme from package repo 2017-09-27 15:02:45 +02:00
Vincent Ambo
6107ec40d6 fix(init.el): Initialise package manager immediately 2017-09-27 15:02:33 +02:00
Vincent Ambo
b20bc5f57a fix templater: Don't template default.yml files
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-31 18:41:57 +02:00
Vincent Ambo
063a3e9d30 fix context: Support ".yml" extension on default files
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-25 14:44:24 +02:00
Vincent Ambo
8ccaab322a chore brew: Update Homebrew formula to v1.2.0 2017-08-22 20:02:10 +02:00
Vincent Ambo
4c7ff46c73 chore image: Bump Docker image to build v1.2.0 2017-08-22 20:02:10 +02:00
Vincent Ambo
f8b6ad652d
Version 1.2.0
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 19:18:14 +02:00
Vincent Ambo
d22b3694fe feat main: Warn if resource set contains no templates
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 19:08:29 +02:00
Vincent Ambo
825506d2e9 chore build: Bump dependency versions
Several bugfixes, nothing major. Skipped one "outdated" dependency
because the only change was a new text file.
2017-08-22 18:53:48 +02:00
Vincent Ambo
e8cfa9c119 refactor build: Keep GPG-signatures outside of tarballs
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.
2017-08-22 18:41:14 +02:00
Vincent Ambo
a9c450c5a3 fix build: Build Windows executable with correct name
Windows executable filenames must end in ".exe" because the operating
system can't execute them otherwise.

This fixes #73
2017-08-22 18:41:14 +02:00
Vincent Ambo
93425b951c docs: Complete cycle by linking back to kontemplate.works 2017-08-04 23:11:27 +02:00
Vincent Ambo
a159b71a19 style: Apply go fmt 2017-08-04 23:11:27 +02:00
Vincent Ambo
d7569abcca docs: Add tables of content to all documentation files 2017-08-04 23:11:27 +02:00
Vincent Ambo
4adc8f2c4c docs resource-sets: Document resource set structure
Documents the structure of resource sets and the fields necessary for including
them in cluster configurations.

Also adds some words about nested resource sets and the like.
2017-08-04 23:11:27 +02:00
Vincent Ambo
5549968958 docs cluster-config: Document cluster configuration files
Adds documentation for the YAML files describing cluster configuration.
2017-08-04 23:11:27 +02:00
Vincent Ambo
367c5d2b60 docs context: Document ResourceSet & Context struct fields 2017-08-04 23:11:27 +02:00
Vincent Ambo
14d2859720 docs templates: Document some template logic
Adds documentation for `if` and `range` statements in Go templates
and also more explicitly points people at the Go documentation for
more information.
2017-08-04 23:11:27 +02:00
Vincent Ambo
658c6a9b0c docs README: Update feature list
Adds a feature list with links to individual feature description
documents.
2017-08-04 23:11:27 +02:00
Vincent Ambo
6c2da17783
refactor: Some minor cleanups 2017-07-30 18:30:04 +02:00
Vincent Ambo
2c02c371fe
fix custom: Fix a bug and truncate theme list 2017-07-30 18:28:03 +02:00
Vincent Ambo
5e7bb55e00 refactor templater: Use resource set 'path' field when loading files 2017-07-13 16:07:08 +02:00
Vincent Ambo
7607f6dc0f feat context: Allow overriding resource set paths
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-13 16:07:08 +02:00
Vincent Ambo
9d26c17f13 feat context: Add ability to import extra variables from files
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 14:27:48 +02:00
Vincent Ambo
68e1e48459 feat build: Test if 'go fmt' has been applied 2017-07-03 14:27:48 +02:00
Vincent Ambo
8c7a3d6c30 feat build: Run go vet before building 2017-07-03 14:27:48 +02:00
Vincent Ambo
5bc6370af2 fix main: Correctly print kubectl errors 2017-07-03 14:27:48 +02:00
Vincent Ambo
3728d0ae2e refactor context: Extract loadJsonOrYaml to util package
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-07-03 14:27:48 +02:00
Dr. J. Kubernaught
e2f7cf6258 docs: Add official code of conduct
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-22 15:12:51 +02:00
Vincent Ambo
5144842e97 chore: Update Brew formula & Dockerfile to 1.1.0 2017-06-11 23:47:59 +02:00
Vincent Ambo
e2be6152f9 chore: Release version 1.1.0
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 23:47:59 +02:00
Vincent Ambo
3a2f00f29f chore: Update dependencies 2017-06-11 23:16:22 +02:00
Vincent Ambo
cf5e392baf feat: Add shell script to check if dependencies are up-to-date 2017-06-11 23:16:22 +02:00
Vincent Ambo
a7781b169d fix templater: Ignore slash-suffixes on includes/excludes
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 22:33:07 +02:00
Vincent Ambo
3cba344fbe fix main: Fix 'kontemplate template' output 2017-06-11 22:09:10 +02:00
Vincent Ambo
162b962fad refactor main: Call kubectl individually per resource set
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 22:09:10 +02:00
Vincent Ambo
f3264329b9 refactor templater: Add intermediate type to represent rendered RSes
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-11 22:09:10 +02:00
Vincent Ambo
d76ea59f4c feat image: Add Dockerfile for CI pipeline image
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-06-07 10:05:56 +02:00
Vincent Ambo
8f0949dbb2 chore: Minor sync with Dell machine config 2017-06-06 13:33:13 +02:00