Skip to content

Commit d2b30c4

Browse files
authored
Merge pull request #69 from phoenixvc/fix/terra-alignment
Fix/terra alignment
2 parents 2bc7860 + 106be8d commit d2b30c4

22 files changed

Lines changed: 559 additions & 113 deletions

.github/workflows/deploy-environment.yaml

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,37 @@ on:
3232
required: false
3333
type: string
3434
default: "15"
35-
description: Wait sleep for model registration
35+
description: Sleep seconds between model availability checks
36+
smoke_models_wait_attempts:
37+
required: false
38+
type: string
39+
default: "1"
40+
description: Number of attempts to wait for models to become available
3641
include_aoai_host_check:
3742
required: false
3843
type: boolean
3944
default: false
4045
description: Include AOAI endpoint host validation
46+
environment:
47+
required: false
48+
type: string
49+
default: ""
50+
description: GitHub environment to use
4151
secrets:
52+
AZURE_CLIENT_ID:
53+
required: true
54+
AZURE_TENANT_ID:
55+
required: true
56+
AZURE_SUBSCRIPTION_ID:
57+
required: true
58+
TF_BACKEND_RG:
59+
required: true
60+
TF_BACKEND_SA:
61+
required: true
62+
TF_BACKEND_CONTAINER:
63+
required: true
64+
EXPECTED_AOAI_ENDPOINT_HOST:
65+
required: false
4266
AZURE_OPENAI_ENDPOINT:
4367
required: true
4468
AZURE_OPENAI_API_KEY:
@@ -49,8 +73,25 @@ on:
4973
required: true
5074
AIGATEWAY_KEY:
5175
required: true
76+
STATE_SERVICE_CONTAINER_IMAGE:
77+
required: false
78+
STATE_SERVICE_SHARED_TOKEN:
79+
required: false
80+
STATE_SERVICE_REGISTRY_PASSWORD:
81+
required: false
82+
DASHBOARD_CONTAINER_IMAGE:
83+
required: false
84+
GRAFANA_URL:
85+
required: false
5286

5387
env:
88+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
89+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
90+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
91+
TF_BACKEND_RG: ${{ secrets.TF_BACKEND_RG }}
92+
TF_BACKEND_SA: ${{ secrets.TF_BACKEND_SA }}
93+
TF_BACKEND_CONTAINER: ${{ secrets.TF_BACKEND_CONTAINER }}
94+
EXPECTED_AOAI_ENDPOINT_HOST: ${{ secrets.EXPECTED_AOAI_ENDPOINT_HOST }}
5495
TF_VAR_env: ${{ inputs.env_name }}
5596
TF_VAR_projname: "aigateway"
5697
TF_VAR_location: "southafricanorth"
@@ -64,10 +105,15 @@ env:
64105
TF_VAR_codex_api_version: ${{ inputs.codex_api_version }}
65106
TF_VAR_embedding_deployment: "text-embedding-3-large"
66107
TF_VAR_embeddings_api_version: "2024-02-01"
108+
TF_VAR_state_service_container_image: ${{ secrets.STATE_SERVICE_CONTAINER_IMAGE }}
109+
TF_VAR_secrets_expiration_date: "2027-03-31T00:00:00Z"
110+
TF_VAR_dashboard_container_image: ${{ secrets.DASHBOARD_CONTAINER_IMAGE || 'ghcr.io/phoenixvc/ai-gateway-dashboard:latest' }}
111+
TF_VAR_grafana_url: ${{ secrets.GRAFANA_URL }}
67112

68113
jobs:
69114
deploy:
70115
runs-on: ubuntu-latest
116+
environment: ${{ inputs.environment || inputs.env_name }}
71117
defaults:
72118
run:
73119
working-directory: ${{ inputs.terraform_working_directory }}
@@ -208,7 +254,7 @@ jobs:
208254
aoai_api_key: ${{ env.TF_VAR_azure_openai_api_key }}
209255
max_attempts: "3"
210256
retry_sleep: ${{ inputs.smoke_retry_sleep }}
211-
models_wait_attempts: ${{ if(inputs.env_name == 'prod', '3', '1') }}
257+
models_wait_attempts: ${{ inputs.smoke_models_wait_attempts }}
212258
models_wait_sleep: ${{ inputs.smoke_models_wait_sleep }}
213259

214260
- name: Smoke test shared state API (dashboard proxy)

.github/workflows/deploy.yaml

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ jobs:
150150
name: Deploy dev
151151
needs: plan
152152
if: github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'dev'
153-
environment: dev
154153
uses: ./.github/workflows/deploy-environment.yaml
155154
with:
156155
env_name: dev
@@ -160,19 +159,32 @@ jobs:
160159
terraform_working_directory: infra/env/dev
161160
smoke_retry_sleep: "10"
162161
smoke_models_wait_sleep: "15"
162+
smoke_models_wait_attempts: "1"
163163
include_aoai_host_check: false
164+
environment: dev
164165
secrets:
166+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
167+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
168+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
169+
TF_BACKEND_RG: ${{ secrets.TF_BACKEND_RG }}
170+
TF_BACKEND_SA: ${{ secrets.TF_BACKEND_SA }}
171+
TF_BACKEND_CONTAINER: ${{ secrets.TF_BACKEND_CONTAINER }}
172+
EXPECTED_AOAI_ENDPOINT_HOST: ${{ secrets.EXPECTED_AOAI_ENDPOINT_HOST }}
165173
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
166174
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
167175
AZURE_OPENAI_EMBEDDING_ENDPOINT: ${{ secrets.AZURE_OPENAI_EMBEDDING_ENDPOINT }}
168176
AZURE_OPENAI_EMBEDDING_API_KEY: ${{ secrets.AZURE_OPENAI_EMBEDDING_API_KEY }}
169177
AIGATEWAY_KEY: ${{ secrets.AIGATEWAY_KEY }}
178+
STATE_SERVICE_CONTAINER_IMAGE: ${{ vars.STATE_SERVICE_CONTAINER_IMAGE }}
179+
STATE_SERVICE_SHARED_TOKEN: ${{ secrets.STATE_SERVICE_SHARED_TOKEN }}
180+
STATE_SERVICE_REGISTRY_PASSWORD: ${{ secrets.STATE_SERVICE_REGISTRY_PASSWORD }}
181+
DASHBOARD_CONTAINER_IMAGE: ${{ vars.DASHBOARD_CONTAINER_IMAGE }}
182+
GRAFANA_URL: ${{ secrets.GRAFANA_URL }}
170183

