Improvements
Safe now supports escaping :
and ^
characters in paths and keys with the \
character.
Some examples:
safe get secret/colon\:test:foo
will get the key foo from the secret at the path secret/colon:test
.
safe get secret/foo:ba\:r
will get the key ba:r
from the secret at the path secret/foo
This sort of worked before, sometimes, kinda, for some commands, as we'd only acknowledge the last colon as special for commands that accepted keys in their paths. For others, we'd often just err if there was a colon at all in the secret path.
We still only respect the final colon or caret in a path as special, but any of them can be escaped by preceding them with a backslash so that they are not used as a separator.
Additionally, the output of safe paths --keys
now escapes colons in the output when they are not the secret:key separator.