refactor(tofu): export all secrets to env
This commit is contained in:
@@ -58,19 +58,24 @@ jobs:
|
||||
INFISICAL_ENV="${{ gitea.ref_name }}"
|
||||
fi
|
||||
|
||||
# Fetch secrets (assuming CLI is pre-installed)
|
||||
echo "Fetching secrets from Infisical..."
|
||||
PROXMOX_VE_API_TOKEN=$(infisical secrets get PROXMOX_VE_API_TOKEN --env="$INFISICAL_ENV" --plain)
|
||||
INFRASTRUCTURE_TOKEN=$(infisical secrets get INFRASTRUCTURE_TOKEN --env="$INFISICAL_ENV" --plain)
|
||||
# Fetch all secrets in JSON format
|
||||
echo "Exporting all secrets from Infisical..."
|
||||
infisical export --env="$INFISICAL_ENV" --format=json > secrets.json
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Failed to fetch secrets from Infisical." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Mask values in logs immediately
|
||||
echo "::add-mask::$PROXMOX_VE_API_TOKEN"
|
||||
echo "::add-mask::$INFRASTRUCTURE_TOKEN"
|
||||
# Mask and write all secrets to GITHUB_ENV
|
||||
while IFS= read -r key && IFS= read -r value; do
|
||||
echo "::add-mask::$value"
|
||||
echo "$key=$value" >> $GITHUB_ENV
|
||||
if [ "$key" = "INFRASTRUCTURE_TOKEN" ]; then
|
||||
echo "TF_HTTP_PASSWORD=$value" >> $GITHUB_ENV
|
||||
fi
|
||||
done < <(jq -r 'to_entries[] | (.key, .value)' secrets.json)
|
||||
|
||||
# Export to GITHUB_ENV for subsequent steps/env context
|
||||
echo "PROXMOX_VE_API_TOKEN=$PROXMOX_VE_API_TOKEN" >> $GITHUB_ENV
|
||||
echo "INFRASTRUCTURE_TOKEN=$INFRASTRUCTURE_TOKEN" >> $GITHUB_ENV
|
||||
echo "TF_HTTP_PASSWORD=$INFRASTRUCTURE_TOKEN" >> $GITHUB_ENV
|
||||
rm -f secrets.json
|
||||
|
||||
- name: Verify Secrets
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user