doran/.env.example
2026-03-28 20:53:29 +01:00

40 lines
1.6 KiB
Text

# Local dev / container runtime values
NEAR_INTENTS_API_KEY=replace_me
NEAR_INTENTS_WS_URL=wss://solver-relay-v2.chaindefuser.com/ws
KAFKA_BROKERS=redpanda:9092
KAFKA_CLIENT_ID=unrip
KAFKA_TOPIC_RAW_NEAR_INTENTS_QUOTE=raw.near_intents.quote
KAFKA_TOPIC_NORM_SWAP_DEMAND=norm.swap_demand
KAFKA_TOPIC_CMD_EXECUTE_TRADE=cmd.execute_trade
KAFKA_TOPIC_EXEC_TRADE_RESULT=exec.trade_result
KAFKA_CONSUMER_GROUP_DUMMY=dummy-reactor-v1
KAFKA_CONSUMER_GROUP_EXECUTOR=dummy-executor-v1
EXECUTOR_STATE_DIR=/var/lib/unrip/executor-state
# Repo-driven Hetzner bootstrap values live separately from the app .env.
# Copy scripts/hetzner/bootstrap-secrets.env.example to
# scripts/hetzner/bootstrap-secrets.env, fill in the values, then:
# source scripts/hetzner/bootstrap-secrets.env
# bash scripts/hetzner/bootstrap.sh
#
# The local-machine bootstrap flow is:
# 1. provide Hetzner token + SSH key path + DNS/ingress values + app/bootstrap secrets
# 2. run Terraform from infra/terraform/hetzner
# 3. wait for cloud-init/k3s readiness
# 4. fetch kubeconfig to .state/hetzner/kubeconfig.yaml
# 5. create Kubernetes Secrets from local values
# 6. build/import the current app image into k3s
# 7. apply repo Kubernetes manifests and let the bootstrap job create topics
#
# Expected bootstrap inputs:
# - HCLOUD_TOKEN
# - SSH_PUBLIC_KEY_PATH
# - TF_ADMIN_CIDR_BLOCKS
# - BASE_DOMAIN
# - FORGEJO_DOMAIN
# - FORGEJO_ROOT_URL
# - NEAR_INTENTS_API_KEY
# - FORGEJO_RUNNER_REGISTRATION_TOKEN
#
# Future k3s deployment should source the app values from Kubernetes Secret/ConfigMap.
# Hetzner bootstrap path clones the repo to /opt/unrip/repo for later deploy/k8s assets.