下面是我的 app.yaml
runtime: python39
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
env_variables:
SEC: %sec%
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10,这是我的应用程序引擎的cloudbuild.yaml,试图将一个秘密的谷传递给app.yaml作为env可验证的。
steps:
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: 'bash'
args: ['-c', "export _VAL=$(echo $$SEC)
&& echo $$SEC;echo $_VAL && sed -i 's/%sec%/'$$SEC'/g' app.yaml
&& gcloud config set app/cloud_build_timeout 1600 && gcloud app deploy"
]
secretEnv: ["SEC"]
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/db_secret/versions/3
env: 'SEC'
timeout: '1600s'发布于 2021-10-11 14:49:47
过去,我只使用">>“将env附加到我的app.yaml底部就可以做到这一点。使用此方法,您的env_variables部分需要是app.yaml的最后一个部分。
不过,我不再使用这种方法了,秘密会出现在您的云构建日志中。这些天,我只是导入秘密管理程序包来获取应用程序中的机密。
cloudbuild.yaml
steps:
- name: "gcr.io/cloud-builders/gcloud"
secretEnv: ['SECRET_ONE','SECRET_TWO']
entrypoint: 'bash'
args:
- -c
- |
echo $'\n SECRET_ONE: '$$SECRET_ONE >> app.yaml
echo $'\n SECRET_TWO: '$$SECRET_TWO >> app.yaml
gcloud -q app deploy
availableSecrets:
secretManager:
- versionName: projects/012345678901/secrets/SECRET_ONE
env: 'SECRET_ONE'
- versionName: projects/012345678901/secrets/SECRET_TWO
env: 'SECRET_TWO'app.yaml
runtime: go116
main: cmd
service: serviceone
env_variables:
PROJECT_ID: project-a0a00
PORT: 8080https://stackoverflow.com/questions/69515785
复制相似问题