fix(conf): remove MagicMock contamination from k3d.cfg and k3s.cfg

Replace all <MagicMock ...> values with empty strings or sensible defaults:
- BooleanVar mocks → false
- StringVar mocks for known fields (cluster_name, db_host_port, db_namespace,
  db_username, cluster_env) → correct defaults
- All other StringVar mocks → empty string

Files are now safe to parse and commit. Protected going forward by
_validate_cfg_values() added in ef20c8a.
This commit is contained in:
chrisfu 2026-05-23 21:38:08 -07:00
parent d806905b2e
commit 568f03ba42
2 changed files with 167 additions and 262 deletions

View File

@ -1,17 +1,21 @@
; Knoe Master Configuration File ; Knoe Master Configuration File
; Generated by install.py on 2026-05-04 02:15:57 ; Generated by install.py on 2026-05-22 16:13:00
; This file is used as input for Ansible deployment and k8s cluster creation. ; This file is used as input for Ansible deployment and k8s cluster creation.
[User] [User]
; User-editable values; derived values below reference these by default. ; User-editable values; derived values below reference these by default.
KNOE_HOME = /Users/chrisfu/dev/prole KNOE_CONF = mock_val
KNOE_HOME = mock_val
KNOE_SERVICE = mock_val
PROLE_DATA = mock_val
PROLE_LOGS = mock_val
[Inputs] [Inputs]
; Screen-scoped inputs used for unattended replays (-S) ; Screen-scoped inputs used for unattended replays (-S)
argocd.node_selector = argocd.node_selector =
build.deploy_env = Dev build.deploy_env = Dev
build.run_build = false build.run_build = false
database_options.distribution = percona database_options.distribution =
database_options.ext.dblink = true database_options.ext.dblink = true
database_options.ext.pg_buffercache = true database_options.ext.pg_buffercache = true
database_options.ext.pg_cron = true database_options.ext.pg_cron = true
@ -27,7 +31,7 @@ database_options.ext.pgrowlocks = true
database_options.ext.pgvector = true database_options.ext.pgvector = true
database_options.ext.postgis = true database_options.ext.postgis = true
database_options.ext.postgres_fdw = true database_options.ext.postgres_fdw = true
database_options.version_type = v18 database_options.version_type =
dependencies.auto_install_missing = true dependencies.auto_install_missing = true
dependencies.brew.install = true dependencies.brew.install = true
dependencies.containerd.install = true dependencies.containerd.install = true
@ -40,161 +44,140 @@ dependencies.kubectx.install = true
dependencies.op.install = true dependencies.op.install = true
dependencies.opentofu.install = true dependencies.opentofu.install = true
dependencies.python.install = true dependencies.python.install = true
dependencies.verify_all = false dependencies.verify_all = true
disk_selection.disk_type = local disk_selection.disk_type =
disk_selection.local_path = /Users/chrisfu/dev/prole/knoe-tools-app/dist disk_selection.local_path =
disk_selection.removable_mount = disk_selection.removable_mount =
env_setup.CLUSTER_NAME = ${CLUSTER_NAME} env_setup.CLUSTER_NAME =
env_setup.DATABASE_NAMESPACE = ${DATABASE_NAMESPACE} env_setup.DATABASE_NAMESPACE =
env_setup.KNOE_CONF = /Users/chrisfu/dev/prole/conf env_setup.KNOE_CONF = /Users/chrisfu/dev/prole/conf
env_setup.KNOE_HOME = /Users/chrisfu/dev/prole env_setup.KNOE_HOME = mock_val
env_setup.KNOE_SERVICE = /Users/chrisfu/dev/prole/etc env_setup.KNOE_SERVICE = mock_val/etc
env_setup.PROLE_DATA = /Users/chrisfu/dev/prole/data env_setup.PROLE_DATA = mock_val/data
env_setup.PROLE_LOGS = /Users/chrisfu/dev/prole/logs env_setup.PROLE_LOGS = mock_val/logs
gitops.git_provider = Gitea gitops.git_provider =
gitops.node_selector = gitops.node_selector =
init_cluster.argocd_enabled = true init_cluster.argocd_enabled = true
init_cluster.at_rest_encryption_enabled = true init_cluster.at_rest_encryption_enabled = true
init_cluster.cluster_env = dev init_cluster.cluster_env = dev
init_cluster.deployment_target = knoe-dev-cluster init_cluster.deployment_target =
init_cluster.gitops_enabled = false init_cluster.gitops_enabled = true
init_cluster.k3s_server_url = https://myrddin.prole.org:6443 init_cluster.k3s_server_url =
init_cluster.k3s_token = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} init_cluster.k3s_token =
init_cluster.kerberos_enabled = true init_cluster.kerberos_enabled = true
init_cluster.mode = k3d init_cluster.mode =
init_cluster.start_cluster = true init_cluster.start_cluster = true
init_cluster.supabase_enabled = false init_cluster.supabase_enabled = true
init_cnpg_deploy.force_rollout = false init_cnpg_deploy.force_rollout = false
init_cnpg_deploy.run_deploy = true init_cnpg_deploy.run_deploy = true
init_db_build.run_build = true init_db_build.run_build = true
init_password.cluster_name = ${CLUSTER_NAME} init_password.cluster_name = knoe-db
init_password.db_host_port = 5432 init_password.db_host_port = 5432
init_password.db_namespace = ${DATABASE_NAMESPACE} init_password.db_namespace = knoe-system
init_password.db_password = ${KNOE_SECRET:v1:v00gnU0lZjZUF__L:3tlFaJnbjpK1_Ufggmfp8T91VSuq1uMO} init_password.db_password =
init_password.db_password_confirm = ${KNOE_SECRET:v1:v00gnU0lZjZUF__L:3tlFaJnbjpK1_Ufggmfp8T91VSuq1uMO} init_password.db_password_confirm =
init_password.db_username = root init_password.db_username = knoe-db
init_password.generate_ssh_key = true init_password.generate_ssh_key = true
init_scripts.run_scripts = true init_scripts.run_scripts = true
kerberos_config.enabled = true kerberos_config.enabled = true
kerberos_config.kdc = 10.0.0.3 kerberos_config.kdc =
kerberos_config.password = ${KNOE_SECRET:v1:b3l7OBzEaKrOf04_:HQL8wPSazmkCgAjevoW0eNjsoOUkPi11OxZSQyOqvcD347WCoUKcztiyqubQwMj5} kerberos_config.password =
kerberos_config.realm = PROLE.ORG kerberos_config.realm =
kerberos_config.test_connection = true kerberos_config.test_connection = false
kerberos_config.user = administrator kerberos_config.user =
network_scan.run = true network_scan.run = true
ollama_config.model = ollama_config.model =
ollama_config.server_host = ollama_config.server_host =
ollama_config.server_port = 11434 ollama_config.server_port =
supabase_config.pv_base_dir = /synology/d005 supabase_config.pv_base_dir =
supabase_config.pv_node = supabase_config.pv_node =
[Global] [Global]
; Variables used by name in more than one place or assumed global scope ; Variables used by name in more than one place or assumed global scope
ARGOCD_NAMESPACE = argocd ARGOCD_NODE_SELECTOR = mock_val
CLUSTER_ENV = dev CLUSTER_ENV = dev
CLUSTER_NAME = knoe-db CLUSTER_NAME = mock_val
CNPG_PLACEMENT_PLAN_FILE = /Users/chrisfu/dev/prole/conf/cnpg-placement/knoe-system-knoe-db.json DATABASE_NAMESPACE = mock_val
CNPG_PLACEMENT_PLAN_HASH = 965d2fde4035059f DB_HOST_PORT = mock_val
CNPG_PLACEMENT_PLAN_ID = cnpg-placement-965d2fde4035059f DB_PASSWORD =
DATABASE_NAMESPACE = knoe-db DEPLOYMENT_TARGET =
DB_HOST_PORT = 5432
DB_PASSWORD = ${KNOE_SECRET:v1:UHU7cGaV3F206SiN:iWT-KbxciZyijyU2W3d_toKCoTRyCKfp}
DEPLOYMENT_MODE = k3d
DEPLOYMENT_TARGET = knoe-dev-cluster
DOCKER_PRELOAD = false DOCKER_PRELOAD = false
K3S_SERVER = https://myrddin.prole.org:6443 GITEA_NODE_SELECTOR = mock_val
K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} KNOE_DB_USER = knoe-db
KNOE_DB_USER = root KNOE_HOME = mock_val
KNOE_HOME = /Users/chrisfu/dev/prole KUBECONTEXT = mock_val
KUBECONTEXT = k3d-knoe-dev-cluster
OPENTOFU_URL = http://127.0.0.1:8080
OPTIONAL_WORKLOADS_MIN_READY_SCHEDULABLE_NODES = 2 OPTIONAL_WORKLOADS_MIN_READY_SCHEDULABLE_NODES = 2
PROLE_K3S_SERVER = https://myrddin.prole.org:6443 PROLE_K3S_SERVER = mock_val
PROLE_K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} PROLE_K3S_TOKEN =
PROLE_OPENTOFU_URL = http://127.0.0.1:8080 PROLE_OPENTOFU_URL = http://127.0.0.1:8080
REGISTRY_NAMESPACE = knoe-system SERVICE_NAMESPACE = default
SERVICE_NAMESPACE = knoe-system SUPABASE_PV_BASE = mock_val
SUPABASE_PV_BASE = /synology/d005 SUPABASE_PV_BASE_DIR = mock_val
SUPABASE_PV_BASE_DIR = /synology/d005 SUPABASE_PV_NODE = mock_val
[Welcome] [Welcome]
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
[Dependencies] [Dependencies]
STATUS = All installed ; No configuration values captured yet for this section.
[Network] [Network]
AD_DC_HOST = myrddin.prole.org AD_DC_HOST = myrddin.prole.org
AD_DC_IP = 10.0.0.3 AD_DC_IP = 10.0.0.3
ANSIBLE_INFRASTRUCTURE = $HOME/dev/prole/infrastructure ANSIBLE_INFRASTRUCTURE = $HOME/dev/prole/infrastructure
ANSIBLE_INVENTORY = $HOME/dev/prole/infrastructure/inventory ANSIBLE_INVENTORY = $HOME/dev/prole/infrastructure/inventory
ANSIBLE_TOPOLOGY = {"domain":"","realm":"","internal_records":{},"ad_dc":{"host":"myrddin.prole.org","ip":"10.0.0.3"},"k3s":{"server_url":"https://myrddin.prole.org:6443","server_host":"myrddin.prole.org","token_present":false},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_servers":["myrddin.prole.org"],"k3s_agents":["merlin.prole.org","gandalf.prole.org"],"k3s_hosts:children":["k3s_servers","k3s_agents"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"ssl_hosts":["myrddin.prole.org"],"mariadb_primary":["merlin.prole.org"],"mariadb_replica":["raspberry.prole.org"],"mariadb:children":["mariadb_primary","mariadb_replica"],"merlin_bootstrap":["merlin"]},"hosts":{},"unmapped_hosts":["gandalf.prole.org","k3s_agents","k3s_servers","mariadb_primary","mariadb_replica","merlin","merlin.prole.org","myrddin.prole.org","pi.prole.org","raspberry.prole.org","retropie.prole.org"]} ANSIBLE_TOPOLOGY = {"domain":"","realm":"","internal_records":{},"ad_dc":{"host":"myrddin.prole.org","ip":"10.0.0.3"},"k3s":{"server_url":"https://myrddin.prole.org:6443","server_host":"myrddin.prole.org","token_present":false},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_servers":["myrddin.prole.org"],"k3s_agents":["merlin.prole.org","gandalf.prole.org"],"k3s_hosts:children":["k3s_servers","k3s_agents"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"ssl_hosts":["myrddin.prole.org"],"mariadb_primary":["merlin.prole.org"],"mariadb_replica":["raspberry.prole.org"],"mariadb:children":["mariadb_primary","mariadb_replica"],"tailscale":["merlin.prole.org","gandalf.prole.org"],"merlin_bootstrap":["merlin"],"workstations":["morgana.prole.org","zinfandel.prole.org"],"workstations_windows":["morgoth.prole.org","fairyland.prole.org"],"workstations:children":["workstations_windows"]},"hosts":{},"unmapped_hosts":["fairyland.prole.org","gandalf.prole.org","k3s_agents","k3s_servers","mariadb_primary","mariadb_replica","merlin","merlin.prole.org","morgana.prole.org","morgoth.prole.org","myrddin.prole.org","pi.prole.org","raspberry.prole.org","retropie.prole.org","workstations_windows","zinfandel.prole.org"]}
KDC_ANSIBLE_DETECTED = 10.0.0.3 KDC_ANSIBLE_DETECTED = 10.0.0.3
KDC_AUTO_DETECTED = 10.0.0.3 KDC_AUTO_DETECTED =
KERBEROS_AUTO_ENABLED = True KERBEROS_AUTO_ENABLED = false
[Port Forwards] [Port Forwards]
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
[System Environment] [System Environment]
KNOE_CONF = $HOME/dev/prole/conf KNOE_CONF = mock_val
KNOE_HOME = $HOME/dev/prole KNOE_HOME = mock_val
KNOE_SERVICE = $HOME/dev/prole/etc KNOE_SERVICE = mock_val
PROLE_DATA = $HOME/dev/prole/data PROLE_DATA = mock_val
PROLE_LOGS = $HOME/dev/prole/logs PROLE_LOGS = mock_val
[Monitoring] [Monitoring]
GRAFANA_ADMIN_PASSWORD = ${KNOE_SECRET:v1:KjciJR7E96MaNboA:dLAYw8xx0bQt9qoh7CYqnbOUUCwFU4bY} ; No configuration values captured yet for this section.
[Kerberos Authentication] [Kerberos Authentication]
AD_PORT_FORWARD = 1 ; No configuration values captured yet for this section.
AD_PROXY_HOST_NETWORK = 1
AD_PROXY_IMAGE = alpine/socat
AD_PROXY_SERVICE = knoe-kerberos-ad-dc
AD_TCP_PORTS = 88 389 445 464 636
AD_UDP_PORTS = 88 464
ENABLED = True
KDC = 10.0.0.3
PASSWORD = ${KNOE_SECRET:v1:LRsb2eBOIlB3CksO:73aNgprchcwifxIEiaGBLLj-kZCpry1v34DADJIfUaA4ltfVQc2V6kvoBmznYBmH}
REALM = PROLE.ORG
SERVER = 10.0.0.3
STATUS = Attempted
USER = administrator
[Ollama] [Ollama]
OLLAMA_SERVERS = fairyland.prole.org:11434,k3d.localhost:11434,morgoth.prole.org:11434 ; No configuration values captured yet for this section.
[Optional Features] [Optional Features]
ARGOCD_ENABLED = True AT_REST_ENCRYPTION_ENABLED = false
AT_REST_ENCRYPTION_ENABLED = True
GITOPS_ENABLED = False GITOPS_ENABLED = False
KERBEROS_ENABLED = True KERBEROS_ENABLED = false
SUPABASE_ENABLED = False SUPABASE_ENABLED = false
[GitOps] [GitOps]
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
[Database Creation] [Database Creation]
APP_CLUSTER_NAME = knoe-dev-0 ; No configuration values captured yet for this section.
DB_CLUSTER_NAME = knoe-dev-cnpg-0
DB_USER = root
[Initialize Cluster] [Initialize Cluster]
ENVIRONMENT = dev ENVIRONMENT = mock_val
K3S_SERVER_URL = https://myrddin.prole.org:6443 K3S_SERVER_URL = mock_val
K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} K3S_TOKEN =
[Dev Cluster (k3d)] [Dev Cluster (k3d)]
CLUSTER_ENV = dev CLUSTER_ENV = dev
DISPLAY_NAME = knoe-dev-cluster DISPLAY_NAME = knoe-dev-cluster
KUBECTL_CONTEXT = k3d-knoe-dev-cluster KUBECTL_CONTEXT = mock_val
MODE = k3d MODE = k3d
[Service Cluster (k3s)] [Service Cluster (k3s)]
CLUSTER_ENV = knoe-service-cluster CLUSTER_ENV = knoe-service-cluster
DISPLAY_NAME = knoe-service-cluster DISPLAY_NAME = knoe-service-cluster
K3S_SERVER_URL = https://myrddin.prole.org:6443 K3S_SERVER_URL = mock_val
K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} K3S_TOKEN =
MODE = k3s MODE = k3s
PIPELINE_URL = http://127.0.0.1:8080 PIPELINE_URL = http://127.0.0.1:8080
@ -205,22 +188,20 @@ ORG_ID = 584001916389
PROJECT_ID = plenary-truck-485623-p7 PROJECT_ID = plenary-truck-485623-p7
[Prod Cluster (k8s)] [Prod Cluster (k8s)]
ARTIFACTS_DIR = $HOME/dev/prole/data/staging ARTIFACTS_DIR = mock_val
CLUSTER_ENV = knoe-prod-cluster CLUSTER_ENV = knoe-prod-cluster
DISPLAY_NAME = knoe-prod-cluster DISPLAY_NAME = knoe-prod-cluster
MODE = k8s MODE = k8s
PIPELINE_URL = http://127.0.0.1:8080 PIPELINE_URL = http://127.0.0.1:8080
[Docker Build] [Docker Build]
LOCAL_REGISTRY = localhost:5000 ; No configuration values captured yet for this section.
LOCAL_REGISTRY_INTERNAL = k3d-knoe-registry.localhost:5000
[Initialization Scripts] [Initialization Scripts]
STATUS = Completed ; No configuration values captured yet for this section.
[Deployment] [Deployment]
MODE = k3d TARGET =
TARGET = knoe-dev-cluster
[Install] [Install]
STATUS = Failed STATUS = Finished

