-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcloudbuild.yaml
56 lines (56 loc) · 2.53 KB
/
cloudbuild.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
steps:
- id: integration-test
name: golang:latest
entrypoint: bash
args:
- -c
- |
echo "$$SUPABASE_SSL_CERTIFICATE" > prod-ca-2021.crt
cp .env-test-template.yaml .env-test.yaml
go test ./...
secretEnv:
- DB_PASSWORD
- MAILJET_API_KEY
- MAILJET_SECRET_KEY
- SENDGRID_API_KEY
- SUPABASE_SSL_CERTIFICATE
- id: deploy-legacy-api
name: gcr.io/cloud-builders/gcloud
waitFor: ['integration-test']
entrypoint: bash
args:
- -c
- |
cp .env-prod-template.yaml .env-prod.yaml
gcloud builds submit --tag asia-southeast1-docker.pkg.dev/monarch-public/legacy-api/app:latest
gcloud run deploy legacy-api --image asia-southeast1-docker.pkg.dev/monarch-public/legacy-api/app:latest \
--region=asia-southeast1 --allow-unauthenticated --timeout 15s \
--min-instances 0 --max-instances 100 --cpu 1 --memory 128Mi \
--set-secrets DB_PASSWORD=db_password:latest,ENCRYPTION_KEY=encryption_key:latest \
--env-vars-file .env-prod.yaml --update-labels service=legacy --tag=main
- id: deploy-legacy-api-scheduler
name: gcr.io/cloud-builders/gcloud
waitFor: ['integration-test']
entrypoint: bash
args:
- -c
- |
cp .env-prod-cloud-function-template.yaml .env-prod-cloud-function.yaml
gcloud functions deploy legacy-api-scheduler \
--entry-point CloudFunctionForSchedulerWithStaticSecret --trigger-topic project-legacy-scheduler \
--region asia-southeast1 --runtime go119 --memory 128Mi --timeout 15s --gen2 \
--update-labels service=legacy --max-instances 10 \
--set-secrets DB_PASSWORD=db_password:latest,STATIC_SECRET=static_secret:latest,ENCRYPTION_KEY=encryption_key:latest,MAILJET_API_KEY=mailjet_api_key:latest,MAILJET_SECRET_KEY=mailjet_secret_key:latest,SENDGRID_API_KEY=sendgrid_api_key:latest \
--env-vars-file .env-prod-cloud-function.yaml
availableSecrets:
secretManager:
- versionName: projects/548884499300/secrets/db_password_tester/versions/latest
env: DB_PASSWORD
- versionName: projects/548884499300/secrets/mailjet_api_key/versions/latest
env: MAILJET_API_KEY
- versionName: projects/548884499300/secrets/mailjet_secret_key/versions/latest
env: MAILJET_SECRET_KEY
- versionName: projects/548884499300/secrets/sendgrid_api_key/versions/latest
env: SENDGRID_API_KEY
- versionName: projects/548884499300/secrets/supabase_ssl_certificate/versions/latest
env: SUPABASE_SSL_CERTIFICATE