This repository has been archived by the owner on May 22, 2020. It is now read-only.
WIP: simple configuration & metaconfiguration tool #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@mikedanese here is an example of a much simpler way to specify configuration. We have a simple go installer program, that walks a directory tree, and interprets that as task (ala Salt or Ansible). We have tasks that are a little smarter / more specialized for our use case than Salt or Ansible, such that most of the complexity here goes away.
So here we have a zero-dependency installer, with a very readable (IMO) installation specification. There are obviously still issues to resolve, e.g. the generation of options is funky, but I think we could use jsonnet for that.
The nice thing here is that this "filesystem tree as specification" is simple enough that it would be trivial to transform this into salt, ansible, or whatever people want.
But, at the same time, by having a simple golang tool that works without external dependencies we can package this however we want - in a container, running directly on the host, running over SSH/SFTP etc.