prole/conf/k3s-hosts-prole.cfg
chrisfu 6e2d3e9011 refactor: modernize installer and monitoring setup
- Monitoring: Migrated from manual Grafana/Prometheus manifests to kube-prometheus-stack based setup in etc/init_monitoring.sh. Removed old manifest files from deploy/ and k8s/.
- Installer Core: Refactored installer with new modules for actions, environment handling, and UI screens. Enhanced Milestone logic to support advanced configuration (ArgoCD, Registry namespaces, Kerberos flags, etc.).
- Service & Init Scripts: Updated multiple initialization scripts (init_*.sh) for better integration with OpenBao, Kerberos, and the new monitoring stack. Added new scripts for Nginx Ingress, Ollama parsing, and K3D route fixes.
- Infrastructure: Enhanced Samba AD DC Ansible role with realm derivation, provisioning guidance, and group management. Updated K3s role tasks.
- Configuration: Refined default settings in conf/ to align with the new deployment architecture.
- App & Tools: Updated prole-app Swift code and prole.sh for improved environment variable handling and installation flow.
2026-02-19 21:07:39 -08:00

177 lines
13 KiB
INI

; Prole Master Configuration File
; Generated by install.py on 2026-02-06 00:16:41
; This file is used as input for Ansible deployment and k8s cluster creation.
[User]
; User-editable values; derived values below reference these by default.
PROLE_HOME = /Users/chrisfu/dev/prole
PROLE_CONF = ${PROLE_HOME}/conf
PROLE_SERVICE = ${PROLE_HOME}/etc
PROLE_DATA = /opt/prole/data/chrisfu
PROLE_LOGS = /opt/prole/logs/chrisfu
NAMESPACE = ${NAMESPACE}
SERVICE_NAMESPACE = default
[Inputs]
; Screen-scoped inputs used for unattended replays (-S)
build.deploy_env = Dev
build.run_build = false
dependencies.auto_install_missing = true
dependencies.brew.install = true
dependencies.docker.install = true
dependencies.k3d.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 = prole-service-cluster
init_cluster.k3s_server_url = https://pi.prole.org:6443
init_cluster.k3s_token = ${PROLE_SECRET:v1:D0LdPKBDiJ7v_-Ki:bcz3775FNoxa-EH8iuCF2xrGu7iBHf7ZLPCNojWKYNVDKi85PpRa6NeTWwFLfJjq0mkpNvUSPgv-7xqjCjt4rZ-PW-jb3HLGkxQ1jTo-O_nLSAWPX9ltbkU-rZqohCmzQspJhqGgGpSnYo_1QP78QqOhMHzpRCg2Jnoyocd7S_mJdIR4scTWa0mZUmWKqjHcGKAalfdWqTSVtcexiWYJMuw7CnsNDRLFT-B_qQAmtrb-9skUcmAeLf19WwNxiE9Hw5RAfkF-7lbcA4jr4DyYesg5ZNSN3cGbMscXhs1ml4WpK1gOomiGO4JKegRv5Br4yKrdbfOIIG3bSdlBytbtX4oLmQB76dtKzka7QqBre2e30EEKV8vLsDrm62_0tYTeSfXWqzsrfeMBwz4cL20ihxAM7u1RjbigtRIndggARGq0SJUnffw4diz6T6xHEx5EFuMgObpOrOwbm5YMZqrvOsEEgtT-IAmrVjGkLpZqkyaLUfrbqMkaG8jgKn6TR7bNfW0fHnFzmBHc3lLKOgUtIHGMbEYTpWijVARQx4YcsSejSPsnIf-p5dhpQrRZbw4XFxMQRzN70eelYDx5LhekkBlSUiRutcs8_lTKYrmP7QKtGnxXSxqh9cZYD4hacFhq8gvOk8QppBRa-tHt3dE-CRnULRd7g0exoCKaex8kbldMs3HUhTTFGFlNKBS2xoSB1DBG0lcfDEAIF0AbsZ6Zz7iW3K72DvpyxsYhVevMzC57ExRBVnuezSzkkuvAdQpQs_07yMDRURDdxOxbH67lySjrDbwLH70s1AvA_MflcTj4WmrbEOycvTVRh5YUdgKkDnuteN4Qy6xdUpHr2xquNq_JKy3d90ZaOZeSiR4XhB8O2fxtwM5ArrAUpATJtxsYcZeFM7RW_6arfRhbt_XMeOXk-T1J5dtGMAHfOp5MOQuwrW-k7nAunr8X85N2SkmEi9feYNgGV-UFlb-ME0sAi5ejS-W8bmYgCU6Xfc0qUwVYFnXcjoEXV9bjnQkcDRtJXh2WQ1XjxJPOMWhmmoW9mCnvfwxH29io19DxPfECTj-gN8bshyK1Va59iN70YG39Uz4-cEshZG83OJTXdbkDiaQk7HpJJT31hiW8scgTV2rSFhT19AmO_aQ0XSfXzzQ2QQu79q1fkTpz5_6Jrgzs3oVTaT6jvLMSVJzYoEmZuqkuVagOJBCO8woLE8qN1-2SfMWCYkTU7p9yfVFilT12Se8M0ebk2-M0Lnr8NWexmqI6SJxRVygz6c8pck8TBKZL2D3PrOliV_Zk3kVhZ48oN6fGScJdC8djJCI=}
init_cluster.kerberos_enabled = false
init_cluster.start_cluster = true
init_cluster.supabase_enabled = false
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/prole-chrisfu-abracadabra/db#password}
init_password.db_password_confirm = ${OPENBAO:kv/prole/prole-chrisfu-abracadabra/db#password}
init_password.db_username = chrisfu
init_password.generate_ssh_key = true
init_scripts.run_scripts = true
kerberos_config.enabled = false
kerberos_config.kdc = 10.0.0.3
kerberos_config.password = ${OPENBAO:kv/prole/prole-chrisfu-abracadabra/kerberos#password}
kerberos_config.realm = PROLE.ORG
kerberos_config.test_connection = false
kerberos_config.user =
network_scan.run = true
[Global]
; Variables used by name in more than one place or assumed global scope
CLUSTER_ENV = prole-service-cluster
DB_HOST_PORT = 5432
DB_PASSWORD = ${OPENBAO:kv/prole/prole-chrisfu-abracadabra/db#password}
DEPLOYMENT_MODE = k3s
DEPLOYMENT_TARGET = prole-service-cluster
DOCKER_IMPORT_DIR =
NAMESPACE = ${NAMESPACE}
PROLE_DB_USER = chrisfu
PROLE_HOME = ${PROLE_HOME}
PROLE_K3S_SERVER = https://pi.prole.org:6443
PROLE_K3S_TOKEN = ${PROLE_SECRET:v1:ZD9jqhOX6ouE2aLU:u4zRLPSMHFIfJYoLq431CXWYEorGuWSD4QU8VjArBdVFRXUuw57wayOzVDY82d_kREyGqtl95qIR3W-LXh05xXCh2NIpw15vLwlHBToW15tguDU1PzXRFLA669ZPYdPDFw_02fyKnPOYpELVmxWwP1U3DAGhKiTMqBDNt4oWc5pVzhTf7SO96uzUXoNG4_tQQ8H3NuSpKcg4eFbuh3lwnKmqY7m-9ofT-veIHGdXUEh0bTTamI9Qa-x1VjhwP6ZUv-VrobxTIUGd-8qUmfSPBr-U-jaOk_gvUvuyG-aTROcFrh36flmP__fLHCUwW_kAy6PZJNEPLIjgaPVBp4esjcVbPqJyiArlH8vr_hkDKhRoFJ9uagbABxuyzemTgNylVrSBHxEqIlFiQ6HncILm9s9FpLvotfDZUcG03V45vE3aV9BQsFJMfPtrkz_dVm5AuubGdG8NclV8XyRSfRy3efwPSz3wNuEkYDFJ7ZM-CGFMBz-DTlcAWVTxNXnXMyD7uK4a-13XKj_9IKijKIJ4EKuuxUr5dozvmhB90jmzFV4DYM4aiZIT6zrhARnrWkGtgRZDx89tssT20aXvPNjKy1wFcAgvqdZuqCQYlDTnhxPoJt-BEAC1xcJVJp5mnv8YW7hjJy1hA7u8S0AvCdB4eoh7vnWqLWVG1GMkgpU06641EEl3DksNZH1bbud6jV08T2SrmkRFnnj8RyoDRJ4aH8Z7uyyINV57A8bgvDsDECfQ6Iu-4WXo4ERhKdA5AJPMNW8LZexnHq1DDU4F9zDyNoaMOpBBLjyWKMsUo3fAIe1BF5PUQi4Ea4QqJq560GaoUxk5DhT38kSaDYmX3z1BB-QxzN66FQJ6QAPTLoTCllilc5j5RaSGbHiFPxyYB4H1w1boQv8sNfTi7GETkcjcCoJ4wpHwJLxDcaKvZvNxoJBACS8s-3YHEWnFe4APrDTRNCiKu1UbadbWRDK-dkNoM0KLta4SWG8eXXkDVwPV23q_Y6OJw_71g2JH2i2iT22lP3WcrsZfmpeVwGJYVsZlvbGAC_mH33qljdYtXyIfTBihh6x_flm-ogJEPuFUGIn92cF76hIqIjyz6VBf-W4y0sheU_pBd2eOZSKEFV1j4Xz8CHC1HtrtV0IFDGaXUS1kfccYoU40mczaXQxTFYtqDf-_azZyoh6I2_oQLtRX_A49NgTBpbrT0NLxFVEqXcce3QtiMsiMhV7G4K_HLPRalolqfr9x3WghS6ac8F_7KbINkXywDAgZGE7dgzr8V8Cf4ezXSNkJ7sZmDSkEBp8DO-WjZg5NIr1TMy0=}
PROLE_OPENTOFU_URL = http://127.0.0.1:8080
SERVICE_NAMESPACE = default
ARGOCD_NAMESPACE = argocd
REGISTRY_NAMESPACE = default
PROLE_ENABLE_LOCAL_REGISTRY = true
[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":false},"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 defaults for local k3d and external k3s access.
PORT_FORWARD_K3D_ENABLED = true
PORT_FORWARD_K3S_ENABLED = true
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
; Mapping format: id=...;namespace=...;target=...;address=...;hostPort=...;servicePort=...;protocol=TCP;description=...
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 (https://127.0.0.1:8443)
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 (http://127.0.0.1:9090)
PORT_FORWARD_K3D_MAPPING_3 = 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_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) (0.0.0.0:5432)
PORT_FORWARD_K3D_MAPPING_5 = id=openbao;namespace=${NAMESPACE};target=svc/openbao;address=127.0.0.1;hostPort=8200;servicePort=8200;protocol=TCP;description=OpenBao UI (http://127.0.0.1:8200)
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/prole-chrisfu-abracadabra/monitoring#grafana_admin_password}
[Kerberos Authentication]
PASSWORD = ${OPENBAO:kv/prole/prole-chrisfu-abracadabra/kerberos#password}
[Optional Features]
AT_REST_ENCRYPTION_ENABLED = true
KERBEROS_ENABLED = false
SUPABASE_ENABLED = false
[Database Creation]
DB_NAME = prole-chrisfu-abracadabra
DB_PASSWORD_SET = true
DB_USER = chrisfu
NAMESPACE = prole-chrisfu-abracadabra
[Initialize Cluster]
ENVIRONMENT = prole-service-cluster
K3S_SERVER_URL = https://pi.prole.org:6443
K3S_TOKEN = ${PROLE_SECRET:v1:ZdE0r6mZSNW939fS:9OMnHHaxB8SpdJIf_8hLu5G675IbqVXkB0RfeAlZz8sicJCIsccAdkdIouSCPNeWPwxZb_D6jPj2ARF_2fEYyFGO4k809M6jVNyj44it43of5b_-vMhFYcH36lmnMaeY3WdEWsZ6Xitojy0od5QRm-ovGdPeyLpNvYuUYhLND0HML-Yat8SH-6hGDhoXJWrWJbxD0f4dY7kBDQYeucQZJPmxBgcQARs2LWzmnaEkJQAMJxrqL0VGHVC_DVdFrKgRPJukSQGpw8hI9fw40400q1MIcHYbdJO4Up5reEo-92ZOhkdc2jx35MQrcoq1_3BpEOiwZtBgnX5k98Iccm9NVSqVmH9RqTFnDiIHuolpz2NRoHhaqawp8fDLcewOL4q2UjtqjvQMG7wa1zEkJAURdBGAGfMx607R6OJ48xRHuOz3Pr_C3qouXtn5t9_vr-byJZh6AdKbCotwr93vON3NgS5kStn40ucqO3Ess4d2sLyssekjuktBKLMYjL90UOCgzdv3BxkdCi4ULXgu_6fshf2pCLHwAdjRiJLZkzeWT5bu8z4t60WvBxKqz2KoGny601Vn5E2SdGKtT0IBzW5Wy3oPuDyeQ6sE3xIr3_lcaBr7madtIIwKBTJzLuunFXcY9NaBzwqvgMMGYZoDPEgwpEN7oMJ7Xngf5j9vxWKLXBQPGpeWrqTm0hpGCP2wu3ZIfDM2cd04Au2gRXYpAlRn_ItXHHFIsp8W9LS5pAa7yDe3I1y4IvH67lDD1ncBJi4eEzIAnjSyeHvodnwMGmwYXqgsDmr1dqoYJgF98iDZRQ71tnTZbQWpw6jnhBp2SwTlzmdiG_vE2HbBkLjkF7E0NQiR9hQO6FxjV5qf0UGCSYl_biaYfoIQiNaukneBZAxljZJqMaQzcpw4JoDs82n8SFt5af9ajA_4uD7-ydiBO86v0hhkp6RKvX2Xbi9lnrUmJCkc0d9cUegzwa0F4_9K0e6u0fmGN8nczt9o46L6XlXyUkmbtlMRpGakfSsHOVrpAOuEZW3osXNfnMJ2pdjs_RSuKc9wxQua6yTQbzNWCtmbjYXhApwE_a7YxVwA77Eon-p_uTIiPRnZ3ECxidTR0vJMXJBj-4QtkEo8f3GVSIg_BbHbJjfyZj9KQ7GK7zrUcJTDCOd8h3Nka9ydxivPU3wLG01h-8nSJTlww_9wh3jjyXcu2-bQU2bnmnMAbWPpuQYR99Zfu8mzXK6UpQ-lC7oNFmc6L7WGdhgspWF0yQZLgYtuHQRScscCADpCLE0oxCjMQ0sfrmlxJBHkB_9OVCVna2EOfXL9_x8=}
[Dev Cluster (k3d)]
CLUSTER_ENV = k3d-prole-dev-cluster
DISPLAY_NAME = prole-dev-cluster
KUBECTL_CONTEXT = prole-service-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 = ${PROLE_SECRET:v1:kVESNMHu2Zlj7wMY:LD8gNX0Pc81llPAAB73o8Ytb91VZO6RZIwikfpQ55aW9xDtzRatNMY3hwYYyPvdfCmbJm8sQjckowNrxNYeFbiBsbEL6SDVx510aYabi_VgkLTWiyecr4SpCKRhtsZXJ6tKN3PGfRP6e6_jT1M0npeP_wYYXVxfCDdiyGKzZd-Jr2XYDZnyI0A6iyNVc7KZIpE0MNXsI0VKpPckLX8nI2i9WraeNlx5DTcbhbT3Ne_p75vNgVGvWaGFJLStDfnGHhkThWiC5nFp0oqckGzUkUqP1afrzdon2wqiflwTfamN-AFnw1gnwkS9z8LY7R8UhJQrxb5NYCfZVbQn-XJbdHMecujPOdpVP97gHLnwD60qizT4YCs9u6iD-T7ARvxjscpHX7dGocj3ZVeXYFK5ypmEIVT6U20gL674yebMniMz3hHMq4AEDKGfEWGZXiaY3o-y9_dorC7VmGZAn-1_FHvg6h_LP3ybCKybohm8EdmKFKfOYC_RbaNGk43Xz_aGfeq6GNZ11XmBP-5rQwHXAl0vO8aJyDD_Eruci5aSZAg0Y5fevmSszsxI0DJQYgZEB_w1yUtX6jCk5fJLdXnKartU0sYVYqtUVuCvWxmlTXBjo6IaGVnH48Pwy_yDXmjhI1aSGax-7wTFVOH5cfyvMs-vvFsw1WyF1r71a1kRaSpK80zJdDHSoxc5GAfV_P1L1cbgRbB2s08VF4r_CaL3jQ3KDc07rEDJ-Jpxe7VyH7p_beOFzbZfUvCrLswTHyi068gIsxVoMjMxRZJ7tlkM_EqoY2omZukF9564Lq0kZrkyRHdunKHOMhxr0mkFk7pos0gHE5psylgjMqQtcIrPeEYMpqlJt6jGoAmyN2iM9YaZT7ZRKWPEzonBvGx0HwktEWrOqobLn0BHy1gwdikaW80vC4Ao6F8-oGaqpEL4wAMRZTzDnCx6g2BophU5AFfD9DCjT5C5Pk4UunPh2sLFrtnFIsY8_UKt8u9L5KxPV_ty9OSxMqxCBh1Xq-QSHG7yhKkZaLudX9srlJkTJp5BHtIkAqzeO3LKwNTJDWcw29tG9E_ak-qM4mBl65V_XiPKW7Trai8zfwS1KBsgEO8aGVpn9fjDm3UfwD--q5Xl3PMBVTmrpLqTla1RCPLD-IpvAOlssNoTeoGo7cjDmXEwu110Wu1m6W0snsRxVNY5DniHyw6HDPvZqsyLLz5PojQ06jnTvdIYoKorT4CBbCyHtFhuvo_jlrHnc-N1YVSdGD1Bi7nKoXtgeEn3gn9B0XiOY3XFjN2HU4Z1OqQDoksP979Ch8yH0_U6U-D8=}
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 =
STATUS = Built
[Initialization Scripts]
; No configuration values captured yet for this section.
[Deployment]
MODE = k3s
TARGET = prole-service-cluster
[Install]
; No configuration values captured yet for this section.