53 lines
1.3 KiB
Bash
Executable file
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"
|