Google シークレット マネージャーからシークレットを取得しようとしています。シークレットにアクセスするためのドキュメントによると、エントリポイントは bash である必要がありますが、別のエントリポイントを使用しています。私のステップ「データフローテンプレートの作成」でシークレットを取得する方法を理解しようとしています。環境変数の値は、ステップの外ではアクセスできないようです。
steps:
- id: 'Pull dataflow-python3 docker image & load secrets'
name: 'gcr.io/$PROJECT_ID/dataflow-python3:latest'
entrypoint: 'bash'
args:
- '-c'
- |
git rev-parse --short HEAD > COMMIT_ID
commitId=$(cat COMMIT_ID)
echo "Project Id is $PROJECT_ID"
echo "Commit SHA is $COMMIT_SHA"
echo "Commit Id is ${commitId}"
echo "Secret key 'TEST' has value '$$TEST'"
secretEnv: ['TEST']
- id: "Activate virtual environment venv"
name: 'gcr.io/$PROJECT_ID/dataflow-python3:latest'
entrypoint: '/bin/bash'
args: [ '-c', 'source /venv/bin/activate' ]
waitFor: ['-']
- id: "Create dataflow template"
name: 'gcr.io/$PROJECT_ID/dataflow-python3:latest'
entrypoint: 'python'
args:
- -m
- main
- --job_name=test-df
- --project=$PROJECT_ID
- --region=us-east1
- --template_location=gs://my-project-dataflow-templates/test-alerts-template/templates/send-alert-template
- --staging_location=gs://my-project-dataflow-templates/test-alerts-template/staging/
- --temp_location=gs://my-project-dataflow-templates/test-alerts-template/temp/
- --runner=DataflowRunner
- --setup_file='./setup.py'
- --autoscaling_algorithm=NONE
- --DUMMY=$$TEST
secretEnv: ['TEST']
waitFor: [
'Pull dataflow-python3 docker image & load secrets',
'Activate virtual environment venv'
]
availableSecrets:
secretManager:
- versionName: projects/my-project/secrets/TEST/versions/latest
env: 'TEST'
Dataflow パイプラインで渡される値
秘密の値: