0

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 パイプラインで渡される値

ここに画像の説明を入力

秘密の値:

ここに画像の説明を入力

ビルドログ 1: ここに画像の説明を入力

ビルド ログ 2: ここに画像の説明を入力

4

2 に答える 2