Skip to main content

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:

FlagArgumentsRequiredDefaultDescription
--fileStringTrueNAThe file to be dereferenced
--vaultStringTrueNAPath to the SLV Vault file
--helpNoneNANAHelp 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