Last active
August 12, 2024 12:17
-
-
Save shtratos/6c03ba89b302ff9ca6084d9ade627b79 to your computer and use it in GitHub Desktop.
Bash script to fetch and store secrets from Azure KeyVault
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# | |
# Fetch secrets for local development from Azure KeyVault | |
# and print them to stdout as a bunch of env var exports. | |
# These secrets should be added to your local .env file | |
# to enable running integration tests locally. | |
# | |
KEY_VAULT=$1 | |
function fetch_secret_from_keyvault() { | |
local SECRET_NAME=$1 | |
az keyvault secret show --vault-name "${KEY_VAULT}" --name "${SECRET_NAME}" --query "value" | |
} | |
function store_secret_from_keyvault() { | |
local SECRET_VAR=$1 | |
local SECRET_NAME=$2 | |
local SECRET_VALUE=`fetch_secret_from_keyvault "${SECRET_NAME}"` | |
store_secret "${SECRET_VAR}" "${SECRET_VALUE}" | |
} | |
function store_secret() { | |
local SECRET_VAR=$1 | |
local SECRET_VALUE=$2 | |
echo "export ${SECRET_VAR}=${SECRET_VALUE}" | |
} | |
echo "# ----------------------- " | |
echo "# Fetched the following secrets from ${KEY_VAULT} on "`date` | |
store_secret_from_keyvault "MONGO_URI" "local-dev-mongo-uri" | |
store_secret_from_keyvault "WASB_MEDIA_STORAGE_ACCOUNT_NAME" "local-dev-media-storage-account-name" | |
store_secret_from_keyvault "WASB_MEDIA_STORAGE_ACCOUNT_KEY" "local-dev-media-storage-account-key" | |
store_secret_from_keyvault "WASB_MEDIA_STORAGE_CONTAINER_NAME" "local-dev-media-storage-container-name" | |
store_secret "KEY_VAULT_URI" "https://${KEY_VAULT}.vault.azure.net/" | |
store_secret_from_keyvault "KEY_VAULT_CLIENT_ID" "kv-sp-app-id" | |
store_secret_from_keyvault "KEY_VAULT_CLIENT_SECRET" "kv-sp-password" | |
store_secret_from_keyvault "KEY_VAULT_TENANT_ID" "kv-sp-tenant" | |
echo "# End of fetched secrets. " | |
echo "# ----------------------- " | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment