rise
Powerful text interpolation. Documentation can be found here.
Note: rise is still in development and is subject to breaking changes until we reach our first major release.
Installation
Binaries
You can find binaries for the latest release on the releases page.
$ go get -u github.com/openpixel/rise
Quickstart
CLI
You can see the usage documentation for the CLI by running rise --help
.
$ rise --help
A powerful text interpolation tool.
Usage:
rise [flags]
rise [command]
Available Commands:
help Help about any command
version Print the version number of rise
Flags:
-c, --config stringSlice The files that define the configuration to use for interpolation
-h, --help help for rise
-i, --input string The file to perform interpolation on
-o, --output string The file to output
Config Files
The config files should be in hcl compatible formats. See https://github.com/hashicorp/hcl for reference. Rise loads the files using FIFO, meaning the last file to reference a key will take precedence. For example, if we had two files that looked like this:
vars.hcl
variable "i" {
value = 6
}
vars2.hcl
variable "i" {
value = 10
}
And ran the following command
$ rise ... --config vars.hcl --config vars2.hcl
The value of i
would be 10
.
Examples
Look in the examples directory for an example, including inheritance:
$ rise -i ./examples/input.json -o ./examples/output.json --config ./examples/vars.hcl --config ./examples/vars2.hcl
Coming Soon
- More interpolation methods
- Deeper documentation with examples for interpolation methods
- More configuration CLI arguments
- Support for directories as inputs/outputs
- Support for globs (eg: /tmp/*.json)
Inspiration
- hashicorp/hil - Used to perform interpolation
- hashicorp/hcl - Used as a configuration syntax for variables
- hashicorp/terraform - Inspiration for the tool. A number of the interpolation functions have been extracted directly from terraform.