1+ # !/usr/bin/env pwsh
2+
3+ # #########################################################
4+ # Ensure Helm and Kustomize support is enabled
5+ # #########################################################
6+ azd config set alpha.aks.helm on
7+ azd config set alpha.aks.kustomize on
8+
9+ # #########################################################
10+ # Check kubelogin and install if not exists
11+ # #########################################################
12+ if (-not (Get-Command kubelogin - ErrorAction SilentlyContinue)) {
13+ az aks install-cli
14+ }
15+
16+ # ##########################################################
17+ # Create the custom-values.yaml file
18+ # ##########################################################
19+ @"
20+ namespace: ${env: AZURE_AKS_NAMESPACE}
21+ "@ | Out-File - FilePath custom- values.yaml - Encoding utf8
22+
23+ # ##########################################################
24+ # Add Azure Managed Identity and set to use AzureAD auth
25+ # ##########################################################
26+ if (! [string ]::IsNullOrEmpty($env: AZURE_IDENTITY_CLIENT_ID ) -and ! [string ]::IsNullOrEmpty($env: AZURE_IDENTITY_NAME )) {
27+ @"
28+ useAzureAd: true
29+ managedIdentityName: $ ( $env: AZURE_IDENTITY_NAME )
30+ managedIdentityClientId: $ ( $env: AZURE_IDENTITY_CLIENT_ID )
31+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
32+ }
33+
34+ # ##########################################################
35+ # Add base images
36+ # ##########################################################
37+ @"
38+ productService:
39+ image:
40+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/product-service
41+ storeAdmin:
42+ image:
43+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/store-admin
44+ storeFront:
45+ image:
46+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/store-front
47+ virtualCustomer:
48+ image:
49+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/virtual-customer
50+ virtualWorker:
51+ image:
52+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/virtual-worker
53+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
54+
55+ # ##########################################################
56+ # Add ai-service if Azure OpenAI endpoint is provided
57+ # ##########################################################
58+ if ($env: AZURE_OPENAI_ENDPOINT ) {
59+ @"
60+ aiService:
61+ image:
62+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/ai-service
63+ create: true
64+ modelDeploymentName: ${env: AZURE_OPENAI_MODEL_NAME}
65+ openAiEndpoint: ${env: AZURE_OPENAI_ENDPOINT}
66+ useAzureOpenAi: true
67+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
68+
69+ # If DALL-E model endpoint and name exist
70+ if ($env: AZURE_OPENAI_DALL_E_ENDPOINT -and $env: AZURE_OPENAI_DALL_E_MODEL_NAME ) {
71+ @"
72+ openAiDalleEndpoint: ${env: AZURE_OPENAI_DALL_E_ENDPOINT}
73+ openAiDalleModelName: ${env: AZURE_OPENAI_DALL_E_MODEL_NAME}
74+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
75+ }
76+ }
77+
78+ # ##########################################################
79+ # Add order-service
80+ # ##########################################################
81+ @"
82+ orderService:
83+ image:
84+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/order-service
85+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
86+
87+ # Add Azure Service Bus to order-service if provided
88+ if ($env: AZURE_SERVICE_BUS_HOST ) {
89+ @"
90+ queueHost: ${env: AZURE_SERVICE_BUS_HOST}
91+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
92+ }
93+
94+ # ##########################################################
95+ # Add makeline-service
96+ # ##########################################################
97+ @"
98+ makelineService:
99+ image:
100+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/makeline-service
101+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
102+
103+ # Add Azure Service Bus to makeline-service if provided
104+ # (Parity with bash: check HOST presence and write HOST value)
105+ if ($env: AZURE_SERVICE_BUS_HOST ) {
106+ @"
107+ orderQueueHost: ${env: AZURE_SERVICE_BUS_HOST}
108+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
109+ }
110+
111+ # Add Azure Cosmos DB to makeline-service if provided
112+ if ($env: AZURE_COSMOS_DATABASE_URI ) {
113+ @"
114+ orderDBApi: ${env: AZURE_DATABASE_API}
115+ orderDBUri: ${env: AZURE_COSMOS_DATABASE_URI}
116+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
117+ }
118+
119+ # ##########################################################
120+ # Do not deploy RabbitMQ when using Azure Service Bus
121+ # ##########################################################
122+ if ($env: AZURE_SERVICE_BUS_HOST ) {
123+ @"
124+ useRabbitMQ: false
125+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
126+ }
127+
128+ # ##########################################################
129+ # Do not deploy MongoDB when using Azure Cosmos DB
130+ # ##########################################################
131+ if ($env: AZURE_COSMOS_DATABASE_URI ) {
132+ @"
133+ useMongoDB: false
134+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
135+ }
0 commit comments