Dereferencing
This does exactly the opposite of ref
command. Let's say we have a file that contains references to SLV secrets, this command would replace the references with actual secrets.
Unlike ref
, the deref
command does not need to be flat. Therefore, the deref
command can also deal with text files and other files.
General Usage:
slv vault --vault <PATH_TO_VAULT> deref [flags]
Flags:
Flag | Arguments | Required | Default | Description |
---|---|---|---|---|
--file | String | True | NA | The file to be dereferenced |
--vault | String | True | NA | Path to the SLV Vault file |
--help | None | NA | NA | Help text for slv vault deref |
Usage:
slv vault --vault <PATH_TO_VAULT> deref --file <PATH_TO_FILE_TO_BE_DEREFERENCED>
Example:
$ cat secret.txt
The username is {{SLV.test.username}} and the password is {{SLV.test.password}}
$ cat test.slv.yaml
# This file is managed by SLV. DO NOT EDIT THIS FILE MANUALLY.
# Use the pattern {{slv.test.YOUR_SECRET_NAME}} as placeholder to reference data from this vault into files
apiVersion: slv.sh/v1
kind: SLV
metadata:
annotations:
slv.sh/version: v0.16.3
creationTimestamp: "2025-04-25T07:54:38Z"
name: test
spec:
slvConfig:
id: SLV_VID_Q6EZYDJFO3LPK6XPBJ6L7FQOK4QFBMMKHRDSJI5D6PNBK4MP
publicKey: SLV_VPK_AEAVMAAAAAVO2ZKPRDMXKIM7SCGSHXATY5NEOLL5EARW75JEDM6YHVR7DY3FE
wrappedKeys:
- SLV_EWK_AFCWQC3AR4ACMAIBIUAAAAFCQPSQVXJZ4OVL66YX7KRRYTO5ULQ3G2FKU23VXJUW3HSFRGTANQAAAUYKSMCKOV5GCO277EV3HQKIRYSCTVZV3GCZ7G4CL6R2IJDF47BUOU3ZKMX6UISQUZVQT265GZECLQ35HO2L7MXBF3YBQIP5Z3A7PBUPVP5DJJXFJ63VZ3TIBHGZRSY6RDLNWHPWFIYNT7AR2MPEQ7IR6C677W7WEX3KWXHXAIOA7CYBAEWEGCUEFWE62QXHYMM37SNVD2SHDA3FG2WLCK4MX4PJLC4CTPU7YQFNFGNVCWY3ACE5X6ZWRZH6LM
- SLV_EWK_AFCWQC3AR4ACMAIBIUAAAADAOZIIZ5QCJ4H5WLQA7Q3TOSHWXFITDK6YN7E4MBRHJBZOAKT4JAAAB3Q7DPYSJB7EMSGXE3JBRZJV3DCRJEWTQHCKYSET7HFSMTBZI3KV3ZSXWNMLNZ5TKFHNXOLERVLS6VKPSXJQFNT7JYAB3TRW7R3VF7WN6H5FAXL3JPIMEWALQRDBQZXXEEO34LKI4KACHKUDVO5EIHDWJF6TJWMPMZKF7VDLARXBC2XBLFXC7VJX222AJIYVWQDHRAWC47OYZYGGYEFD7V275RCQUJTTHIF35HNLX7KKHEQ4GHIO7I6D3UWO5A
slvData:
password: SLV_VSS_AFLGQC3E24ACMAIBKYAAAABK5VSU7CGZOUQZ7EENEPOBHR22I4WX2IBDN72SIGZ5QPLD6HRWKIAAAMCOW5PUO3JZQ32JL33RDFIQXDLARGQSMNJL5DFQ5RRVAQ2J5WCCMDBDPTPKWAF5TNBU2MJITUFPVC2JTYMMMQPHRKYBRLQ5PDSNI6SSOGWNV2E2FX52KISZR4F2GZU7DCCXS5U72ZBGV7X4AKTNPIBNDAOZEI53AP7VJ2PNPPA
username: SLV_VSS_AFLGQC3E24ACMAIBKYAAAABK5VSU7CGZOUQZ7EENEPOBHR22I4WX2IBDN72SIGZ5QPLD6HRWKIAAAMCOW5PUO3JZQ32JL33RDFIQXDLARGQSMNJL5DFQ5RRVAQ2J5WCCMTSSTN62Q43IDQ66ZTPQVQHA4Q5A7A4QZ6RKD4QBQWLZ27RQZ7T2GGHB2F5FFBEMW6PY4YO5Z7VAZAQUFJFOQO2WOC4S6CA6
$ slv vault --vault test.slv.yaml deref --file secret.txt
Dereferenced secret.txt with the vault test.slv.yaml
$ cat secret.txt
The username is johndoe and the password is super_secret_password