#!/usr/bin/env bash set -euo pipefail NAMESPACE="stonks-oracle" REPO_DIR="$HOME/sources/celesrenata/stonks-oracle" CHART_DIR="$REPO_DIR/infra/helm/stonks-oracle" MIGRATIONS_DIR="$REPO_DIR/infra/migrations" # --- Secrets --- GHCR_TOKEN=$(cat /run/secrets/github_token) MINIO_ACCESS_KEY="AKIA6V7J3N9B5P0D2YQH" MINIO_SECRET_KEY='8fG3!v2rJ7$wN@9mLpQ6zXbC4tKdPqW1' PG_PASSWORD='St0nks0racl3!' REDIS_PASSWORD='PSCh4ng3me!' echo "=== Stonks Oracle Deployment ===" # --- 1. Ensure namespace exists with correct labels --- echo "[1/4] Ensuring namespace $NAMESPACE exists..." if ! kubectl get namespace "$NAMESPACE" >/dev/null 2>&1; then kubectl create namespace "$NAMESPACE" fi # Label it so Helm doesn't complain about ownership kubectl label namespace "$NAMESPACE" app.kubernetes.io/managed-by=Helm --overwrite kubectl annotate namespace "$NAMESPACE" meta.helm.sh/release-name=stonks-oracle meta.helm.sh/release-namespace=stonks-oracle --overwrite # --- 2. Create PostgreSQL user and database --- echo "[2/4] Setting up PostgreSQL database and user..." kubectl exec -i -n postgresql-service postgresql-1 -c postgres -- psql -U postgres < $(basename "$f")" kubectl exec -i -n postgresql-service postgresql-1 -c postgres -- psql -U postgres -d stonks < "$f" 2>&1 | grep -v "already exists" || true done # Grant permissions kubectl exec -i -n postgresql-service postgresql-1 -c postgres -- psql -U postgres -d stonks <