Spaces:
Runtime error
Runtime error
File size: 1,871 Bytes
857a91b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #!/usr/bin/env bash
# Install matrix-runtime locally, via Docker, or to Kubernetes.
set -euo pipefail
MODE="local"
RUNTIME_MODE="${MATRIX_RUNTIME_MODE:-local-dev}"
NAMESPACE="${NAMESPACE:-matrix-runtime}"
usage() {
cat <<EOF
Usage: $0 --mode <docker|kubernetes|local> [options]
--mode docker Build and run via docker compose
--mode kubernetes Apply raw manifests in deploy/k8s
--mode local Build the binary and run it (default)
Environment:
MATRIX_RUNTIME_MODE Runtime mode (default: local-dev)
NAMESPACE Kubernetes namespace (default: matrix-runtime)
EOF
}
while [[ $# -gt 0 ]]; do
case "$1" in
--mode) MODE="$2"; shift 2 ;;
-h|--help) usage; exit 0 ;;
*) echo "unknown arg: $1" >&2; usage; exit 1 ;;
esac
done
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
case "$MODE" in
docker)
echo "==> Starting matrix-runtime via docker compose"
docker compose -f "$ROOT/deploy/docker-compose/docker-compose.yml" up --build -d
;;
kubernetes)
echo "==> Applying Kubernetes manifests to namespace $NAMESPACE"
kubectl apply -f "$ROOT/deploy/k8s/namespace.yaml"
kubectl apply -f "$ROOT/deploy/k8s/configmap.yaml"
[[ -f "$ROOT/deploy/k8s/secret.yaml" ]] && kubectl apply -f "$ROOT/deploy/k8s/secret.yaml" || \
echo " (skipping secret; copy secret.example.yaml to secret.yaml and edit it)"
kubectl apply -f "$ROOT/deploy/k8s/pvc.yaml"
kubectl apply -f "$ROOT/deploy/k8s/deployment.yaml"
kubectl apply -f "$ROOT/deploy/k8s/service.yaml"
;;
local)
echo "==> Building matrix-runtime binary"
(cd "$ROOT" && go build -o bin/matrix-runtime ./cmd/matrix-runtime)
echo "==> Starting matrix-runtime (mode=$RUNTIME_MODE)"
exec "$ROOT/bin/matrix-runtime" --mode "$RUNTIME_MODE"
;;
*)
echo "unknown mode: $MODE" >&2; usage; exit 1 ;;
esac
|