171184
deploy-staging:
172185
name: Deploy staging
173186
needs: plan
174187
if: github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'main' && contains(join(github.event.pull_request.labels.*.name, ','), 'run-staging')
175-
environment: staging
176188
uses: ./.github/workflows/deploy-environment.yaml
177189
with:
178190
env_name: staging
@@ -182,19 +194,32 @@ jobs:
182194
terraform_working_directory: infra/env/staging
183195
smoke_retry_sleep: "10"
184196
smoke_models_wait_sleep: "15"
197+
smoke_models_wait_attempts: "1"
185198
include_aoai_host_check: false
199+
environment: staging
186200
secrets:
201+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
202+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
203+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
204+
TF_BACKEND_RG: ${{ secrets.TF_BACKEND_RG }}
205+
TF_BACKEND_SA: ${{ secrets.TF_BACKEND_SA }}
206+
TF_BACKEND_CONTAINER: ${{ secrets.TF_BACKEND_CONTAINER }}
207+
EXPECTED_AOAI_ENDPOINT_HOST: ${{ secrets.EXPECTED_AOAI_ENDPOINT_HOST }}
187208
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
188209
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
189210
AZURE_OPENAI_EMBEDDING_ENDPOINT: ${{ secrets.AZURE_OPENAI_EMBEDDING_ENDPOINT }}
190211
AZURE_OPENAI_EMBEDDING_API_KEY: ${{ secrets.AZURE_OPENAI_EMBEDDING_API_KEY }}
191212
AIGATEWAY_KEY: ${{ secrets.AIGATEWAY_KEY }}
213+
STATE_SERVICE_CONTAINER_IMAGE: ${{ vars.STATE_SERVICE_CONTAINER_IMAGE }}
214+
STATE_SERVICE_SHARED_TOKEN: ${{ secrets.STATE_SERVICE_SHARED_TOKEN }}
215+
STATE_SERVICE_REGISTRY_PASSWORD: ${{ secrets.STATE_SERVICE_REGISTRY_PASSWORD }}
216+
DASHBOARD_CONTAINER_IMAGE: ${{ vars.DASHBOARD_CONTAINER_IMAGE }}
217+
GRAFANA_URL: ${{ secrets.GRAFANA_URL }}
192218

193219
deploy-prod:
194220
name: Deploy prod
195221
needs: plan
196222
if: github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref == 'refs/heads/main')
197-
environment: prod
198223
uses: ./.github/workflows/deploy-environment.yaml
199224
with:
200225
env_name: prod
@@ -204,12 +229,26 @@ jobs:
204229
terraform_working_directory: infra/env/prod
205230
smoke_retry_sleep: "15"
206231
smoke_models_wait_sleep: "30"
232+
smoke_models_wait_attempts: "3"
207233
include_aoai_host_check: true
234+
environment: prod
208235
secrets:
236+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
237+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
238+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
239+
TF_BACKEND_RG: ${{ secrets.TF_BACKEND_RG }}
240+
TF_BACKEND_SA: ${{ secrets.TF_BACKEND_SA }}
241+
TF_BACKEND_CONTAINER: ${{ secrets.TF_BACKEND_CONTAINER }}
242+
EXPECTED_AOAI_ENDPOINT_HOST: ${{ secrets.EXPECTED_AOAI_ENDPOINT_HOST }}
209243
AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
210244
AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
211245
AZURE_OPENAI_EMBEDDING_ENDPOINT: ${{ secrets.AZURE_OPENAI_EMBEDDING_ENDPOINT }}
212246
AZURE_OPENAI_EMBEDDING_API_KEY: ${{ secrets.AZURE_OPENAI_EMBEDDING_API_KEY }}
213247
AIGATEWAY_KEY: ${{ secrets.AIGATEWAY_KEY }}
248+
STATE_SERVICE_CONTAINER_IMAGE: ${{ vars.STATE_SERVICE_CONTAINER_IMAGE }}
249+
STATE_SERVICE_SHARED_TOKEN: ${{ secrets.STATE_SERVICE_SHARED_TOKEN }}
250+
STATE_SERVICE_REGISTRY_PASSWORD: ${{ secrets.STATE_SERVICE_REGISTRY_PASSWORD }}
251+
DASHBOARD_CONTAINER_IMAGE: ${{ vars.DASHBOARD_CONTAINER_IMAGE }}
252+
GRAFANA_URL: ${{ secrets.GRAFANA_URL }}
214253

215254
# Legacy inline deployments removed - see deploy-environment.yaml

0 commit comments

Comments
 (0)