server <- vaultr::vault_test_server(if_disabled = message)
if (!is.null(server)) {
client <- server$client()
# The example from above:
client$write("/secret/database/user",
list(username = "alice", password = "s3cret!"))
# A list of data that contains a mix of secrets to be resolved
# and other data:
x <- list(user = "alice",
password = "VAULT:/secret/database/user:password",
port = 5678)
# Explicitly pass in the login details and resolve the secrets:
vaultr::vault_resolve_secrets(x, login = "token", token = server$token,
addr = server$addr)
# Alternatively, if appropriate environment variables are set
# then this can be done more easily:
if (requireNamespace("withr", quietly = TRUE)) {
env <- c(VAULTR_AUTH_METHOD = "token",
VAULT_TOKEN = server$token,
VAULT_ADDR = server$addr)
withr::with_envvar(env, vault_resolve_secrets(x))
}
}
Run the code above in your browser using DataLab