3 releases (1 stable)
1.0.0 | Apr 9, 2023 |
---|---|
0.1.3 | May 27, 2022 |
0.1.2 | Oct 29, 2021 |
#2365 in Command line utilities
21 downloads per month
17KB
178 lines
{hocon:vert}
CLI Tool to convert HOCON
into valid JSON
or YAML
.
Under normal circumstances this is mostly not needed because hocon configs are parsed
within the application – case closed. But for example in conjunction with Kubernetes
where .conf
files can reside in ConfigMaps
there was that need to extract information
on command line from time to time. And what would be more comfortable than to use jq
for this.
Usage
hoconvert [input | --file <path>] [--output (yaml|json)]
Either provide the hocon as first argument:
hoconvert "foo = bar"
or provide it from stdin
,
echo "foo = bar" | hoconvert
which leads to the following output:
{
"foo": "bar"
}
You can also read the hocon from a file by providing the path:
hoconvert -f config.hocon
Here is an example of a real-life Kubernetes problem as stated above:
kubectl get cm <any ConfigMap> -o jsonpath='{.data.myHocon}' | jq -r | hoconvert | jq '.doWhatEverYouWant'
Installation
Install with homebrew
In case you use brew
you can install hoconvert
as follows:
brew tap maoertel/tap
brew install hoconvert
You can install from brew
for the following architectures: macOS/amd64
, macOS/arm64
or linux/amd64
.
Download the binary
You can download a binary of the latest release
currently for macOS/amd64
, macOS/arm64
and linux/amd64
.
Install with cargo
In case you have cargo
installed this is the easiest way to install hoconvert
from
crates.io in match to your underlying architecture:
cargo install hoconvert
Build it yourself
Check this repo out, change into the project directory and run:
cargo build --release
Dependencies
~12MB
~206K SLoC