【发布时间】:2021-05-18 16:40:48
【问题描述】:
我正在尝试从谷歌秘密经理那里获取秘密。根据访问机密的文档,入口点应该是 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'
在数据流管道中传递的值
秘密值:
【问题讨论】:
-
您遇到错误了吗?
-
@sethvargo 我没有收到错误,传递给管道的值是“$TEST”。添加了屏幕截图
-
您期望什么价值?您是否检查了 SecretManager 中存储的值? (好吧,这是一个愚蠢的问题,但请仔细检查!)
-
@guillaume blaquiere 添加截图
-
$$正在“逃避”第一美元
标签: google-cloud-platform google-cloud-build google-secret-manager cloudbuild.yaml