nxtgauge-gitops/scripts/render-backend-rust-release-state.sh
2026-06-17 03:28:47 +05:30

53 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
state_file="$repo_root/apps/nxtgauge-backend-rust/overlays/prod/backend-release-state.tsv"
release_file="$repo_root/apps/nxtgauge-backend-rust/overlays/prod/release-patches.yaml"
disabled_file="$repo_root/apps/nxtgauge-backend-rust/overlays/prod/disabled-deployments.yaml"
: > "$release_file"
: > "$disabled_file"
release_first=true
disabled_first=true
while IFS=$'\t' read -r service digest replicas; do
[ -n "$service" ] || continue
deployment="nxtgauge-rust-$service"
container="$service"
if [ "$digest" != "-" ]; then
if [ "$release_first" = false ]; then
printf '%s\n' '---' >> "$release_file"
fi
release_first=false
cat >> "$release_file" <<PATCH
apiVersion: apps/v1
kind: Deployment
metadata:
name: $deployment
spec:
replicas: $replicas
template:
spec:
containers:
- name: $container
image: ci.nxtgauge.com/ashwin/nxtgauge-rust-$service@$digest
PATCH
fi
if [ "$replicas" = "0" ]; then
if [ "$disabled_first" = false ]; then
printf '%s\n' '---' >> "$disabled_file"
fi
disabled_first=false
cat >> "$disabled_file" <<PATCH
apiVersion: apps/v1
kind: Deployment
metadata:
name: $deployment
spec:
replicas: 0
PATCH
fi
done < "$state_file"