Skip to content

Commit 1099999

Browse files
authored
Merge pull request #113 from SentriusLLC/copilot/add-aks-support-scripts
[WIP] Add AKS support for build-all-images-concurrent.sh
2 parents 42bad37 + 795489d commit 1099999

File tree

2 files changed

+43
-22
lines changed

2 files changed

+43
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ package-lock.json
5050
.env.bak
5151
.local.env.bak
5252
.gcp.env.bak
53+
.azure.env.bak
5354
cp.env.bak
5455
.generated.env
5556
api/node_modules/

ops-scripts/base/build-all-images-concurrent.sh

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
# total build time compared to the sequential build-images.sh script.
77
#
88
# Usage:
9-
# ./build-all-images-concurrent.sh [local|gcp] [OPTIONS]
9+
# ./build-all-images-concurrent.sh [local|gcp|azure] [OPTIONS]
1010
#
1111
# Environment Target (optional, defaults to 'local'):
1212
# local Build for local development (tags as 'latest')
1313
# gcp Build and push to GCP registry (increments version)
14+
# azure Build and push to Azure Container Registry (increments version)
1415
#
1516
# Options:
1617
# --all Build all images
@@ -40,10 +41,14 @@
4041
# # Build and push to GCP registry
4142
# ./build-all-images-concurrent.sh gcp --all
4243
#
44+
# # Build and push to Azure Container Registry
45+
# ./build-all-images-concurrent.sh azure --all
46+
#
4347
# Note: This script requires the same prerequisites as build-images.sh:
4448
# - Maven artifacts must be built first (mvn clean install)
4549
# - For local builds, Minikube should be running
4650
# - For GCP builds, gcloud authentication must be configured
51+
# - For Azure builds, az CLI authentication must be configured
4752
#
4853

4954
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
@@ -55,14 +60,14 @@ ENV_TARGET="local" # default mode
5560
NO_CACHE=false
5661
INCLUDE_DEV_CERTS=false
5762

58-
# --- Parse the environment target (local | gcp) ---
59-
if [[ "$1" == "local" || "$1" == "gcp" ]]; then
63+
# --- Parse the environment target (local | gcp | azure) ---
64+
if [[ "$1" == "local" || "$1" == "gcp" || "$1" == "azure" ]]; then
6065
ENV_TARGET="$1"
6166
shift
6267
fi
6368

