-
Notifications
You must be signed in to change notification settings - Fork 22
"vault-cli get" doesn't return YAML formatted value when secret isn't a string #96
Copy link
Copy link
Open
Description
vault-cli get doesn't return YAML formatted value when secret isn't a string.
When secret value isn't a string, output of vault get secret should be the same as output of vault get --yaml secret.
Reproducer1 (tested with Python 3.6.8)
$ cat test.json
{
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
$ cat test.json | vault set --stdin secret
Done
$ vault get secret
{
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
$ vault get --text secret
{
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
$ vault get --yaml secret
--- "{\n \"foo\": \"bar\",\n \"train\": [1,2,3,4],\n \"GNU\": {\n \"Linux\"\
: {\n \"Debian\": \"Buster\"\n }\n }\n}"
Reproducer2 (tested with Python 3.6.8)
$ cat test.json
{
"value": {
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
}
$ cat test.json | vault kv put secret/testproject/secret value=- # "official" vault binary used here
$ vault kv get -format=yaml secret/testproject/secret # official vault binary used here
data:
value: |
{
"value": {
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
}
$ vault get secret # vault-cli binary used here
{
"value": {
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
}
$ vault get --text secret # vault-cli binary used here
{
"value": {
"foo": "bar",
"train": [1,2,3,4],
"GNU": {
"Linux": {
"Debian": "Buster"
}
}
}
}
$ vault get --yaml secret # vault-cli binary used here
--- "{\n \"value\": {\n \"foo\": \"bar\",\n \"train\": [1,2,3,4],\n \"GNU\"\
: {\n \"Linux\": {\n \"Debian\": \"Buster\"\n }\n }\n }\n}\n"
It looks like force_yaml is always false (secret is always a string).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels