Files
cloud-host/scripts/gitops-deploy.sh
T
keyhan 5ed2ef0958
Build and Deploy Platform / build-push-deploy (push) Has been cancelled
Add GitOps stack for abrban.com with Gitea Actions CI/CD.
Harbor in-cluster builds via Kaniko, ArgoCD auto-sync, and production Helm values for abrban.com domains.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 01:27:20 +03:30

37 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# Deploy platform via Helm only — images must already be in Harbor (built by Gitea Actions / Kaniko).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
NAMESPACE="${NAMESPACE:-cloudhost}"
RELEASE="${RELEASE:-cloudhost}"
VALUES="${VALUES:-${ROOT}/gitops/platform/values-abrban.yaml}"
TAG="${TAG:-}"
if [[ -z "${TAG}" ]]; then
TAG="$(grep -E '^\s+tag:' "${VALUES}" | head -1 | sed 's/.*tag: *"\?\([^"]*\)"\?.*/\1/')"
fi
if [[ -z "${TAG}" || "${TAG}" == "1.0.0" ]]; then
echo "ERROR: No image tag set. Build in-cluster first:" >&2
echo " ./scripts/trigger-platform-build.sh" >&2
echo "Or set TAG=... after CI has pushed images." >&2
exit 1
fi
echo "==> Helm upgrade ${RELEASE} (tag=${TAG})"
helm upgrade --install "${RELEASE}" "${ROOT}/backend/helm/cloudhost-platform" \
-n "${NAMESPACE}" \
-f "${VALUES}" \
--set createNamespace=false \
--set global.storageClass=local-path \
--set images.backend.tag="${TAG}" \
--set images.frontend.tag="${TAG}" \
--timeout 15m \
--wait
kubectl -n "${NAMESPACE}" rollout status deploy/cloudhost-backend --timeout=300s
kubectl -n "${NAMESPACE}" rollout status deploy/cloudhost-frontend --timeout=300s
echo "==> Done (tag=${TAG})"