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+ namespace: ${env: AZURE_AKS_NAMESPACE}
39+ productService:
40+ image:
41+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/product-service
42+ storeAdmin:
43+ image:
44+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/store-admin
45+ storeFront:
46+ image:
47+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/store-front
48+ virtualCustomer:
49+ image:
50+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/virtual-customer
51+ virtualWorker:
52+ image:
53+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/virtual-worker
54+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
55+
56+ # ##########################################################
57+ # Add ai-service if Azure OpenAI endpoint is provided
58+ # ##########################################################
59+ if ($env: AZURE_OPENAI_ENDPOINT ) {
60+ @"
61+ aiService:
62+ image:
63+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/ai-service
64+ create: true
65+ modelDeploymentName: ${env: AZURE_OPENAI_MODEL_NAME}
66+ openAiEndpoint: ${env: AZURE_OPENAI_ENDPOINT}
67+ useAzureOpenAi: true
68+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
69+
70+ # If DALL-E model endpoint and name exist
71+ if ($env: AZURE_OPENAI_DALL_E_ENDPOINT -and $env: AZURE_OPENAI_DALL_E_MODEL_NAME ) {
72+ @"
73+ openAiDalleEndpoint: ${env: AZURE_OPENAI_DALL_E_ENDPOINT}
74+ openAiDalleModelName: ${env: AZURE_OPENAI_DALL_E_MODEL_NAME}
75+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
76+ }
77+ }
78+
79+ # ##########################################################
80+ # Add order-service
81+ # ##########################################################
82+ @"
83+ orderService:
84+ image:
85+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/order-service
86+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
87+
88+ # Add Azure Service Bus to order-service if provided
89+ if ($env: AZURE_SERVICE_BUS_HOST ) {
90+ @"
91+ queueHost: ${env: AZURE_SERVICE_BUS_HOST}
92+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
93+ }
94+
95+ # ##########################################################
96+ # Add makeline-service
97+ # ##########################################################
98+ @"
99+ makelineService:
100+ image:
101+ repository: ${env: SOURCE_REGISTRY} /aks-store-demo/makeline-service
102+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
103+
104+ # Add Azure Service Bus to makeline-service if provided
105+ # (Parity with bash: check URI presence but write HOST value)
106+ if ($env: AZURE_SERVICE_BUS_URI ) {
107+ @"
108+ orderQueueHost: ${env: AZURE_SERVICE_BUS_HOST}
109+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
110+ }
111+
112+ # Add Azure Cosmos DB to makeline-service if provided
113+ if ($env: AZURE_COSMOS_DATABASE_URI ) {
114+ @"
115+ orderDBApi: ${env: AZURE_DATABASE_API}
116+ orderDBUri: ${env: AZURE_COSMOS_DATABASE_URI}
117+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
118+ }
119+
120+ # ##########################################################
121+ # Do not deploy RabbitMQ when using Azure Service Bus
122+ # ##########################################################
123+ if ($env: AZURE_SERVICE_BUS_HOST ) {
124+ @"
125+ useRabbitMQ: false
126+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
127+ }
128+
129+ # ##########################################################
130+ # Do not deploy MongoDB when using Azure Cosmos DB
131+ # ##########################################################
132+ if ($env: AZURE_COSMOS_DATABASE_URI ) {
133+ @"
134+ useMongoDB: false
135+ "@ | Out-File - FilePath custom- values.yaml - Append - Encoding utf8
136+ }
0 commit comments