#!/usr/bin/env bash # # export_vault_passwords.sh # Exports passwords from Vault as environment variables for docker-compose # # Agent S8: Production Password Generator # Usage: source ./scripts/export_vault_passwords.sh # set -euo pipefail # Configuration VAULT_ADDR="${VAULT_ADDR:-http://localhost:8200}" VAULT_TOKEN="${VAULT_TOKEN:-foxhunt-dev-root}" # Colors for output GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${GREEN}[INFO]${NC} Exporting passwords from Vault to environment variables..." # Export passwords as environment variables export POSTGRES_PASSWORD=$(docker exec -e VAULT_TOKEN="$VAULT_TOKEN" foxhunt-vault vault kv get -field=password secret/postgres) export INFLUXDB_PASSWORD=$(docker exec -e VAULT_TOKEN="$VAULT_TOKEN" foxhunt-vault vault kv get -field=password secret/influxdb) export VAULT_ROOT_TOKEN=$(docker exec -e VAULT_TOKEN="$VAULT_TOKEN" foxhunt-vault vault kv get -field=password secret/vault) export GRAFANA_PASSWORD=$(docker exec -e VAULT_TOKEN="$VAULT_TOKEN" foxhunt-vault vault kv get -field=password secret/grafana) export MINIO_PASSWORD=$(docker exec -e VAULT_TOKEN="$VAULT_TOKEN" foxhunt-vault vault kv get -field=password secret/minio) export REDIS_PASSWORD=$(docker exec -e VAULT_TOKEN="$VAULT_TOKEN" foxhunt-vault vault kv get -field=password secret/redis) # Verify exports echo -e "${GREEN}[INFO]${NC} Successfully exported the following environment variables:" echo " ✓ POSTGRES_PASSWORD (${#POSTGRES_PASSWORD} chars)" echo " ✓ INFLUXDB_PASSWORD (${#INFLUXDB_PASSWORD} chars)" echo " ✓ VAULT_ROOT_TOKEN (${#VAULT_ROOT_TOKEN} chars)" echo " ✓ GRAFANA_PASSWORD (${#GRAFANA_PASSWORD} chars)" echo " ✓ MINIO_PASSWORD (${#MINIO_PASSWORD} chars)" echo " ✓ REDIS_PASSWORD (${#REDIS_PASSWORD} chars)" echo "" echo -e "${YELLOW}[WARN]${NC} These environment variables are now available in your current shell session." echo -e "${YELLOW}[WARN]${NC} To use them with docker-compose, run: docker-compose up -d" echo ""