Server Configuration | Vault by HashiCorp mentions that json, or hcl, can be used to configure vault. And documents the hcl schema. For example, to configure consul as the storage backend, the config might look like this:
I cannot find any official documentation at all that addresses this marked difference in schema. How is one supposed to infer from the documented hcl schema, what the equivalent json is?
You shouldn’t get confused about the “backend” stanza in your configuration example. At some point/ version backend was renamed to storage as you can see in my link.
Specifically it fails with Error creating file sink: 'path' not specified for file sink. I looked through config.go to see how it might be parsing the sinks block, but I cannot find where the error in being emitted.
For reference I’m testing this with Vault 1.6.3 and using the officical docker container. Like such: docker run -it -e VAULT_LOCAL_CONFIG=... vault:1.6.3 vault agent -config=/vault/config/local.json
Sigh. I figured it out. But I admit, I do not quite understand it. Vault’s error message suggested it read my configured sink, but I think it was just falling back to a default.