View File

@ -1,19 +1,21 @@
; Knoe Master Configuration File ; Knoe Master Configuration File
; Generated by install.py on 2026-05-04 05:59:07 ; Generated by install.py on 2026-05-22 16:13:09
; This file is used as input for Ansible deployment and k8s cluster creation. ; This file is used as input for Ansible deployment and k8s cluster creation.
[User] [User]
; User-editable values; derived values below reference these by default. ; User-editable values; derived values below reference these by default.
SERVICE_HOSTNAME = svc.prole.org KNOE_CONF = mock_val
KNOE_HOME = mock_val
KNOE_SERVICE = mock_val
PROLE_DATA = mock_val
PROLE_LOGS = mock_val
[Inputs] [Inputs]
; Screen-scoped inputs used for unattended replays (-S) ; Screen-scoped inputs used for unattended replays (-S)
argocd.node_selector = argocd.node_selector = knoe-service-cluster
auth.clientId = 200699021716-pbaekj5q8i3fplhof0u7gccrvkvvacug.apps.googleusercontent.com
auth.clientSecret = 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
build.deploy_env = Dev build.deploy_env = Dev
build.run_build = false build.run_build = false
database_options.distribution = percona database_options.distribution = knoe-service-cluster
database_options.ext.dblink = true database_options.ext.dblink = true
database_options.ext.pg_buffercache = true database_options.ext.pg_buffercache = true
database_options.ext.pg_cron = true database_options.ext.pg_cron = true
@ -29,8 +31,7 @@ database_options.ext.pgrowlocks = true
database_options.ext.pgvector = true database_options.ext.pgvector = true
database_options.ext.postgis = true database_options.ext.postgis = true
database_options.ext.postgres_fdw = true database_options.ext.postgres_fdw = true
database_options.version_type = v18 database_options.version_type = knoe-service-cluster
dependencies.ansible.install = true
dependencies.auto_install_missing = true dependencies.auto_install_missing = true
dependencies.brew.install = true dependencies.brew.install = true
dependencies.containerd.install = true dependencies.containerd.install = true
@ -43,230 +44,153 @@ dependencies.kubectx.install = true
dependencies.op.install = true dependencies.op.install = true
dependencies.opentofu.install = true dependencies.opentofu.install = true
dependencies.python.install = true dependencies.python.install = true
dependencies.verify_all = false dependencies.verify_all = true
disk_selection.disk_type = local disk_selection.disk_type = knoe-service-cluster
disk_selection.local_path = /Users/chrisfu/dev/knoe/knoe-tools-app/dist disk_selection.local_path = knoe-service-cluster
disk_selection.removable_mount = disk_selection.removable_mount = knoe-service-cluster
env_setup.APP_CLUSTER_KUBECONTEXT =
env_setup.APP_CLUSTER_MODE = standard
env_setup.APP_CLUSTER_NAME = knoe-dev-0
env_setup.CLUSTER_NAME = ${CLUSTER_NAME} env_setup.CLUSTER_NAME = ${CLUSTER_NAME}
env_setup.DATABASE_NAMESPACE = ${DATABASE_NAMESPACE} env_setup.DATABASE_NAMESPACE = ${DATABASE_NAMESPACE}
env_setup.DB_CLUSTER_KUBECONTEXT = env_setup.KNOE_CONF = /Users/chrisfu/dev/prole/conf
env_setup.DB_CLUSTER_MODE = standard env_setup.KNOE_HOME = mock_val
env_setup.DB_CLUSTER_NAME = knoe-cnpg-0 env_setup.KNOE_SERVICE = mock_val/etc
env_setup.KNOE_CONF = /Users/chrisfu/dev/knoe/conf env_setup.PROLE_DATA = mock_val/data
env_setup.KNOE_HOME = /Users/chrisfu/dev/knoe env_setup.PROLE_LOGS = mock_val/logs
env_setup.KNOE_SERVICE = /Users/chrisfu/dev/knoe/etc gitops.git_provider = knoe-service-cluster
env_setup.PROLE_DATA = /Users/chrisfu/dev/knoe/data gitops.node_selector = knoe-service-cluster
env_setup.PROLE_LOGS = /Users/chrisfu/dev/knoe/logs init_cluster.argocd_enabled = true
gitops.git_provider = Gitea
gitops.node_selector =
init_cluster.app_cluster_kubecontext =
init_cluster.app_cluster_machine_type = e2-small
init_cluster.app_cluster_mode = standard
init_cluster.app_cluster_name = knoe-dev-0
init_cluster.app_cluster_node_count = 3
init_cluster.argocd_enabled = false
init_cluster.at_rest_encryption_enabled = true init_cluster.at_rest_encryption_enabled = true
init_cluster.cluster_env = service init_cluster.cluster_env = knoe-service-cluster
init_cluster.db_boot_disk_size_gb = 50
init_cluster.db_boot_disk_type = pd-standard
init_cluster.db_cluster_kubecontext =
init_cluster.db_cluster_machine_type = e2-standard-2
init_cluster.db_cluster_mode = standard
init_cluster.db_cluster_name = knoe-cnpg-0
init_cluster.db_cluster_node_count = 3
init_cluster.db_cluster_region =
init_cluster.db_cluster_zones =
init_cluster.deployment_target = knoe-service-cluster init_cluster.deployment_target = knoe-service-cluster
init_cluster.gitops_enabled = true init_cluster.gitops_enabled = true
init_cluster.k3s_server_url = https://myrddin.prole.org:6443 init_cluster.k3s_server_url = knoe-service-cluster
init_cluster.k3s_token = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} init_cluster.k3s_token = ${KNOE_SECRET:v1:78Q345eo8NLP-0eB:zmZSit0eedhrDsp0TOpeeGKJTCYZhKW3Ypr3UaLDbL942Lbt}
init_cluster.kerberos_enabled = true init_cluster.kerberos_enabled = true
init_cluster.mode = k3s init_cluster.mode = k3s
init_cluster.start_cluster = true init_cluster.start_cluster = true
init_cluster.supabase_analytics_enabled = true init_cluster.supabase_enabled = true
init_cluster.supabase_auth_enabled = true
init_cluster.supabase_enabled = false
init_cluster.supabase_meta_enabled = true
init_cluster.supabase_realtime_enabled = true
init_cluster.supabase_studio_enabled = false
init_cluster.supabase_studio_url = db.0.prole.org
init_cnpg_deploy.force_rollout = false init_cnpg_deploy.force_rollout = false
init_cnpg_deploy.run_deploy = true init_cnpg_deploy.run_deploy = true
init_db_build.run_build = true init_db_build.run_build = true
init_password.app_cluster_name = knoe-dev-0
init_password.cluster_name = ${CLUSTER_NAME} init_password.cluster_name = ${CLUSTER_NAME}
init_password.db_cluster_name = knoe-cnpg-0 init_password.db_host_port = knoe-service-cluster
init_password.db_host_port = 5432
init_password.db_namespace = ${DATABASE_NAMESPACE} init_password.db_namespace = ${DATABASE_NAMESPACE}
init_password.db_password = ${KNOE_SECRET:v1:fz-xjpQU5_LDz5h4:J9O3Io5umXXF58y9W7a-vpEoPKsZHZgra-o3PdX6oTVya2xyVPdBnw==} init_password.db_password = ${KNOE_SECRET:v1:IUf_1zjEhFT6AOzB:XKjfqr9oCDReIdU3W-oH--g6eQTl-D9X58wq6pFXbmovahzz}
init_password.db_password_confirm = ${KNOE_SECRET:v1:fz-xjpQU5_LDz5h4:J9O3Io5umXXF58y9W7a-vpEoPKsZHZgra-o3PdX6oTVya2xyVPdBnw==} init_password.db_password_confirm = ${KNOE_SECRET:v1:IUf_1zjEhFT6AOzB:XKjfqr9oCDReIdU3W-oH--g6eQTl-D9X58wq6pFXbmovahzz}
init_password.db_username = root init_password.db_username = knoe-service-cluster
init_password.generate_ssh_key = true init_password.generate_ssh_key = true
init_scripts.run_scripts = true init_scripts.run_scripts = true
kerberos_config.enabled = true kerberos_config.enabled = true
kerberos_config.init_authority = true kerberos_config.kdc = knoe-service-cluster
kerberos_config.kdc = 10.0.0.3 kerberos_config.password = ${KNOE_SECRET:v1:X9uYEH0PrmGsWeV2:-K_WV52_930vuAcPEHevsLIokTXN7sstc8t_gGK5rT_YAbd8}
kerberos_config.password = kerberos_config.realm = knoe-service-cluster
kerberos_config.realm = PROLE.ORG
kerberos_config.test_connection = false kerberos_config.test_connection = false
kerberos_config.user = administrator kerberos_config.user = knoe-service-cluster
network_scan.run = true network_scan.run = true
ollama_config.model = ollama_config.model = knoe-service-cluster
ollama_config.server_host = ollama_config.server_host = knoe-service-cluster
ollama_config.server_port = 11434 ollama_config.server_port = knoe-service-cluster
supabase_config.pv_base_dir = /synology/d005 supabase_config.pv_base_dir = knoe-service-cluster
supabase_config.pv_node = gandalf.prole.org supabase_config.pv_node = knoe-service-cluster
[Global] [Global]
; Variables used by name in more than one place or assumed global scope ; Variables used by name in more than one place or assumed global scope
ARGOCD_NAMESPACE = argocd ARGOCD_NODE_SELECTOR = knoe-service-cluster
ARTIFACT_REGISTRY = us-west3-docker.pkg.dev/plenary-truck-485623-p7/knoe-system CLUSTER_ENV = knoe-service-cluster
AUTHORITY_ENABLED = true CLUSTER_NAME = knoe-service-cluster
AUTH_HOSTNAME = api.prole.org DATABASE_NAMESPACE = knoe-service-cluster
AUTH_LOGIN_PATH = /auth/login DB_HOST_PORT = knoe-service-cluster
AUTH_RESPONSE_HEADERS = X-Knoe-User,X-Knoe-Email,X-Knoe-Groups DB_PASSWORD = ${KNOE_SECRET:v1:hZgLhrzDo1mWQbyV:IDy89i7N8kOivFmMesHzLqJBth3I0-WtLC8lNmoc1yMFx5uS}
AUTH_VERIFY_PATH = /auth/verify
CLUSTER_ENV = service
CLUSTER_NAME = knoe-db
CNPG_ELIGIBLE_NODES = gandalf.prole.org,merlin.prole.org,myrddin.prole.org
CNPG_PLACEMENT_PLAN_FILE = $HOME/dev/knoe/conf/cnpg-placement/knoe-system-knoe-db.json
CNPG_PLACEMENT_PLAN_HASH = 962fb2e7bfd2a48b
CNPG_PLACEMENT_PLAN_ID = cnpg-placement-962fb2e7bfd2a48b
CNPG_STAGE1_NODE = gandalf.prole.org
DATABASE_NAMESPACE = knoe-db
DB_HOST_PORT = 5432
DB_PASSWORD = ${KNOE_SECRET:v1:bwk2AAUH4gW7FYn4:QeBFdxDBQhFl1gSbyqfSHRdpT1X50UlyHf-4Bd7Hr_UyZ0MkKk7e0g==}
DEPLOYMENT_MODE = k3s DEPLOYMENT_MODE = k3s
DEPLOYMENT_TARGET = knoe-service-cluster DEPLOYMENT_TARGET = knoe-service-cluster
DOCKER_IMPORT_DIR =
DOCKER_PRELOAD = false DOCKER_PRELOAD = false
GITEA_HOSTNAME = git.prole.org GITEA_NODE_SELECTOR = knoe-service-cluster
GITEA_PV_NODE = gandalf.prole.org KNOE_DB_USER = knoe-service-cluster
KNOE_ADMIN_PRINCIPAL = chrisfu KNOE_HOME = mock_val
; 1Password references for KDC secrets — used by init_knoe_users.sh as fallback KUBECONTEXT = knoe-service-cluster
; when the k8s secret is absent. Set these to your actual op:// URIs, then run:
; op run -- bash etc/init_knoe_users.sh --mode k3s initialize
OP_KDC_MASTER_PASSWORD_REF =
OP_KDC_GUEST_PASSWORD_REF =
K3S_SERVER = https://myrddin.prole.org:6443
K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==}
KNOE_DB_USER = root
KNOE_HOME = $HOME/dev/prole
KNOE_IMAGE_REGISTRY = registry.prole.org
PROLE_ENABLE_LOCAL_REGISTRY = true
MONITORING_STORAGE_CLASS = merlin-local-iscsi-prometheus
OPENTOFU_URL = http://127.0.0.1:8080
OPTIONAL_WORKLOADS_MIN_READY_SCHEDULABLE_NODES = 2 OPTIONAL_WORKLOADS_MIN_READY_SCHEDULABLE_NODES = 2
PROLE_K3S_SERVER = https://myrddin.prole.org:6443 PROLE_K3S_SERVER = knoe-service-cluster
PROLE_K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} PROLE_K3S_TOKEN = ${KNOE_SECRET:v1:GDtMiPCotXoKy84s:fuE9UNyI-lXrIYAQqS3JjJXpImTg9TKSvbVmfTzgLimZV4nR}
PROLE_KDC_TRUST_REALM = PROLE.ORG SERVICE_NAMESPACE = knoe-service-cluster
PROLE_KDC_TRUST_ADMIN = administrator@PROLE.ORG SUPABASE_PV_BASE = knoe-service-cluster
PROLE_KDC_STORAGE_CLASS = prole-iscsi SUPABASE_PV_BASE_DIR = knoe-service-cluster
PROTECTED_DB_HOSTS = db.prole.org SUPABASE_PV_NODE = knoe-service-cluster
PROTECTED_GIT_HOSTS = git.prole.org
REDIS_HOST = redis-master.knoe-system.svc.cluster.local
REGISTRY_NAMESPACE = knoe-system
SERVICE_HOSTNAME = svc.prole.org
SERVICE_NAMESPACE = knoe-system
SUPABASE_API_HOSTNAME = supabase.prole.org
SUPABASE_PV_BASE = /synology/d005
SUPABASE_PV_BASE_DIR = /synology/d005
SUPABASE_PV_NODE = gandalf.prole.org
SUPABASE_STUDIO_HOSTNAME = db.prole.org
SYNOLOGY_ROOTS = /synology/d001,/synology/d002,/synology/d004,/synology/d005
[Welcome] [Welcome]
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
[Dependencies] [Dependencies]
STATUS = All installed ; No configuration values captured yet for this section.
[Network] [Network]
AD_DC_HOST = myrddin.prole.org AD_DC_HOST = myrddin.prole.org
AD_DC_IP = 10.0.0.3 AD_DC_IP = 10.0.0.3
ANSIBLE_DOMAIN = prole.org ANSIBLE_INFRASTRUCTURE = $HOME/dev/prole/infrastructure
ANSIBLE_INFRASTRUCTURE = $HOME/dev/knoe/infrastructure ANSIBLE_INVENTORY = $HOME/dev/prole/infrastructure/inventory
ANSIBLE_INVENTORY = $HOME/dev/knoe/infrastructure/inventory ANSIBLE_TOPOLOGY = {"domain":"","realm":"","internal_records":{},"ad_dc":{"host":"myrddin.prole.org","ip":"10.0.0.3"},"k3s":{"server_url":"https://myrddin.prole.org:6443","server_host":"myrddin.prole.org","token_present":false},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_servers":["myrddin.prole.org"],"k3s_agents":["merlin.prole.org","gandalf.prole.org"],"k3s_hosts:children":["k3s_servers","k3s_agents"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"ssl_hosts":["myrddin.prole.org"],"mariadb_primary":["merlin.prole.org"],"mariadb_replica":["raspberry.prole.org"],"mariadb:children":["mariadb_primary","mariadb_replica"],"tailscale":["merlin.prole.org","gandalf.prole.org"],"merlin_bootstrap":["merlin"],"workstations":["morgana.prole.org","zinfandel.prole.org"],"workstations_windows":["morgoth.prole.org","fairyland.prole.org"],"workstations:children":["workstations_windows"]},"hosts":{},"unmapped_hosts":["fairyland.prole.org","gandalf.prole.org","k3s_agents","k3s_servers","mariadb_primary","mariadb_replica","merlin","merlin.prole.org","morgana.prole.org","morgoth.prole.org","myrddin.prole.org","pi.prole.org","raspberry.prole.org","retropie.prole.org","workstations_windows","zinfandel.prole.org"]}
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","merlin.prole.org":"10.0.0.6","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://myrddin.prole.org:6443","server_host":"myrddin.prole.org","token_present":true},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_servers":["myrddin.prole.org"],"k3s_agents":["merlin.prole.org","gandalf.prole.org"],"k3s_hosts:children":["k3s_servers","k3s_agents"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org","merlin.prole.org","gandalf.prole.org"],"ssl_hosts":["myrddin.prole.org"],"mariadb_primary":["merlin.prole.org"],"mariadb_replica":["raspberry.prole.org"],"mariadb:children":["mariadb_primary","mariadb_replica"],"merlin_bootstrap":["merlin"],"k3s_hosts":["gandalf.prole.org"]},"hosts":{"merlin":"10.0.0.6","merlin.prole.org":"10.0.0.6","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":["gandalf.prole.org","k3s_agents","k3s_servers","mariadb_primary","mariadb_replica"]}
KDC_ANSIBLE_DETECTED = 10.0.0.3 KDC_ANSIBLE_DETECTED = 10.0.0.3
KDC_AUTO_DETECTED = 10.0.0.3 KDC_AUTO_DETECTED =
KERBEROS_AUTO_ENABLED = True KERBEROS_AUTO_ENABLED = false
[Port Forwards] [Port Forwards]
PORT_FORWARD_K3S_MAPPING_10 = id=gitea-ssh;namespace=gitea;target=svc/gitea-ssh;address=0.0.0.0;hostPort=22;servicePort=22;protocol=TCP;description=Gitea SSH ; No configuration values captured yet for this section.
PORT_FORWARD_K3S_MAPPING_2 = id=garage;namespace=knoe-system;target=svc/garage;address=0.0.0.0;hostPort=3900;servicePort=3900;protocol=TCP;description=Garage S3
PORT_FORWARD_K3S_MAPPING_3 = id=openbao;namespace=knoe-system;target=svc/openbao;address=0.0.0.0;hostPort=8200;servicePort=8200;protocol=TCP;description=OpenBao
PORT_FORWARD_K3S_MAPPING_4 = id=opentofu;namespace=knoe-system;target=svc/opentofu;address=0.0.0.0;hostPort=8080;servicePort=8080;protocol=TCP;description=OpenTofu
PORT_FORWARD_K3S_MAPPING_6 = id=postgres;namespace=${DATABASE_NAMESPACE};target=svc/knoe-db-rw;address=0.0.0.0;hostPort=5432;servicePort=5432;protocol=TCP;description=PostgreSQL (primary)
PORT_FORWARD_K3S_MAPPING_7 = id=prometheus;namespace=monitoring;target=svc/prometheus-kube-prometheus-stack-prometheus;address=127.0.0.1;hostPort=9090;servicePort=9090;protocol=TCP;description=Prometheus UI
PORT_FORWARD_K3S_MAPPING_8 = id=grafana;namespace=monitoring;target=svc/prometheus-grafana;address=0.0.0.0;hostPort=3000;servicePort=80;protocol=TCP;description=Grafana UI
PORT_FORWARD_K3S_MAPPING_9 = id=gitea-http;namespace=gitea;target=svc/gitea-http;address=0.0.0.0;hostPort=13000;servicePort=3000;protocol=TCP;description=Gitea Web
[System Environment] [System Environment]
KNOE_CONF = $HOME/dev/prole/conf KNOE_CONF = mock_val
KNOE_HOME = $HOME/dev/prole KNOE_HOME = mock_val
KNOE_SERVICE = $HOME/dev/prole/etc KNOE_SERVICE = mock_val
PROLE_DATA = $HOME/dev/prole/data PROLE_DATA = mock_val
PROLE_LOGS = $HOME/dev/prole/logs PROLE_LOGS = mock_val
[Monitoring] [Monitoring]
MONITORING_STORAGE_CLASS = merlin-local-iscsi-prometheus ; No configuration values captured yet for this section.
[Kerberos Authentication] [Kerberos Authentication]
STATUS = Initialized ; No configuration values captured yet for this section.
[Ollama] [Ollama]
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
[Optional Features] [Optional Features]
AT_REST_ENCRYPTION_ENABLED = true AT_REST_ENCRYPTION_ENABLED = false
GITOPS_ENABLED = true GITOPS_ENABLED = False
GITOPS_PROVIDER = GitLab KERBEROS_ENABLED = false
KERBEROS_ENABLED = true
SUPABASE_ENABLED = false SUPABASE_ENABLED = false
[GitOps] [GitOps]
STATUS = Attempted ; No configuration values captured yet for this section.
[Database Creation] [Database Creation]
APP_CLUSTER_NAME = knoe-dev-0 ; No configuration values captured yet for this section.
DB_CLUSTER_NAME = knoe-cnpg-0
DB_USER = root
[Initialize Cluster] [Initialize Cluster]
ENVIRONMENT = service ENVIRONMENT = mock_val
K3S_SERVER_URL = https://myrddin.prole.org:6443 K3S_SERVER_URL = mock_val
K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} K3S_TOKEN =
[Dev Cluster (k3d)] [Dev Cluster (k3d)]
CLUSTER_ENV = k3d-knoe-dev-cluster CLUSTER_ENV = dev
DISPLAY_NAME = knoe-dev-cluster DISPLAY_NAME = knoe-dev-cluster
KUBECTL_CONTEXT = service KUBECTL_CONTEXT = knoe-service-cluster
MODE = k3d MODE = k3d
[Service Cluster (k3s)] [Service Cluster (k3s)]
CLUSTER_ENV = knoe-service-cluster CLUSTER_ENV = knoe-service-cluster
DISPLAY_NAME = knoe-service-cluster DISPLAY_NAME = knoe-service-cluster
K3S_SERVER_URL = https://myrddin.prole.org:6443 K3S_SERVER_URL = knoe-service-cluster
K3S_TOKEN = ${KNOE_SECRET:v1:-cslrAhG8WhxxJLY:vAx5MGOBcU1NBMjf4U-3y1djMDmwwOjiWkrutxPa4Li5P8RBjCBhEOCEdGP2CiPJJ6UQK-ietX-mu_5nO3yNNjpwDququT4U6lWHPEInSvUNH6ImU-HzPvm_diL2FwJtZm3sY5HgecIy2dwXB_vLnYaA_7VXt9zf0T70rw==} K3S_TOKEN = ${KNOE_SECRET:v1:ugYbCQ3VG5jU52u2:C1ZYWLqL-0aDalk3vSup6bNzTmWfr_2rHlOf1vqjI45cCX2V}
; k3s kubeconfig current-context is authoritative — do not set KUBECTL_CONTEXT here
; KUBECTL_CONTEXT = prole-service-cluster
MODE = k3s MODE = k3s
PIPELINE_URL = http://127.0.0.1:8080
[GCP] [GCP]
; No configuration values captured yet for this section. BILLING_ACCOUNT = 01193C-25783B-3211AD
BILLING_PROJECT = plenary-truck-485623-p7
ORG_ID = 584001916389
PROJECT_ID = plenary-truck-485623-p7
[Prod Cluster (k8s)] [Prod Cluster (k8s)]
ARTIFACTS_DIR = ARTIFACTS_DIR = knoe-service-cluster
CLUSTER_ENV = knoe-prod-cluster CLUSTER_ENV = knoe-prod-cluster
DISPLAY_NAME = knoe-prod-cluster DISPLAY_NAME = knoe-prod-cluster
MODE = k8s MODE = k8s
PIPELINE_URL = http://127.0.0.1:8080
[Docker Build] [Docker Build]
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
@ -275,8 +199,8 @@ PIPELINE_URL = http://127.0.0.1:8080
; No configuration values captured yet for this section. ; No configuration values captured yet for this section.
[Deployment] [Deployment]
MODE = k3d MODE = k3s
TARGET = knoe-dev-cluster TARGET =
[Install] [Install]
STATUS = Failed STATUS = Finished