xx
.md

xx_secrets

xx_secrets returns a dependency that adds secrets stored by xx secrets set for the current project to the virtual environment of dependent tasks. Secret values remain encrypted in xx's application-data database until the dependency loads them through the operating-system keyring.

Arguments

ArgumentRequiredDescription
filterNoOrdered list of secret names to include. Missing names are ignored, and the first occurrence of an exact duplicate wins. None includes all project secrets in lexical name order. An empty list includes no secrets and does not open the secret store. Defaults to None.

Secret names and values must be valid environment variables. In particular, names cannot contain = or NUL, and values cannot contain NUL.

Examples

Load selected secrets

load("@secrets@1", "xx_secrets")
load("@os@1", "os_run")

secrets = xx_secrets(
    filter = ["DATABASE_URL", "API_KEY"],
)

os_run(("tools/deploy",), deps = [secrets])

Load all project secrets

load("@secrets@1", "xx_secrets")

project_secrets = xx_secrets()