prole/conf/k3d-prole-new.cfg
chrisfu 5e0a1bda85 feat: Add GitOps (Gitea) and Supabase integration, plus database options
- Makefile: Added 'init' and 'deploy' targets for k3s parity and Gitea staging.

- OpenTofu: Fixed namespace handling in k3s main.tf to prevent metadata overwrites.

- UI: Added 'GitOps' and 'Database Options' configuration screens.

- Core: Enhanced monitoring, milestones, and environment handling for new services.

- Supabase: Integrated full Helm chart and manifest rendering logic.

- Gitea: Added deployment scripts and GitOps sync support.

- Database: Added Percona/Postgres Dockerfile templates and improved TDE scripts.

- Tests: Added coverage for new UI screens and navigation flows.
2026-02-26 18:32:15 -08:00

200 lines
12 KiB
INI

; Prole Master Configuration File
; Generated by install.py on 2026-02-26 00:56:29
; This file is used as input for Ansible deployment and k8s cluster creation.
[User]
; User-editable values; derived values below reference these by default.
NAMESPACE = ${NAMESPACE}
PROLE_CONF = ${PROLE_HOME}/conf
PROLE_DATA = /opt/prole/data/chrisfu
PROLE_HOME = /Users/chrisfu/dev/prole
PROLE_LOGS = /opt/prole/logs/chrisfu
PROLE_SERVICE = ${PROLE_HOME}/etc
SERVICE_NAMESPACE = default
[Inputs]
; Screen-scoped inputs used for unattended replays (-S)
build.deploy_env = Dev
build.run_build = false
dependencies.ansible.install = true
dependencies.auto_install_missing = true
dependencies.brew.install = true
dependencies.docker.install = true
dependencies.k3d.install = true
dependencies.kubectl.install = true
dependencies.opentofu.install = true
dependencies.python.install = true
dependencies.verify_all = false
disk_selection.disk_type = local
disk_selection.local_path = ${PROLE_HOME}/prole-tools-app/dist
disk_selection.removable_mount =
env_setup.NAMESPACE = ${NAMESPACE}
env_setup.PROLE_CONF = ${PROLE_CONF}
env_setup.PROLE_DATA = ${PROLE_DATA}
env_setup.PROLE_HOME = ${PROLE_HOME}
env_setup.PROLE_LOGS = ${PROLE_LOGS}
env_setup.PROLE_SERVICE = ${PROLE_SERVICE}
init_cluster.at_rest_encryption_enabled = true
init_cluster.cluster_env = k3d-prole-dev-cluster
init_cluster.gitops_enabled = false
init_cluster.k3s_server_url = https://pi.prole.org:6443
init_cluster.k3s_token = ${OPENBAO:kv/prole/${NAMESPACE}/k3s#token}
init_cluster.kerberos_enabled = false
init_cluster.start_cluster = true
init_cluster.supabase_enabled = true
init_cnpg_deploy.force_rollout = false
init_cnpg_deploy.run_deploy = true
init_db_build.run_build = true
init_password.db_host_port = 5432
init_password.db_namespace = ${NAMESPACE}
init_password.db_password = ${OPENBAO:kv/prole/${NAMESPACE}/db#password}
init_password.db_password_confirm = ${OPENBAO:kv/prole/${NAMESPACE}/db#password}
init_password.db_username = chrisfu
init_password.generate_ssh_key = true
init_scripts.run_scripts = true
kerberos_config.enabled = false
kerberos_config.init_authority = false
kerberos_config.kdc = 10.0.0.3
kerberos_config.password = ${OPENBAO:kv/prole/${NAMESPACE}/kerberos#password}
kerberos_config.realm = PROLE.ORG
kerberos_config.test_connection = false
kerberos_config.user =
network_scan.run = true
ollama_config.model =
ollama_config.server_host =
ollama_config.server_port = 11434
[Global]
; Variables used by name in more than one place or assumed global scope
ARGOCD_NAMESPACE = argocd
CLUSTER_ENV = k3d-prole-dev-cluster
DB_HOST_PORT = 5432
DB_PASSWORD = ${OPENBAO:kv/prole/${NAMESPACE}/db#password}
DEPLOYMENT_MODE = k3d
DEPLOYMENT_TARGET = prole-dev-cluster
DOCKER_IMPORT_DIR =
NAMESPACE = ${NAMESPACE}
PROLE_DB_USER = chrisfu
PROLE_ENABLE_LOCAL_REGISTRY = true
PROLE_HOME = ${PROLE_HOME}
PROLE_K3S_SERVER = https://pi.prole.org:6443
PROLE_K3S_TOKEN = ${PROLE_SECRET:v1:7PxbzYh-J2MWFvEr:4HQYe1HI1OOkYObBQ3b5gdjWAUXWGootLltgL4mPVv2KZUMaaWa8rFQ4j-Re_PKl0GRX5MeyCn7GVgN6RxPAx0HnBcdMq5glD66h3b6egLE4yZ5-6SBa3pOBG0MHZr_tqeGhMRobVkJ3eAnleHuqr9lcMFDrRHcm1BingJFNsA9N6MMI9lrwZCWZMT-jrkg59JZcRO5MPhfTLysKvlJ_YP2WeX0fdqeTVFWCQveN8zhZrf8h6o-gloBWzdDGeruHlDZ7ipGQGSCNPA4z2rpqwyNIOqersbsfBbL6wbieDs3tWwgYMiH-U4NSp7W1cO1XUg7UC5SK7TtrQC3R9-Q8wxNZ1LxDoF47tszAwws2JlDPRUE7ay90MXE-fxqWM_JKbhfBll9j7zSsrD5EY8jE21qCFji2F0PMouUADZEgdlXcAlRDDtRAGN-_TQpPcc5CEk1uw6o2iV8NvR8PeaBjowJrsPVxo167CFNWO9yz4DVacnx6v_mJ1H3YFs3MznJCq7e0Ajo-bD8OoYlYCelhi2dyBaelUYi7wXlegfallQLIHFc6B4V3x5snvUo1Ov3YM5KPSKsrLdJ9t8gk-_Y6UTPVZp1Zf5o3rzGzpoAxypGVA8V4scOeBAIZHJN-Na_gpsXRl0tNoykf7v-jQP6qaHYIkPOsJt0zEn3Us8twRTc3S__surX8udu6M69objgsDYo1BfUervaapII2AmiqDjoJbUKMmOJ6UuAc2ltMuHsEt2mJTNJ1sUrd-r_7abnvRpI48zQYuBklod6fHdLtv2uqBNUcdN7AkTlKLXd1hphZBqUCc4UlRmaRn9KQD6u0oJKoV3Pn5JvldfwnYjs2m6FrbAh6MrdLTsA_dNE9_7DDN2SGrhFw09HpDY3Dheu4MZkb82hM9A5YhygAbo69DvRh6vjaXzT0qL6_DPjrsrRFKx1ZW5qSFp0DEDgb5D_sFYiC1gDwF2wWcVthoG-lOs3TdU4QntMYgvdbKiP0UTLqNJQpNEy2DjwBqJghZWmJKanHOjo9rlXCctiefBLxhXemPwPZxVBexKYw8VQj-S3Au3cPYqnRupJfKnJyfqATtcnFyyrZkLvLCb4UeeCeRIc5-ze5lWUiKlyuxs-lkyKSV-c7nrw2ftIb4f6PDl9XCb_NouDlz3en6rIXI8pI_KzK8T5yd0RbQ2ciRIZKsoy-VSJXfDuWIMBcExG0UNJUEbIGkg549XcB4bF_R5l_DsEepJED92qdc3qccLBh5lACI1HcN9X1EOZ6k_2HfP5CEzfVw-wBFc_mR7Bb41deRPH8g4gCrBgijOw=}
PROLE_OPENTOFU_URL = http://127.0.0.1:8080
REGISTRY_NAMESPACE = default
SERVICE_NAMESPACE = default
[Welcome]
; No configuration values captured yet for this section.
[Dependencies]
STATUS = All installed
[Network]
AD_DC_HOST = myrddin.prole.org
AD_DC_IP = 10.0.0.3
ANSIBLE_DOMAIN = prole.org
ANSIBLE_INFRASTRUCTURE = ${PROLE_HOME}/infrastructure
ANSIBLE_INVENTORY = ${PROLE_HOME}/infrastructure/inventory
ANSIBLE_REALM = PROLE.ORG
ANSIBLE_TOPOLOGY = {"domain":"prole.org","realm":"PROLE.ORG","internal_records":{"aventage.prole.org":"10.0.0.206","fairyland.prole.org":"10.0.0.208","loghost.prole.org":"10.0.0.3","morana.prole.org":"10.0.0.66","morgoth.prole.org":"10.0.0.204","myrddin.prole.org":"10.0.0.3","pi.prole.org":"10.0.0.5","raspberry.prole.org":"10.0.0.4","retropie.prole.org":"10.0.0.207","synology.prole.org":"10.0.0.203","zinfandel.prole.org":"10.0.0.205"},"ad_dc":{"host":"myrddin.prole.org","ip":"10.0.0.3"},"k3s":{"server_url":"https://pi.prole.org:6443","server_host":"pi.prole.org","token_present":true},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_hosts":["pi.prole.org","myrddin.prole.org","retropie.prole.org"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org"]},"hosts":{"myrddin.prole.org":"10.0.0.3","pi.prole.org":"10.0.0.5","raspberry.prole.org":"10.0.0.4","retropie.prole.org":"10.0.0.207"},"unmapped_hosts":[]}
KDC_ANSIBLE_DETECTED = 10.0.0.3
[Port Forwards]
PORT_FORWARD_EXTERNAL_DB_HOST = myrddin.prole.org
PORT_FORWARD_EXTERNAL_DB_IP = 10.0.0.3
PORT_FORWARD_EXTERNAL_DB_PORT = 5432
PORT_FORWARD_EXTERNAL_DB_SERVICE = prole-db-rw
PORT_FORWARD_K3D_ENABLED = true
PORT_FORWARD_K3D_MAPPING_1 = id=dashboard;namespace=kubernetes-dashboard;target=svc/kubernetes-dashboard-kong-proxy;address=127.0.0.1;hostPort=8443;servicePort=443;protocol=TCP;description=Kubernetes Dashboard
PORT_FORWARD_K3D_MAPPING_10 = id=supabase-kong;namespace=supabase;target=svc/kong;address=0.0.0.0;hostPort=8000;servicePort=8000;protocol=TCP;description=Supabase API (Kong)
PORT_FORWARD_K3D_MAPPING_11 = id=supabase-studio;namespace=supabase;target=svc/studio;address=0.0.0.0;hostPort=18080;servicePort=3000;protocol=TCP;description=Supabase Studio
PORT_FORWARD_K3D_MAPPING_12 = id=supabase-auth;namespace=supabase;target=svc/auth;address=0.0.0.0;hostPort=9999;servicePort=9999;protocol=TCP;description=Supabase Auth (GoTrue)
PORT_FORWARD_K3D_MAPPING_13 = id=supabase-rest;namespace=supabase;target=svc/rest;address=0.0.0.0;hostPort=3001;servicePort=3000;protocol=TCP;description=Supabase REST (PostgREST)
PORT_FORWARD_K3D_MAPPING_14 = id=supabase-realtime;namespace=supabase;target=svc/realtime;address=0.0.0.0;hostPort=4000;servicePort=4000;protocol=TCP;description=Supabase Realtime
PORT_FORWARD_K3D_MAPPING_2 = id=prometheus;namespace=monitoring;target=svc/kps-kube-prometheus-stack-prometheus;address=127.0.0.1;hostPort=9090;servicePort=9090;protocol=TCP;description=Prometheus UI
PORT_FORWARD_K3D_MAPPING_3 = id=grafana;namespace=monitoring;target=svc/kps-grafana;address=0.0.0.0;hostPort=3000;servicePort=80;protocol=TCP;description=Grafana UI
PORT_FORWARD_K3D_MAPPING_4 = id=postgres;namespace=${NAMESPACE};target=svc/prole-db-rw;address=0.0.0.0;hostPort=5432;servicePort=5432;protocol=TCP;description=PostgreSQL (primary)
PORT_FORWARD_K3D_MAPPING_5 = id=openbao;namespace=default;target=svc/openbao;address=127.0.0.1;hostPort=8200;servicePort=8200;protocol=TCP;description=OpenBao
PORT_FORWARD_K3D_MAPPING_6 = id=argocd;namespace=argocd;target=svc/argocd-server;address=0.0.0.0;hostPort=8081;servicePort=80;protocol=TCP;description=ArgoCD
PORT_FORWARD_K3D_MAPPING_7 = id=garage;namespace=default;target=svc/garage;address=0.0.0.0;hostPort=3900;servicePort=3900;protocol=TCP;description=Garage S3
PORT_FORWARD_K3D_MAPPING_8 = id=opentofu;namespace=default;target=svc/opentofu;address=0.0.0.0;hostPort=8080;servicePort=8080;protocol=TCP;description=OpenTofu
PORT_FORWARD_K3D_MAPPING_9 = id=prole-db-manager;namespace=${NAMESPACE};target=svc/prole-db-manager;address=0.0.0.0;hostPort=80;servicePort=80;protocol=TCP;description=DB Manager UI
PORT_FORWARD_K3S_ENABLED = true
PORT_FORWARD_K3S_MAPPING_1 = id=grafana;namespace=monitoring;target=svc/kps-grafana;address=0.0.0.0;hostPort=3000;servicePort=3000;protocol=TCP;description=Grafana UI (0.0.0.0:3000)
PORT_FORWARD_K3S_MAPPING_2 = id=opentofu;namespace=${NAMESPACE};target=svc/opentofu;address=0.0.0.0;hostPort=8080;servicePort=8080;protocol=TCP;description=OpenTofu UI/API (0.0.0.0:8080)
PORT_FORWARD_K3S_MAPPING_3 = id=openbao;namespace=${NAMESPACE};target=svc/openbao;address=0.0.0.0;hostPort=8200;servicePort=8200;protocol=TCP;description=OpenVault/OpenBao UI/API (0.0.0.0:8200)
PORT_FORWARD_K3S_MAPPING_4 = id=postgres;namespace=${NAMESPACE};target=svc/prole-db-rw;address=0.0.0.0;hostPort=5432;servicePort=5432;protocol=TCP;description=PostgreSQL external (0.0.0.0:5432)
[System Environment]
PROLE_CONF = ${PROLE_CONF}
PROLE_DATA = ${PROLE_DATA}
PROLE_HOME = ${PROLE_HOME}
PROLE_LOGS = ${PROLE_LOGS}
PROLE_OPENTOFU_URL = http://127.0.0.1:8080
PROLE_SERVICE = ${PROLE_SERVICE}
[Monitoring]
GRAFANA_ADMIN_PASSWORD = ${OPENBAO:kv/prole/${NAMESPACE}/monitoring#grafana_admin_password}
[Kerberos Authentication]
PASSWORD = ${OPENBAO:kv/prole/${NAMESPACE}/kerberos#password}
[Ollama]
; No configuration values captured yet for this section.
[Optional Features]
AT_REST_ENCRYPTION_ENABLED = true
GITOPS_ENABLED = false
KERBEROS_ENABLED = false
SUPABASE_ENABLED = true
[GitOps]
[Database Creation]
DB_NAME = prole-chrisfu-abracadabra
DB_PASSWORD_SET = true
DB_USER = chrisfu
NAMESPACE = prole-chrisfu-abracadabra
[Initialize Cluster]
ENVIRONMENT = k3d-prole-dev-cluster
K3S_SERVER_URL = https://pi.prole.org:6443
K3S_TOKEN = ${PROLE_SECRET:v1:-sPPStEN7GQEkuhI:ozUsHxoQiHCTmYxfZNJHp3yBf91OW-bGtBT1WtuYYvDEUtC4psiUiVU_KJVFlZHdS7iWCEsIitqf_JdygH3aCMloGbh01yVzyswEGVeNiaXGxE8tZ9H5pZ3fENwioPe-gAwXE_sp7yC8sWlfBMrIrRiLo8VAMxYaIQ1Icizvow9fqz38tBCZdQwsefNBoy_mhcbgLEVhCfYdch8EeC2LgmplFj9lPmyW9M22O-5l5EW3IEv901yma__at5nNDbj9Tie9ZPhoGRNnXp68lcNCsfVqS9kevvts-DS-eY5Yo1MH1pDmY_IvC_GME0bNw467lCQ4QFNK8U7R_XSMyYpMreUdCs7p4tvz2vWBJB92bgc7F-FzoAYviTNzsvFyoOiWQ44W4IzJ1ze-dTuSzP70MspglX6yZr18Nc0n1iqS3oTC9240NYgDMGGU2AoMJvb1ejJFmAFAvZketI0OD3bQvkQmk4a9Ej9Z01Fwp1TUH1DHAqmwkV70LrnKrmO7ptmdWTsWll8uE4M755KB3quSQhMzzFhFufXRAFWXTETgP9r-qkVRNCR4gSP-_8AMWUciDBUGjRP3S2xmTXKZwbdvTsaDWylCppqlRFKrqx4hDqtjoKxaYC1LzCEl945BEMTI604gpVfsPy62Vcjikb95EeFoTEM3_nt6c_ROR52U1Hv-V3lOFerSbsj0O5z9PNjwm2216-cPbDiS0-CRBW2XauK0aQjicjOOPyR8__XIbykWuXVfmcVY8pPFDUVjtX3GzsK3ym4l1pUbJ1iQ_L2oFEF6rhOXciaKFhQsy8WIn2SxWQwbYnIkONlc-vHAq1cMIH2AkeMZIteUelKnLSqiC_czmz7bDM4G9L6cO3O0oTVeQ3PLsf6vTsZQUGs6GDKwzPu4DwRpWq0rZqcCTcoC0vDuCMTmGhpBbqLxeApY1jj6QRT-w1-FjEh9ttk_VTwqqm7Lgz8BfdEeBGgsPLRYjqV_cKgQJ5IX0qNJ2To8ekrGdoKkN3h_JTAMBRwU-5PUJmx-ct972hwv8ScCf0-Ap_I7eUKjdQ5UBXv0laK0grFF4SMqmOs5OG5F3kY3Z-9AEi6vDYZzB-NKBTGS8fB0aSz4TrSVp171S5DvkU76HQ23d0tce_358hbD-GzX8i5U9q8YXvgsyVbvFpJMdth1MYmvOa42qGQm8-iYfGHXC0m5CrAPrxXakwupoMYUr1hmhXDSkFWNon02cWWZgK8Fh8gKvdscWCZCZtzijoB27SlxICWav9Ofow4Hb0sYeBg-f8YEJBAjnrKgX1B46OHTZ2Nm76pgDzR24xI=}
[Dev Cluster (k3d)]
CLUSTER_ENV = k3d-prole-dev-cluster
DISPLAY_NAME = prole-dev-cluster
KUBECTL_CONTEXT = k3d-prole-dev-cluster
MODE = k3d
[Service Cluster (k3s)]
CLUSTER_ENV = prole-service-cluster
DISPLAY_NAME = prole-service-cluster
K3S_SERVER_URL = https://pi.prole.org:6443
K3S_TOKEN = ${OPENBAO:kv/prole/${NAMESPACE}/k3s#token}
MODE = k3s
PIPELINE_URL = http://127.0.0.1:8080
[Prod Cluster (k8s)]
ARTIFACTS_DIR = ${PROLE_DATA}/staging
CLUSTER_ENV = prole-prod-cluster
DISPLAY_NAME = prole-prod-cluster
MODE = k8s
PIPELINE_URL = http://127.0.0.1:8080
[Docker Build]
LOCAL_REGISTRY = localhost:5000
LOCAL_REGISTRY_INTERNAL = k3d-prole-registry.localhost:5000
STATUS = Built
[Initialization Scripts]
STATUS = Attempted
[Deployment]
MODE = k3d
STATUS = Deployed
TARGET = prole-dev-cluster
[Install]
STATUS = Finished