64-
# --- Load environment file only for GCP (versions needed for registry) ---
65-
if [[ "$ENV_TARGET" == "gcp" ]]; then
69+
# --- Load environment file for GCP or Azure (versions needed for registry) ---
70+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
6671
ENV_FILE=".$ENV_TARGET.env"
6772
source "$ENV_FILE"
6873
cp "$ENV_FILE" "$ENV_FILE.bak"
@@ -167,6 +172,11 @@ build_image() {
167172
docker tag "$name:$version" "$REGISTRY/$name:$version"
168173
docker push "$REGISTRY/$name:$version"
169174
echo "✅ Pushed $REGISTRY/$name:$version"
175+
elif [[ "$ENV_TARGET" == "azure" ]]; then
176+
REGISTRY="${AZURE_REGISTRY:-sentriusacr.azurecr.io}"
177+
docker tag "$name:$version" "$REGISTRY/$name:$version"
178+
docker push "$REGISTRY/$name:$version"
179+
echo "✅ Pushed $REGISTRY/$name:$version"
170180
else
171181
echo "✅ Built locally: $name:$version"
172182
fi
@@ -237,6 +247,11 @@ build_keycloak_image() {
237247
docker tag "$name:$version" "$REGISTRY/$name:$version"
238248
docker push "$REGISTRY/$name:$version"
239249
echo "✅ Pushed $REGISTRY/$name:$version"
250+
elif [[ "$ENV_TARGET" == "azure" ]]; then
251+
REGISTRY="${AZURE_REGISTRY:-sentriusacr.azurecr.io}"
252+
docker tag "$name:$version" "$REGISTRY/$name:$version"
253+
docker push "$REGISTRY/$name:$version"
254+
echo "✅ Pushed $REGISTRY/$name:$version"
240255
else
241256
echo "✅ Built locally: $name:$version"
242257
fi
@@ -286,10 +301,15 @@ while [[ "$#" -gt 0 ]]; do
286301
shift
287302
done
288303

289-
# --- Auth for GCP ---
304+
# --- Auth for GCP or Azure ---
290305
if [[ "$ENV_TARGET" == "gcp" ]]; then
291306
echo "Authenticating with Google Cloud..."
292307
gcloud auth configure-docker us-central1-docker.pkg.dev || exit 1
308+
elif [[ "$ENV_TARGET" == "azure" ]]; then
309+
echo "Authenticating with Azure Container Registry..."
310+
REGISTRY="${AZURE_REGISTRY:-sentriusacr.azurecr.io}"
311+
REGISTRY_NAME=$(echo "$REGISTRY" | cut -d'.' -f1)
312+
az acr login --name "$REGISTRY_NAME" || exit 1
293313
fi
294314

295315
# Array to track background job PIDs
@@ -315,7 +335,7 @@ start_build() {
315335
# --- Build Steps (Concurrent) ---
316336
if $update_sentrius; then
317337
cp api/target/sentrius-api-*.jar docker/sentrius/sentrius.jar
318-
if [[ "$ENV_TARGET" == "gcp" ]]; then
338+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
319339
SENTRIUS_VERSION=$(increment_patch_version $SENTRIUS_VERSION)
320340
update_env_var "SENTRIUS_VERSION" "$SENTRIUS_VERSION"
321341
else
@@ -325,7 +345,7 @@ if $update_sentrius; then
325345
fi
326346

327347
if $update_sentrius_ssh; then
328-
if [[ "$ENV_TARGET" == "gcp" ]]; then
348+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
329349
SENTRIUS_SSH_VERSION=$(increment_patch_version $SENTRIUS_SSH_VERSION)
330350
update_env_var "SENTRIUS_SSH_VERSION" "$SENTRIUS_SSH_VERSION"
331351
else
@@ -335,7 +355,7 @@ if $update_sentrius_ssh; then
335355
fi
336356

337357
if $update_sentrius_keycloak; then
338-
if [[ "$ENV_TARGET" == "gcp" ]]; then
358+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
339359
SENTRIUS_KEYCLOAK_VERSION=$(increment_patch_version $SENTRIUS_KEYCLOAK_VERSION)
340360
update_env_var "SENTRIUS_KEYCLOAK_VERSION" "$SENTRIUS_KEYCLOAK_VERSION"
341361
else
@@ -346,7 +366,7 @@ fi
346366

347367
if $update_sentrius_agent; then
348368
cp analytics/target/analytics-*.jar docker/sentrius-agent/agent.jar
349-
if [[ "$ENV_TARGET" == "gcp" ]]; then
369+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
350370
SENTRIUS_AGENT_VERSION=$(increment_patch_version $SENTRIUS_AGENT_VERSION)
351371
update_env_var "SENTRIUS_AGENT_VERSION" "$SENTRIUS_AGENT_VERSION"
352372
else
@@ -357,7 +377,7 @@ fi
357377

358378
if $update_sentrius_ai_agent; then
359379
cp enterprise-agent/target/enterprise-agent-*.jar docker/sentrius-ai-agent/agent.jar
360-
if [[ "$ENV_TARGET" == "gcp" ]]; then
380+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
361381
SENTRIUS_AI_AGENT_VERSION=$(increment_patch_version $SENTRIUS_AI_AGENT_VERSION)
362382
update_env_var "SENTRIUS_AI_AGENT_VERSION" "$SENTRIUS_AI_AGENT_VERSION"
363383
else
@@ -371,7 +391,7 @@ fi
371391

372392
if $update_integrationproxy; then
373393
cp integration-proxy/target/sentrius-integration-proxy-*.jar docker/integrationproxy/llmproxy.jar
374-
if [[ "$ENV_TARGET" == "gcp" ]]; then
394+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
375395
LLMPROXY_VERSION=$(increment_patch_version $LLMPROXY_VERSION)
376396
update_env_var "LLMPROXY_VERSION" "$LLMPROXY_VERSION"
377397
else
@@ -382,7 +402,7 @@ fi
382402

383403
if $update_launcher; then
384404
cp agent-launcher/target/agent-launcher-*.jar docker/sentrius-launcher-service/launcher.jar
385-
if [[ "$ENV_TARGET" == "gcp" ]]; then
405+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
386406
LAUNCHER_VERSION=$(increment_patch_version $LAUNCHER_VERSION)
387407
update_env_var "LAUNCHER_VERSION" "$LAUNCHER_VERSION"
388408
else
@@ -393,7 +413,7 @@ fi
393413

394414
if $update_agent_proxy; then
395415
cp agent-proxy/target/sentrius-agent-proxy-*.jar docker/agent-proxy/agentproxy.jar
396-
if [[ "$ENV_TARGET" == "gcp" ]]; then
416+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
397417
AGENTPROXY_VERSION=$(increment_patch_version $AGENTPROXY_VERSION)
398418
update_env_var "AGENTPROXY_VERSION" "$AGENTPROXY_VERSION"
399419
else
@@ -404,7 +424,7 @@ fi
404424

405425
if $update_ssh_proxy; then
406426
cp ssh-proxy/target/ssh-proxy-*.jar docker/ssh-proxy/sshproxy.jar
407-
if [[ "$ENV_TARGET" == "gcp" ]]; then
427+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
408428
SSHPROXY_VERSION=$(increment_patch_version $SSHPROXY_VERSION)
409429
update_env_var "SSHPROXY_VERSION" "$SSHPROXY_VERSION"
410430
else
@@ -415,7 +435,7 @@ fi
415435

416436
if $update_rdp_proxy; then
417437
cp rdp-proxy/target/rdp-proxy-*.jar docker/rdp-proxy/rdpproxy.jar
418-
if [[ "$ENV_TARGET" == "gcp" ]]; then
438+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
419439
RDPPROXY_VERSION=$(increment_patch_version $RDPPROXY_VERSION)
420440
update_env_var "RDPPROXY_VERSION" "$RDPPROXY_VERSION"
421441
else
@@ -426,7 +446,7 @@ fi
426446

427447
if $update_sentrius_monitoring_agent; then
428448
cp monitoring/target/monitoring-*.jar docker/monitoring/monitoring.jar
429-
if [[ "$ENV_TARGET" == "gcp" ]]; then
449+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
430450
MONITORING_AGENT_VERSION=$(increment_patch_version $MONITORING_AGENT_VERSION)
431451
update_env_var "MONITORING_AGENT_VERSION" "$MONITORING_AGENT_VERSION"
432452
else
@@ -437,17 +457,17 @@ fi
437457

438458
if $update_sentrius_ssh_agent; then
439459
cp ssh-agent/target/ssh-agent-*.jar docker/ssh-agent/ssh-agent.jar
440-
if [[ "$ENV_TARGET" == "gcp" ]]; then
441-
$SSH_AGENT_VERSION=$(increment_patch_version $SSH_AGENT_VERSION)
442-
update_env_var "$SSH_AGENT_VERSION" "$SSH_AGENT_VERSION"
460+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
461+
SSH_AGENT_VERSION=$(increment_patch_version $SSH_AGENT_VERSION)
462+
update_env_var "SSH_AGENT_VERSION" "$SSH_AGENT_VERSION"
443463
else
444464
SSH_AGENT_VERSION="latest"
445465
fi
446466
start_build "sentrius-ssh-agent" "build_image 'sentrius-ssh-agent' '$SSH_AGENT_VERSION' '${SCRIPT_DIR}/../../docker/ssh-agent'"
447467
fi
448468

449469
if $update_github_mcp; then
450-
if [[ "$ENV_TARGET" == "gcp" ]]; then
470+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
451471
GITHUB_MCP_VERSION=$(increment_patch_version $GITHUB_MCP_VERSION)
452472
update_env_var "GITHUB_MCP_VERSION" "$GITHUB_MCP_VERSION"
453473
else
@@ -457,7 +477,7 @@ if $update_github_mcp; then
457477
fi
458478

459479
if $update_prompt_advisor; then
460-
if [[ "$ENV_TARGET" == "gcp" ]]; then
480+
if [[ "$ENV_TARGET" == "gcp" || "$ENV_TARGET" == "azure" ]]; then
461481
PROMPT_ADVISOR_VERSION=$(increment_patch_version $PROMPT_ADVISOR_VERSION)
462482
update_env_var "PROMPT_ADVISOR_VERSION" "$PROMPT_ADVISOR_VERSION"
463483
else

0 commit comments

Comments
 (0)