-
Notifications
You must be signed in to change notification settings - Fork 15
241 lines (219 loc) · 13.3 KB
/
terragrunt-plan.yml
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
name: Plan using terragrunt
on:
workflow_dispatch:
inputs:
DEFAULT_APPLICATION_ENVIRONMENT:
required: true
default: "TEST"
type: string
TARGET_ENV:
required: true
default: "test"
type: string
IMAGE_TAG:
required: true
default: main
type: string
IS_HOTFIX:
required: true
type: string
default: 'false'
MAX_RECEIVED_COUNT:
required: false
type: number
default: 10
VISIBILITY_TIMEOUT_SECONDS:
required: false
type: number
default: 10
WFNEWS_URL:
required: false
type: string
default: ""
env:
TF_VERSION: 1.5.3
TG_VERSION: 0.48.4
TG_SRC_PATH: terraform
TFC_WORKSPACE: wfnews-${{ inputs.TARGET_ENV }}
REPOSITORY: ghcr.io
jobs:
plan:
name: Plan
runs-on: ubuntu-22.04
environment: ${{ inputs.DEFAULT_APPLICATION_ENVIRONMENT }}
permissions:
id-token: write
steps:
- name: Check out the repo
uses: actions/checkout@v2
# - name: retrieve lambda artifacts
# uses: actions/download-artifact@v4
# with:
# name: lambda-functions
# path: ${{env.TG_SRC_PATH}}/lambda-functions
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_TERRAFORM_ROLE_TO_ASSUME }}
role-session-name: wfnews-terraform-s3
aws-region: ca-central-1
- uses: hashicorp/setup-terraform@v2
with:
terraform_version: ${{ env.TF_VERSION }}
cli_config_credentials_token: ${{ secrets.TFC_TEAM_TOKEN }}
- uses: peter-murray/[email protected]
with:
terragrunt_version: ${{ env.TG_VERSION }}
- name: Terragrunt Plan
working-directory: ${{env.TG_SRC_PATH}}/${{ inputs.TARGET_ENV }}
env:
# AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
UNIQUE_DEPLOY_ID: ${{ github.run_id }}
BCWILDFIRE_CERT_ARN: ${{secrets.BCWILDFIRE_CERT_ARN}}
BASE_BCWILDFIRE_CERT_ARN: ${{secrets.BASE_BCWILDFIRE_CERT_ARN}}
agolAreaRestrictions: ${{vars.AGOL_AREA_RESTRICTIONS}}
agolBansAndProhibitions: ${{vars.AGOL_BANS_AND_PROHIBITIONS}}
agolDangerRatings: ${{vars.AGOL_DANGER_RATINGS}}
agolUrl: ${{vars.AGOL_URL}}
ALB_NAME: ${{ vars.ALB_NAME }}
API_KEY: ${{ secrets.API_KEY }}
NGINX_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.NGINX_IMAGE }}:${{ inputs.IMAGE_TAG }}
CLIENT_CPU_UNITS: ${{vars.CLIENT_CPU_UNITS}}
CLIENT_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.CLIENT_IMAGE }}${{ inputs.IS_HOTFIX=='true' && '-hotfix' || ''}}:${{ inputs.IMAGE_TAG }}
CLIENT_MEMORY: ${{vars.CLIENT_MEMORY}}
CLOUDFRONT_HEADER: ${{ secrets.CLOUDFRONT_HEADER }}
DB_INSTANCE_TYPE: ${{vars.DB_INSTANCE_TYPE}}
DB_PASS: ${{ secrets.WFONE_DB_PASS }}
DB_SIZE: ${{ vars.DB_SIZE }}
DB_POSTGRES_VERSION: ${{ vars.DB_POSTGRES_VERSION }}
DEFAULT_APPLICATION_ENVIRONMENT: ${{inputs.DEFAULT_APPLICATION_ENVIRONMENT}}
drivebcBaseUrl: ${{vars.DRIVEBC_BASE_URL}}
GITHUB_RELEASE_NAME: ${{ github.event.release.name }}
INSTANCE_COUNT: ${{vars.INSTANCE_COUNT}}
NOTIFICATIONS_API_INSTANCE_COUNT: ${{vars.NOTIFICATIONS_API_INSTANCE_COUNT}}
LIQUIBASE_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.LIQUIBASE_IMAGE }}:${{ inputs.IMAGE_TAG }}
LOGGING_LEVEL: ${{vars.LOGGING_LEVEL}}
MAX_UPLOAD_SIZE: ${{ vars.MAX_UPLOAD_SIZE }}
openmapsBaseUrl: ${{vars.OPENMAPS_BASE_URL}}
SERVER_CPU_UNITS: ${{vars.SERVER_CPU_UNITS}}
SERVER_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.SERVER_IMAGE }}${{ inputs.IS_HOTFIX=='true' && '-hotfix' || ''}}:${{ inputs.IMAGE_TAG }}
SERVER_MEMORY: ${{vars.SERVER_MEMORY}}
siteMinderURLPrefix: ${{vars.SITEMINDER_URL_PREFIX}}
syncIntervalMinutes: ${{vars.SYNC_INTERVAL_MINUTES}}
SMTP_ADMIN_EMAIL: ${{vars.SMTP_ADMIN_EMAIL}}
SMTP_EMAIL_ERROR_SUBJECT: ${{vars.SMTP_EMAIL_ERROR_SUBJECT}}
SMTP_EMAIL_FREQ: ${{vars.SMTP_EMAIL_FREQ}}
SMTP_EMAIL_SUBJECT: ${{vars.SMTP_EMAIL_SUBJECT}}
SMTP_EMAIL_SYNC_ERROR_FREQ: ${{vars.SMTP_EMAIL_SYNC_ERROR_FREQ}}
SMTP_FROM_EMAIL: ${{vars.SMTP_FROM_EMAIL}}
SMTP_HOST_NAME: ${{vars.SMTP_HOST_NAME}}
SMTP_PASSWORD: ${{secrets.WFONE_NOTIFICATIONS_API_SMTP_CREDENTIALS_PASSWORD}}
SNS_EMAIL_TARGETS: ${{ secrets.SNS_EMAIL_TARGETS }}
SUBNET_FILTER: ${{ vars.SUBNET_FILTER }}
TARGET_ENV: ${{ inputs.TARGET_ENV }}
TFC_PROJECT: ${{ secrets.LICENSE_PLATE }}
VPC_NAME: ${{ vars.VPC_NAME }}
WEBADE_OAUTH2_AUTHORIZE_URL: ${{vars.WEBADE_OAUTH2_AUTHORIZE_URL}}
WEBADE_OAUTH2_REST_CLIENT_ID: ${{vars.WEBADE_OAUTH2_REST_CLIENT_ID}}
WEBADE_OAUTH2_UI_CLIENT_ID: ${{vars.WEBADE_OAUTH2_UI_CLIENT_ID}}
WEBADE_OAUTH2_WFNEWS_REST_CLIENT_SECRET: ${{secrets.WEBADE_OAUTH2_WFNEWS_REST_CLIENT_SECRET}}
WEBADE_OAUTH2_WFNEWS_UI_CLIENT_SECRET: ${{secrets.WEBADE_OAUTH2_WFNEWS_UI_CLIENT_SECRET}}
WEBADE-OAUTH2_CHECK_TOKEN_URL: ${{vars.WEBADE_OAUTH2_CHECK_TOKEN_URL}}
WEBADE-OAUTH2_TOKEN_CLIENT_URL: ${{vars.WEBADE_OAUTH2_TOKEN_CLIENT_URL}}
WEBADE-OAUTH2_TOKEN_URL: ${{vars.WEBADE_OAUTH2_TOKEN_URL}}
YOUTUBE_API_KEY: ${{secrets.YOUTUBE_API_KEY}}
YOUTUBE_CHANNEL_ID: ${{secrets.YOUTUBE_CHANNEL_ID}}
WFDM_REST_URL: ${{vars.WFDM_REST_URL}}
FIRE_REPORT_API_URL: ${{vars.FIRE_REPORT_API_URL}}
NOTIFICATION_API_URL: ${{vars.NOTIFICATION_API_URL}}
WFRM_RESOURCE_API_URL: ${{vars.WFRM_RESOURCE_API_URL}}
POINT_ID_URL: ${{vars.POINT_ID_URL}}
WFIM_CLIENT_URL: ${{vars.WFIM_CLIENT_URL}}
WFIM_REST_URL: ${{vars.WFIM_REST_URL}}
WFIM_CODE_TABLES_URL: ${{vars.WFIM_CODE_TABLES_URL}}
WFNEWS_AGOL_QUERY_URL: ${{vars.WFNEWS_AGOL_QUERY_URL}}
WFNEWS_EMAIL_NOTIFICATIONS_ENABLED: ${{vars.WFNEWS_EMAIL_NOTIFICATIONS_ENABLED}}
WFNEWS_MAX_CONNECTIONS: ${{vars.WFNEWS_MAX_CONNECTIONS}}
WFNEWS_USERNAME: ${{vars.WFNEWS_USERNAME}}
MAX_RECEIVED_COUNT: ${{inputs.MAX_RECEIVED_COUNT }}
VISIBILITY_TIMEOUT_SECONDS: ${{inputs.VISIBILITY_TIMEOUT_SECONDS }}
ACCEPTED_IPS: ${{vars.ACCEPTED_IPS }}
PUSH_NOTIFICATION_AWS_USER: ""
EVENT_BRIDGE_ARN: ""
SECRET_NAME: ${{secrets.DB_LAMBDA_SECRET_NAME }}
BAN_PROHIBITION_MONITOR_KEY: ""
ACTIVE_FIRE_MONITOR_KEY: ""
AREA_RESTRICTIONS_MONITOR_KEY: ""
EVACUATION_MONITOR_KEY: ""
LAMBDA_LAYER_KEY: ""
# POINTID API VARIABLES
DATABASE_WEATHER_URL: ${{ vars.DATABASE_WEATHER_URL }}
DATABASE_WEATHER_USER: ${{vars.DATABASE_WEATHER_USER }}
BCGW_URL: ${{vars.BCGW_URL }}
WFGS_URL: ${{vars.WFGS_URL }}
MAX_ALLOWED_RADIUS: ${{vars.MAX_ALLOWED_RADIUS }}
POINTID_ASYNC_JOB_INTERVAL: ${{vars.POINTID_ASYNC_JOB_INTERVAL }}
POINTID_ASYNC_JOB_REF_LAT: ${{vars.POINTID_ASYNC_JOB_REF_LAT }}
POINTID_ASYNC_JOB_REF_LONG: ${{vars.POINTID_ASYNC_JOB_REF_LONG }}
POINTID_ASYNC_JOB_REF_RADIUS: ${{vars.POINTID_ASYNC_JOB_REF_RADIUS }}
WEATHER_HOST: ${{vars.WEATHER_HOST }}
WEATHER_USER: ${{vars.WEATHER_USER }}
WFARCGIS_URL: ${{vars.WFARCGIS_URL }}
WFARCGIS_LAYER_AREA_RESTRICTIONS: ${{vars.WFARCGIS_LAYER_AREA_RESTRICTIONS }}
WFARCGIS_LAYER_BANS_PROHIBITION_AREAS: ${{vars.WFARCGIS_LAYER_BANS_PROHIBITION_AREAS }}
WFARCGIS_LAYER_DANGER_RATING: ${{vars.WFARCGIS_LAYER_DANGER_RATING }}
WFARCGIS_LAYER_ACTIVE_FIRES: ${{vars.WFARCGIS_LAYER_ACTIVE_FIRES }}
WFARCGIS_LAYER_EVACUATION_ORDERS_ALERTS: ${{vars.WFARCGIS_LAYER_EVACUATION_ORDERS_ALERTS }}
WFARCGIS_LAYER_FIRE_CENTRE_BOUNDARIES: ${{vars.WFARGIS_LAYER_FIRE_CENTRE_BOUNDARIES }}
POINTID_WEBADE_OAUTH2_CLIENT_ID: ${{vars.POINTID_WEBADE_OAUTH2_CLIENT_ID }}
POINTID_WEBADE_OAUTH2_TOKEN_URL: ${{vars.POINTID_WEBADE_OAUTH2_TOKEN_URL }}
POINTID_WEBADE_OAUTH2_CLIENT_SCOPES: ${{vars.POINTID_WEBADE_OAUTH2_CLIENT_SCOPES }}
FIREWEATHER_BASEURL: ${{vars.FIREWEATHER_BASEURL }}
FIREWEATHER_STATIONS_KEY: ${{vars.FIREWEATHER_STATIONS_KEY }}
WFNEWS_QUEUESIZE: ${{vars.WFNEWS_QUEUESIZE }}
DATABASE_WEATHER_PWD: ${{secrets.DATABASE_WEATHER_PWD }}
WEATHER_PASSWORD: ${{secrets.WEATHER_PASSWORD }}
POINTID_WEBADE_OAUTH2_CLIENT_SECRET: ${{secrets.POINTID_WEBADE_OAUTH2_CLIENT_SECRET }}
POINTID_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.POINTID_IMAGE }}${{ inputs.IS_HOTFIX=='true' && '-hotfix' || ''}}:${{ inputs.IMAGE_TAG }}
# WFONE NOTIFICATIONS API
WFONE_NOTIFICATIONS_API_DATASOURCE_MAX_CONNECTIONS: ${{vars.WFONE_NOTIFICATIONS_API_DATASOURCE_MAX_CONNECTIONS}}
WFONE_NOTIFICATIONS_API_DATASOURCE_PASSWORD: ${{secrets.WFONE_NOTIFICATIONS_API_DATASOURCE_PASSWORD}}
WFONE_NOTIFICATIONS_API_DATASOURCE_USER: ${{vars.WFONE_NOTIFICATIONS_API_DATASOURCE_USER}}
WFONE_NOTIFICATIONS_API_EMAIL_ADMIN_EMAIL: ${{secrets.WFONE_NOTIFICATIONS_API_EMAIL_ADMIN_EMAIL}}
WFONE_NOTIFICATIONS_API_EMAIL_FROM_EMAIL: ${{vars.WFONE_NOTIFICATIONS_API_EMAIL_FROM_EMAIL}}
WFONE_NOTIFICATIONS_API_EMAIL_NOTIFICATIONS_ENABLED: ${{vars.WFONE_NOTIFICATIONS_API_EMAIL_NOTIFICATIONS_ENABLED}}
WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SEND_ERROR_FREQ: ${{vars.WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SEND_ERROR_FREQ}}
WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SEND_ERROR_SUBJECT: ${{vars.WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SEND_ERROR_SUBJECT}}
WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SEND_FREQ: ${{vars.WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SEND_FREQ}}
WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SUBJECT: ${{vars.WFONE_NOTIFICATIONS_API_EMAIL_SYNC_SUBJECT}}
WFONE_NOTIFICATIONS_API_PUSH_ITEM_EXPIRE_HOURS: ${{vars.WFONE_NOTIFICATIONS_API_PUSH_ITEM_EXPIRE_HOURS}}
WFONE_NOTIFICATIONS_API_QUARTZ_CONSUMER_INTERVAL_SECONDS: ${{vars.WFONE_NOTIFICATIONS_API_QUARTZ_CONSUMER_INTERVAL_SECONDS}}
WFONE_NOTIFICATIONS_API_SMTP_CREDENTIALS_PASSWORD: ${{secrets.WFONE_NOTIFICATIONS_API_SMTP_CREDENTIALS_PASSWORD}}
WFONE_NOTIFICATIONS_API_SMTP_CREDENTIALS_USER: ${{secrets.WFONE_NOTIFICATIONS_API_SMTP_CREDENTIALS_USER}}
WFONE_NOTIFICATIONS_API_SMTP_HOST_NAME: ${{vars.WFONE_NOTIFICATIONS_API_SMTP_HOST_NAME}}
WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_CLIENT_ID: ${{vars.WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_CLIENT_ID}}
WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_REST_CLIENT_SECRET: ${{secrets.WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_REST_CLIENT_SECRET}}
WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_WFIM_CLIENT_ID: ${{vars.WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_CLIENT_ID}}
WFONE_NOTIFICATIONS_API_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.NOTIFICATIONS_API_IMAGE }}${{ inputs.IS_HOTFIX=='true' && '-hotfix' || ''}}:${{ inputs.IMAGE_TAG }}
WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_CHECK_TOKEN_URL: ${{vars.WEBADE_OAUTH2_CHECK_TOKEN_URL}}
WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_TOKEN_CLIENT_URL: ${{vars.WEBADE_OAUTH2_TOKEN_CLIENT_URL}}
WFONE_NOTIFICATIONS_API_WEBADE_OAUTH2_TOKEN_URL: ${{vars.WEBADE_OAUTH2_TOKEN_URL}}
#WFONE-PUSH-NOTIFICATION-API
WFONE_PUSH_ITEM_EXPIRE_HOURS_EVAC: ${{ vars.WFONE_PUSH_ITEM_EXPIRE_HOURS_EVAC }}
WFONE_PUSH_ITEM_EXPIRE_HOURS_FIRE: ${{ vars.WFONE_PUSH_ITEM_EXPIRE_HOURS_FIRE }}
WFONE_PUSH_ITEM_EXPIRE_HOURS_BAN: ${{ vars.WFONE_PUSH_ITEM_EXPIRE_HOURS_BAN }}
WFONE_PUSH_ITEM_EXPIRE_HOURS_RESTRICTED_AREA: ${{ vars.WFONE_PUSH_ITEM_EXPIRE_HOURS_RESTRICTED_AREA }}
WFONE_NOTIFICATIONS_PUSH_SQS_MONITOR_ATTRIBUTE: ${{ vars.WFONE_PUSH_NOTIFICATION_SQS_MONITOR_ATTRIBUTE }}
WFONE_NOTIFICATIONS_PUSH_SQS_MAX_MESSAGES: ${{ vars.WFONE_PUSH_NOTIFICATION_SQS_MAX_MESSAGES }}
WFONE_NOTIFICATIONS_PUSH_SQS_WAIT_SECONDS: ${{ vars.WFONE_PUSH_NOTIFICATION_SQS_WAIT_SECONDS }}
WFONE_NOTIFICATIONS_PUSH_CONSUMER_INTERVAL_SECONDS: ${{ vars.WFONE_PUSH_NOTIFICATION_CONSUMER_INTERVAL_SECONDS }}
WFONE_FIREBASE_DB_URL: ${{ vars.WFONE_FIREBASE_DB_URL }}
WFONE_NOTIFICATIONS_PUSH_PREFIX: ${{ vars.WFONE_PUSH_NOTIFICATION_PREFIX }}
WFONE_NOTIFICATIONS_PUSH_NEAR_ME_INTERVAL_SECONDS: ${{ vars.WFONE_PUSH_NOTIFICATION_NEAR_ME_INTERVAL_SECONDS }}
WFONE_NOTIFICATIONS_PUSH_AWS_ACCESS_KEY: ${{ secrets.WFONE_PUSH_NOTIFICATION_AWS_ACCESS_KEY }}
WFONE_NOTIFICATIONS_PUSH_AWS_SECRET_KEY: ${{ secrets.WFONE_PUSH_NOTIFICATION_AWS_SECRET_KEY }}
WFONE_DB_PASS: ${{ secrets.WFONE_DB_PASS }}
WFONE_NOTIFICATIONS_PUSH_API_IMAGE: ${{vars.REGISTRY}}/${{ github.repository_owner }}/${{ vars.NOTIFICATIONS_PUSH_API_IMAGE }}${{ inputs.IS_HOTFIX=='true' && '-hotfix' || ''}}:${{ inputs.IMAGE_TAG }}
FIREBASE_CONFIG_JSON: ${{ secrets.FIREBASE_CONFIG_JSON }}
run: terragrunt plan --terragrunt-non-interactive