|
18 | 18 | OP_SERVICE_ACCOUNT_TOKEN: |
19 | 19 | description: 1Password Service Account token |
20 | 20 | required: true |
21 | | - OP_FEEDS_SERVICE_ACCOUNT_TOKEN: |
22 | | - description: 1Password token for feeds secret |
23 | | - required: true |
24 | 21 | POSTGRE_SQL_INSTANCE_NAME: |
25 | 22 | description: PostgreSQL instance name |
26 | 23 | required: true |
@@ -170,44 +167,3 @@ jobs: |
170 | 167 | name: populate-gbfs-${{ inputs.ENVIRONMENT }}.log |
171 | 168 | path: populate-gbfs.log |
172 | 169 |
|
173 | | - |
174 | | - update-gcp-secret: |
175 | | - name: Update GCP Secrets |
176 | | - if: ${{ contains('repository_dispatch,workflow_dispatch', github.event_name) && !inputs.DRY_RUN }} |
177 | | - runs-on: ubuntu-latest |
178 | | - steps: |
179 | | - - name: Authenticate to Google Cloud |
180 | | - uses: google-github-actions/auth@v2 |
181 | | - with: |
182 | | - credentials_json: ${{ secrets.GCP_MOBILITY_FEEDS_SA_KEY }} |
183 | | - |
184 | | - - name: Google Cloud Setup |
185 | | - uses: google-github-actions/setup-gcloud@v2 |
186 | | - |
187 | | - - name: Load secrets from 1Password |
188 | | - id: onepw_secrets |
189 | | - |
190 | | - with: |
191 | | - export-env: true # Export loaded secrets as environment variables |
192 | | - env: |
193 | | - # This alternate service account token gives access to a vault writable by some third |
194 | | - # party people who can update the list of feeds requiring authorization and their tokens |
195 | | - OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_FEEDS_SERVICE_ACCOUNT_TOKEN }} |
196 | | - JSON_FEEDS_WITH_TOKENS: "op://lijd6lj7lyw7dajea6x3zgf53m/l6sr2cnpjj3cbw3t5amlu7vui4/credential" |
197 | | - |
198 | | - - name: Create or Update Auth Secret |
199 | | - env: |
200 | | - PROJECT_ID: ${{ inputs.PROJECT_ID }} |
201 | | - ENVIRONMENT: ${{ inputs.ENVIRONMENT }} |
202 | | - SECRET_VALUE: ${{ env.JSON_FEEDS_WITH_TOKENS }} |
203 | | - SECRET_NAME: FEEDS_CREDENTIALS |
204 | | - run: | |
205 | | - echo "Processing secret $SECRET_NAME in project $PROJECT_ID..." |
206 | | -
|
207 | | - if gcloud secrets describe $SECRET_NAME --project=$PROJECT_ID; then |
208 | | - echo "Secret $SECRET_NAME already exists in project $PROJECT_ID, updating..." |
209 | | - echo -n "$SECRET_VALUE" | gcloud secrets versions add $SECRET_NAME --data-file=- --project=$PROJECT_ID |
210 | | - else |
211 | | - echo "Secret $SECRET_NAME does not exist in project $PROJECT_ID, creating..." |
212 | | - echo -n "$SECRET_VALUE" | gcloud secrets create $SECRET_NAME --data-file=- --replication-policy="automatic" --project=$PROJECT_ID |
213 | | - fi |
0 commit comments