50 lines
2.6 KiB
Bash
50 lines
2.6 KiB
Bash
#!/usr/bin/env bash
|
|
# Deploy entry for the radicle_seed cluster component. Runs ON the control-plane
|
|
# node (k0s kubectl reachable only there — see control-plane-ssh-cluster-access).
|
|
# Deployed via the orchestrator core (`provisioning component install radicle_seed`):
|
|
# run_taskserv renders env-radicle_seed.j2 → env-radicle_seed, injects
|
|
# radicle-seed.sops.yaml → _credentials.env, bundles this dir + catalog/lib/, and
|
|
# runs this script on the CP. Methods live in radicle_seed-lib.sh.
|
|
#
|
|
# Scope: radicle-node (P2P 8776) + radicle-httpd (8080), seedingPolicy default=block
|
|
# (selective). The cib + radicle-nats-adapter CI bridge (in the image) is a second
|
|
# layer added once NATS wiring exists.
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
[ -f "${SCRIPT_DIR}/env-radicle_seed" ] && source "${SCRIPT_DIR}/env-radicle_seed"
|
|
# SOPS-injected identity (RADICLE_IDENTITY_KEY_B64/_PUB_B64, RADICLE_ALIAS, …) —
|
|
# written by the orchestrator's run_taskserv from radicle-seed.sops.yaml.
|
|
[ -f "${SCRIPT_DIR}/_credentials.env" ] && set -a && source "${SCRIPT_DIR}/_credentials.env" && set +a
|
|
|
|
RADICLE_NAMESPACE="${RADICLE_NAMESPACE:-ops}"
|
|
RADICLE_IMAGE="${RADICLE_IMAGE:-daoreg.librecloud.online/solera/radicle-seed:1.9.1}"
|
|
RADICLE_ALIAS="${RADICLE_ALIAS:-seed.libre-daoshi}"
|
|
RADICLE_P2P_PORT="${RADICLE_P2P_PORT:-8776}"
|
|
RADICLE_HTTP_PORT="${RADICLE_HTTP_PORT:-8080}"
|
|
RADICLE_EXTERNAL_ADDR="${RADICLE_EXTERNAL_ADDR:-10.0.8.5:8776}"
|
|
RADICLE_SEEDING_DEFAULT="${RADICLE_SEEDING_DEFAULT:-block}"
|
|
RADICLE_SEEDING_SCOPE="${RADICLE_SEEDING_SCOPE:-all}"
|
|
RADICLE_SEED_RIDS="${RADICLE_SEED_RIDS:-}"
|
|
RADICLE_STORAGE_SIZE="${RADICLE_STORAGE_SIZE:-10Gi}"
|
|
RADICLE_STORAGE_CLASS="${RADICLE_STORAGE_CLASS:-hcloud-volumes}"
|
|
RADICLE_RAD_HOME="${RADICLE_RAD_HOME:-/radicle/.radicle}"
|
|
RADICLE_HOST_NETWORK="${RADICLE_HOST_NETWORK:-false}"
|
|
RADICLE_NODE_SELECTOR="${RADICLE_NODE_SELECTOR:-}"
|
|
RADICLE_GATEWAY_ENABLED="${RADICLE_GATEWAY_ENABLED:-false}"
|
|
RADICLE_GATEWAY_NAME="${RADICLE_GATEWAY_NAME:-libre-daoshi}"
|
|
RADICLE_GATEWAY_NS="${RADICLE_GATEWAY_NS:-kube-system}"
|
|
RADICLE_LISTENER_NAME="${RADICLE_LISTENER_NAME:-https-radicle-seed}"
|
|
RADICLE_HOSTNAME="${RADICLE_HOSTNAME:-seed.librecloud.online}"
|
|
RADICLE_CLUSTER_ISSUER="${RADICLE_CLUSTER_ISSUER:-letsencrypt-prod-librecloud}"
|
|
RADICLE_CERT_SECRET="${RADICLE_CERT_SECRET:-radicle-tls}"
|
|
RADICLE_CERT_NAMESPACE="${RADICLE_CERT_NAMESPACE:-kube-system}"
|
|
|
|
# shellcheck source=radicle_seed-lib.sh
|
|
source "${SCRIPT_DIR}/radicle_seed-lib.sh"
|
|
|
|
case "${1:-install}" in
|
|
install) cmd_install ;;
|
|
uninstall) cmd_uninstall ;;
|
|
*) echo "usage: $0 {install|uninstall}" >&2; exit 2 ;;
|
|
esac
|