This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/docker-entrypoint.sh
Jeffrey Smith f0dd43144e rebrand: Switchboard Core → Armature
- Rename Go module switchboard-core → armature (155+ files)
- Rename Docker image → gobha/armature
- Rename K8s resources, secrets, deployments
- Rename Prometheus metrics switchboard_* → armature_*
- Rename env vars SWITCHBOARD_ADMIN_* → ARMATURE_ADMIN_*
- Rename DB names switchboard_core* → armature*
- Update all frontend branding, notification templates, docs
- Update CI scripts, e2e tests, Keycloak realm, nginx conf
- Rename scripts/switchboard-ca.sh → scripts/armature-ca.sh
- Rename k8s/switchboard.yaml → k8s/armature.yaml
- Rename chart alerting/dashboard files
- Fix: DockerHub push uses env: binding for secret injection
- Helm chart updated (name, labels, template functions, dashboard, alerting)
- Replace favicon/icon assets with Armature brand

No functional changes. Pure mechanical rename + CI fix.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 21:39:58 +00:00

51 lines
1.5 KiB
Bash

#!/bin/bash
# ============================================
# Armature - Backend Launcher
# ============================================
# Runs as an nginx entrypoint.d hook.
# Starts the Go backend in the background
# before nginx begins accepting connections.
# ============================================
set -e
# Inject BASE_PATH into frontend HTML/JS at runtime
if [ -n "${BASE_PATH}" ]; then
echo "🔧 Injecting BASE_PATH=${BASE_PATH} into frontend assets..."
find /usr/share/nginx/html -type f \( -name '*.html' -o -name '*.js' \) \
-exec sed -i "s|%%BASE_PATH%%|${BASE_PATH}|g" {} +
else
# No prefix — strip the placeholder entirely
find /usr/share/nginx/html -type f \( -name '*.html' -o -name '*.js' \) \
-exec sed -i "s|%%BASE_PATH%%||g" {} +
fi
echo "🔀 Starting Armature backend..."
# Kill any stale backend from a previous entrypoint run
pkill -f /usr/local/bin/armature 2>/dev/null || true
sleep 0.2
# Launch Go backend in background (from /app so migrations are found)
cd /app
/usr/local/bin/armature &
BACKEND_PID=$!
# Wait for backend to be ready (max 60s)
for i in $(seq 1 120); do
if wget -q --spider http://localhost:${PORT:-8080}${BASE_PATH}/health 2>/dev/null; then
echo "✅ Backend ready (PID ${BACKEND_PID})"
exit 0
fi
# Check backend didn't crash
if ! kill -0 ${BACKEND_PID} 2>/dev/null; then
echo "❌ Backend process died"
exit 1
fi
sleep 0.5
done
echo "❌ Backend failed to start within 60s"
kill ${BACKEND_PID} 2>/dev/null || true
exit 1