#yaml #json #hocon #converter #command-line-tool #cli

app hoconvert

CLI tool to convert HOCON into valid JSON or YAML

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

MIT license

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