mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 15:54:32 +00:00
Fix conf/service/service bug: prevent self-referential env nesting
- _prole_cfg_bootstrap_env_layout now detects when conf_dir is already an env-specific directory (dev, service, prod, test, k3d, k3s, k8s) and skips creating env subdirectories to avoid conf/service/service/. - When conf_dir is an env dir with a stale symlink, resolve it to a regular file instead of creating nested paths. - Remove spurious conf/service/service/prole.cfg from the repo. - Replace conf/service/prole.cfg symlink with the actual config file. Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
parent
a069989315
commit
51ba00f0e7
@ -1 +0,0 @@
|
|||||||
service/prole.cfg
|
|
||||||
195
conf/service/prole.cfg
Normal file
195
conf/service/prole.cfg
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
; Prole Master Configuration File
|
||||||
|
; Generated by install.py on 2026-03-22 20:46:43
|
||||||
|
; This file is used as input for Ansible deployment and k8s cluster creation.
|
||||||
|
|
||||||
|
[User]
|
||||||
|
; User-editable values; derived values below reference these by default.
|
||||||
|
; No user values captured yet for this section.
|
||||||
|
|
||||||
|
[Inputs]
|
||||||
|
; Screen-scoped inputs used for unattended replays (-S)
|
||||||
|
build.deploy_env = Dev
|
||||||
|
build.run_build = false
|
||||||
|
database_options.distribution = percona
|
||||||
|
database_options.ext.dblink = true
|
||||||
|
database_options.ext.pg_buffercache = true
|
||||||
|
database_options.ext.pg_freespacemap = true
|
||||||
|
database_options.ext.pg_repack = true
|
||||||
|
database_options.ext.pg_stat_monitor = true
|
||||||
|
database_options.ext.pg_stat_statements = true
|
||||||
|
database_options.ext.pgaudit = true
|
||||||
|
database_options.ext.pgbadger = true
|
||||||
|
database_options.ext.pgcrypto = true
|
||||||
|
database_options.ext.pgrowlocks = true
|
||||||
|
database_options.ext.pgvector = true
|
||||||
|
database_options.ext.postgis = true
|
||||||
|
database_options.ext.postgres_fdw = true
|
||||||
|
database_options.version_type = v18
|
||||||
|
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.kubectx.install = true
|
||||||
|
dependencies.opentofu.install = true
|
||||||
|
dependencies.python.install = true
|
||||||
|
dependencies.verify_all = false
|
||||||
|
disk_selection.disk_type = local
|
||||||
|
disk_selection.local_path = /Users/chrisfu/dev/prole/prole-tools-app/dist
|
||||||
|
disk_selection.removable_mount =
|
||||||
|
env_setup.NAMESPACE = ${NAMESPACE}
|
||||||
|
env_setup.PROLE_CONF = /Users/chrisfu/dev/prole/conf
|
||||||
|
env_setup.PROLE_DATA = /Users/chrisfu/dev/prole/data
|
||||||
|
env_setup.PROLE_HOME = /Users/chrisfu/dev/prole
|
||||||
|
env_setup.PROLE_LOGS = /Users/chrisfu/dev/prole/logs
|
||||||
|
env_setup.PROLE_SERVICE = /Users/chrisfu/dev/prole/etc
|
||||||
|
init_cluster.argocd_enabled = false
|
||||||
|
init_cluster.at_rest_encryption_enabled = true
|
||||||
|
init_cluster.cluster_env = service
|
||||||
|
init_cluster.deployment_target = prole-service-cluster
|
||||||
|
init_cluster.gitops_enabled = false
|
||||||
|
init_cluster.k3s_server_url = https://myrddin.prole.org:6443
|
||||||
|
init_cluster.k3s_token = ${PROLE_SECRET:v1:_r5tIPt5VZcr0SrV:e2_sHY49gG2i-vhQZr-42M1kekln4D4ZHq6tJrDRCn8f4KOVSn59rndLt4PuHmsebPSPP4tGHZV0MaVtdBMm4RJmk9IXbqV7BjSNruK2SXi62NOXIIUWZGNcVIOFjmv7EovfOifo3nye8142zKDspTeyo5Y2KY6qGLtS2g==}
|
||||||
|
init_cluster.kerberos_enabled = true
|
||||||
|
init_cluster.mode = k3s
|
||||||
|
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 = ${PROLE_SECRET:v1:vz4oaR5QA3zIJWDs:blYR6vqpY0e_GqGWFufDwlY4yxXWXrGF}
|
||||||
|
init_password.db_password_confirm = ${PROLE_SECRET:v1:vz4oaR5QA3zIJWDs:blYR6vqpY0e_GqGWFufDwlY4yxXWXrGF}
|
||||||
|
init_password.db_username = root
|
||||||
|
init_password.generate_ssh_key = true
|
||||||
|
init_scripts.run_scripts = true
|
||||||
|
kerberos_config.enabled = true
|
||||||
|
kerberos_config.init_authority = false
|
||||||
|
kerberos_config.kdc = 10.0.0.3
|
||||||
|
kerberos_config.password = ${PROLE_SECRET:v1:71ROfYyYysQDJDpX:0K4cB3p9nnMb1yi2OImqUm-pa9Zg21JYTmYHzYB_7czTKMQJ}
|
||||||
|
kerberos_config.realm = PROLE.ORG
|
||||||
|
kerberos_config.test_connection = false
|
||||||
|
kerberos_config.user = administrator
|
||||||
|
network_scan.run = true
|
||||||
|
ollama_config.model =
|
||||||
|
ollama_config.server_host = fairyland.prole.org
|
||||||
|
ollama_config.server_port = 11434
|
||||||
|
|
||||||
|
[Global]
|
||||||
|
; Variables used by name in more than one place or assumed global scope
|
||||||
|
ARGOCD_NAMESPACE = argocd
|
||||||
|
CLUSTER_ENV = service
|
||||||
|
DB_HOST_PORT = 5432
|
||||||
|
DB_PASSWORD = ${PROLE_SECRET:v1:NmgNZUhCsk-p0_DF:VB1tKREj45eEWcnN1GAlcGV6b_Lrl9sx}
|
||||||
|
DEPLOYMENT_MODE = k3s
|
||||||
|
DEPLOYMENT_TARGET = prole-service-cluster
|
||||||
|
DOCKER_IMPORT_DIR =
|
||||||
|
DOCKER_PRELOAD = false
|
||||||
|
NAMESPACE = knoe-db
|
||||||
|
OPTIONAL_WORKLOADS_MIN_READY_SCHEDULABLE_NODES = 2
|
||||||
|
KNOE_DB_USER = root
|
||||||
|
PROLE_HOME = /Users/chrisfu/dev/prole
|
||||||
|
PROLE_K3S_SERVER = https://myrddin.prole.org:6443
|
||||||
|
PROLE_K3S_TOKEN = ${PROLE_SECRET:v1:_r5tIPt5VZcr0SrV:e2_sHY49gG2i-vhQZr-42M1kekln4D4ZHq6tJrDRCn8f4KOVSn59rndLt4PuHmsebPSPP4tGHZV0MaVtdBMm4RJmk9IXbqV7BjSNruK2SXi62NOXIIUWZGNcVIOFjmv7EovfOifo3nye8142zKDspTeyo5Y2KY6qGLtS2g==}
|
||||||
|
PROLE_OPENTOFU_URL = http://myrddin.prole.org:8080
|
||||||
|
REGISTRY_NAMESPACE = knoe-system
|
||||||
|
SERVICE_NAMESPACE = knoe-system
|
||||||
|
|
||||||
|
[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 = /Users/chrisfu/dev/prole/infrastructure
|
||||||
|
ANSIBLE_INVENTORY = /Users/chrisfu/dev/prole/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","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"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_servers":["myrddin.prole.org"],"k3s_agents":["pi.prole.org","merlin.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"],"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":{"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":["k3s_agents","k3s_servers","mariadb_primary","mariadb_replica"]}
|
||||||
|
KDC_ANSIBLE_DETECTED = 10.0.0.3
|
||||||
|
KDC_AUTO_DETECTED = 10.0.0.3
|
||||||
|
KERBEROS_AUTO_ENABLED = True
|
||||||
|
|
||||||
|
[Port Forwards]
|
||||||
|
PORT_FORWARD_K3S_MAPPING_1 = id=argocd;namespace=argocd;target=svc/argocd-server;address=0.0.0.0;hostPort=8081;servicePort=80;protocol=TCP;description=ArgoCD
|
||||||
|
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_5 = 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_K3S_MAPPING_6 = id=postgres;namespace=${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/kps-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/kps-grafana;address=0.0.0.0;hostPort=3000;servicePort=80;protocol=TCP;description=Grafana UI
|
||||||
|
|
||||||
|
[System Environment]
|
||||||
|
NAMESPACE = knoe-db
|
||||||
|
PROLE_CONF = /Users/chrisfu/dev/prole/conf
|
||||||
|
PROLE_DATA = /Users/chrisfu/dev/prole/data
|
||||||
|
PROLE_HOME = /Users/chrisfu/dev/prole
|
||||||
|
PROLE_LOGS = /Users/chrisfu/dev/prole/logs
|
||||||
|
PROLE_SERVICE = /Users/chrisfu/dev/prole/etc
|
||||||
|
|
||||||
|
[Monitoring]
|
||||||
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
|
[Kerberos Authentication]
|
||||||
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
|
[Ollama]
|
||||||
|
OLLAMA_HOST = http://fairyland.prole.org:11434
|
||||||
|
OLLAMA_SERVERS = fairyland.prole.org:11434,k3d.localhost:11434,morgoth.prole.org:11434
|
||||||
|
OLLAMA_SERVER_HOST = fairyland.prole.org
|
||||||
|
OLLAMA_SERVER_PORT = 11434
|
||||||
|
|
||||||
|
[Optional Features]
|
||||||
|
AT_REST_ENCRYPTION_ENABLED = true
|
||||||
|
GITOPS_ENABLED = false
|
||||||
|
KERBEROS_ENABLED = true
|
||||||
|
SUPABASE_ENABLED = false
|
||||||
|
|
||||||
|
[GitOps]
|
||||||
|
|
||||||
|
[Database Creation]
|
||||||
|
DB_NAME = knoe-db
|
||||||
|
DB_USER = root
|
||||||
|
|
||||||
|
[Initialize Cluster]
|
||||||
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
|
[Dev Cluster (k3d)]
|
||||||
|
CLUSTER_ENV = k3d-knoe-dev-cluster
|
||||||
|
DISPLAY_NAME = knoe-dev-cluster
|
||||||
|
KUBECTL_CONTEXT = service
|
||||||
|
MODE = k3d
|
||||||
|
|
||||||
|
[Service Cluster (k3s)]
|
||||||
|
CLUSTER_ENV = prole-service-cluster
|
||||||
|
DISPLAY_NAME = prole-service-cluster
|
||||||
|
K3S_SERVER_URL = https://myrddin.prole.org:6443
|
||||||
|
K3S_TOKEN = ${PROLE_SECRET:v1:_r5tIPt5VZcr0SrV:e2_sHY49gG2i-vhQZr-42M1kekln4D4ZHq6tJrDRCn8f4KOVSn59rndLt4PuHmsebPSPP4tGHZV0MaVtdBMm4RJmk9IXbqV7BjSNruK2SXi62NOXIIUWZGNcVIOFjmv7EovfOifo3nye8142zKDspTeyo5Y2KY6qGLtS2g==}
|
||||||
|
MODE = k3s
|
||||||
|
PIPELINE_URL = http://myrddin.prole.org:8080
|
||||||
|
|
||||||
|
[Prod Cluster (k8s)]
|
||||||
|
ARTIFACTS_DIR =
|
||||||
|
CLUSTER_ENV = prole-prod-cluster
|
||||||
|
DISPLAY_NAME = prole-prod-cluster
|
||||||
|
MODE = k8s
|
||||||
|
PIPELINE_URL = http://myrddin.prole.org:8080
|
||||||
|
|
||||||
|
[Docker Build]
|
||||||
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
|
[Initialization Scripts]
|
||||||
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
|
[Deployment]
|
||||||
|
MODE = k3s
|
||||||
|
TARGET = prole-service-cluster
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
STATUS = Failed
|
||||||
@ -1,195 +0,0 @@
|
|||||||
; Prole Master Configuration File
|
|
||||||
; Generated by install.py on 2026-03-22 20:46:43
|
|
||||||
; This file is used as input for Ansible deployment and k8s cluster creation.
|
|
||||||
|
|
||||||
[User]
|
|
||||||
; User-editable values; derived values below reference these by default.
|
|
||||||
; No user values captured yet for this section.
|
|
||||||
|
|
||||||
[Inputs]
|
|
||||||
; Screen-scoped inputs used for unattended replays (-S)
|
|
||||||
build.deploy_env = Dev
|
|
||||||
build.run_build = false
|
|
||||||
database_options.distribution = percona
|
|
||||||
database_options.ext.dblink = true
|
|
||||||
database_options.ext.pg_buffercache = true
|
|
||||||
database_options.ext.pg_freespacemap = true
|
|
||||||
database_options.ext.pg_repack = true
|
|
||||||
database_options.ext.pg_stat_monitor = true
|
|
||||||
database_options.ext.pg_stat_statements = true
|
|
||||||
database_options.ext.pgaudit = true
|
|
||||||
database_options.ext.pgbadger = true
|
|
||||||
database_options.ext.pgcrypto = true
|
|
||||||
database_options.ext.pgrowlocks = true
|
|
||||||
database_options.ext.pgvector = true
|
|
||||||
database_options.ext.postgis = true
|
|
||||||
database_options.ext.postgres_fdw = true
|
|
||||||
database_options.version_type = v18
|
|
||||||
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.kubectx.install = true
|
|
||||||
dependencies.opentofu.install = true
|
|
||||||
dependencies.python.install = true
|
|
||||||
dependencies.verify_all = false
|
|
||||||
disk_selection.disk_type = local
|
|
||||||
disk_selection.local_path = /Users/chrisfu/dev/prole/prole-tools-app/dist
|
|
||||||
disk_selection.removable_mount =
|
|
||||||
env_setup.NAMESPACE = ${NAMESPACE}
|
|
||||||
env_setup.PROLE_CONF = /Users/chrisfu/dev/prole/conf
|
|
||||||
env_setup.PROLE_DATA = /Users/chrisfu/dev/prole/data
|
|
||||||
env_setup.PROLE_HOME = /Users/chrisfu/dev/prole
|
|
||||||
env_setup.PROLE_LOGS = /Users/chrisfu/dev/prole/logs
|
|
||||||
env_setup.PROLE_SERVICE = /Users/chrisfu/dev/prole/etc
|
|
||||||
init_cluster.argocd_enabled = false
|
|
||||||
init_cluster.at_rest_encryption_enabled = true
|
|
||||||
init_cluster.cluster_env = service
|
|
||||||
init_cluster.deployment_target = prole-service-cluster
|
|
||||||
init_cluster.gitops_enabled = false
|
|
||||||
init_cluster.k3s_server_url = https://myrddin.prole.org:6443
|
|
||||||
init_cluster.k3s_token = ${PROLE_SECRET:v1:_r5tIPt5VZcr0SrV:e2_sHY49gG2i-vhQZr-42M1kekln4D4ZHq6tJrDRCn8f4KOVSn59rndLt4PuHmsebPSPP4tGHZV0MaVtdBMm4RJmk9IXbqV7BjSNruK2SXi62NOXIIUWZGNcVIOFjmv7EovfOifo3nye8142zKDspTeyo5Y2KY6qGLtS2g==}
|
|
||||||
init_cluster.kerberos_enabled = true
|
|
||||||
init_cluster.mode = k3s
|
|
||||||
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 = ${PROLE_SECRET:v1:vz4oaR5QA3zIJWDs:blYR6vqpY0e_GqGWFufDwlY4yxXWXrGF}
|
|
||||||
init_password.db_password_confirm = ${PROLE_SECRET:v1:vz4oaR5QA3zIJWDs:blYR6vqpY0e_GqGWFufDwlY4yxXWXrGF}
|
|
||||||
init_password.db_username = root
|
|
||||||
init_password.generate_ssh_key = true
|
|
||||||
init_scripts.run_scripts = true
|
|
||||||
kerberos_config.enabled = true
|
|
||||||
kerberos_config.init_authority = false
|
|
||||||
kerberos_config.kdc = 10.0.0.3
|
|
||||||
kerberos_config.password = ${PROLE_SECRET:v1:71ROfYyYysQDJDpX:0K4cB3p9nnMb1yi2OImqUm-pa9Zg21JYTmYHzYB_7czTKMQJ}
|
|
||||||
kerberos_config.realm = PROLE.ORG
|
|
||||||
kerberos_config.test_connection = false
|
|
||||||
kerberos_config.user = administrator
|
|
||||||
network_scan.run = true
|
|
||||||
ollama_config.model =
|
|
||||||
ollama_config.server_host = fairyland.prole.org
|
|
||||||
ollama_config.server_port = 11434
|
|
||||||
|
|
||||||
[Global]
|
|
||||||
; Variables used by name in more than one place or assumed global scope
|
|
||||||
ARGOCD_NAMESPACE = argocd
|
|
||||||
CLUSTER_ENV = service
|
|
||||||
DB_HOST_PORT = 5432
|
|
||||||
DB_PASSWORD = ${PROLE_SECRET:v1:NmgNZUhCsk-p0_DF:VB1tKREj45eEWcnN1GAlcGV6b_Lrl9sx}
|
|
||||||
DEPLOYMENT_MODE = k3s
|
|
||||||
DEPLOYMENT_TARGET = prole-service-cluster
|
|
||||||
DOCKER_IMPORT_DIR =
|
|
||||||
DOCKER_PRELOAD = false
|
|
||||||
NAMESPACE = knoe-db
|
|
||||||
OPTIONAL_WORKLOADS_MIN_READY_SCHEDULABLE_NODES = 2
|
|
||||||
KNOE_DB_USER = root
|
|
||||||
PROLE_HOME = /Users/chrisfu/dev/prole
|
|
||||||
PROLE_K3S_SERVER = https://myrddin.prole.org:6443
|
|
||||||
PROLE_K3S_TOKEN = ${PROLE_SECRET:v1:_r5tIPt5VZcr0SrV:e2_sHY49gG2i-vhQZr-42M1kekln4D4ZHq6tJrDRCn8f4KOVSn59rndLt4PuHmsebPSPP4tGHZV0MaVtdBMm4RJmk9IXbqV7BjSNruK2SXi62NOXIIUWZGNcVIOFjmv7EovfOifo3nye8142zKDspTeyo5Y2KY6qGLtS2g==}
|
|
||||||
PROLE_OPENTOFU_URL = http://myrddin.prole.org:8080
|
|
||||||
REGISTRY_NAMESPACE = knoe-system
|
|
||||||
SERVICE_NAMESPACE = knoe-system
|
|
||||||
|
|
||||||
[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 = /Users/chrisfu/dev/prole/infrastructure
|
|
||||||
ANSIBLE_INVENTORY = /Users/chrisfu/dev/prole/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","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"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_servers":["myrddin.prole.org"],"k3s_agents":["pi.prole.org","merlin.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"],"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":{"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":["k3s_agents","k3s_servers","mariadb_primary","mariadb_replica"]}
|
|
||||||
KDC_ANSIBLE_DETECTED = 10.0.0.3
|
|
||||||
KDC_AUTO_DETECTED = 10.0.0.3
|
|
||||||
KERBEROS_AUTO_ENABLED = True
|
|
||||||
|
|
||||||
[Port Forwards]
|
|
||||||
PORT_FORWARD_K3S_MAPPING_1 = id=argocd;namespace=argocd;target=svc/argocd-server;address=0.0.0.0;hostPort=8081;servicePort=80;protocol=TCP;description=ArgoCD
|
|
||||||
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_5 = 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_K3S_MAPPING_6 = id=postgres;namespace=${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/kps-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/kps-grafana;address=0.0.0.0;hostPort=3000;servicePort=80;protocol=TCP;description=Grafana UI
|
|
||||||
|
|
||||||
[System Environment]
|
|
||||||
NAMESPACE = knoe-db
|
|
||||||
PROLE_CONF = /Users/chrisfu/dev/prole/conf
|
|
||||||
PROLE_DATA = /Users/chrisfu/dev/prole/data
|
|
||||||
PROLE_HOME = /Users/chrisfu/dev/prole
|
|
||||||
PROLE_LOGS = /Users/chrisfu/dev/prole/logs
|
|
||||||
PROLE_SERVICE = /Users/chrisfu/dev/prole/etc
|
|
||||||
|
|
||||||
[Monitoring]
|
|
||||||
; No configuration values captured yet for this section.
|
|
||||||
|
|
||||||
[Kerberos Authentication]
|
|
||||||
; No configuration values captured yet for this section.
|
|
||||||
|
|
||||||
[Ollama]
|
|
||||||
OLLAMA_HOST = http://fairyland.prole.org:11434
|
|
||||||
OLLAMA_SERVERS = fairyland.prole.org:11434,k3d.localhost:11434,morgoth.prole.org:11434
|
|
||||||
OLLAMA_SERVER_HOST = fairyland.prole.org
|
|
||||||
OLLAMA_SERVER_PORT = 11434
|
|
||||||
|
|
||||||
[Optional Features]
|
|
||||||
AT_REST_ENCRYPTION_ENABLED = true
|
|
||||||
GITOPS_ENABLED = false
|
|
||||||
KERBEROS_ENABLED = true
|
|
||||||
SUPABASE_ENABLED = false
|
|
||||||
|
|
||||||
[GitOps]
|
|
||||||
|
|
||||||
[Database Creation]
|
|
||||||
DB_NAME = knoe-db
|
|
||||||
DB_USER = root
|
|
||||||
|
|
||||||
[Initialize Cluster]
|
|
||||||
; No configuration values captured yet for this section.
|
|
||||||
|
|
||||||
[Dev Cluster (k3d)]
|
|
||||||
CLUSTER_ENV = k3d-knoe-dev-cluster
|
|
||||||
DISPLAY_NAME = knoe-dev-cluster
|
|
||||||
KUBECTL_CONTEXT = service
|
|
||||||
MODE = k3d
|
|
||||||
|
|
||||||
[Service Cluster (k3s)]
|
|
||||||
CLUSTER_ENV = prole-service-cluster
|
|
||||||
DISPLAY_NAME = prole-service-cluster
|
|
||||||
K3S_SERVER_URL = https://myrddin.prole.org:6443
|
|
||||||
K3S_TOKEN = ${PROLE_SECRET:v1:_r5tIPt5VZcr0SrV:e2_sHY49gG2i-vhQZr-42M1kekln4D4ZHq6tJrDRCn8f4KOVSn59rndLt4PuHmsebPSPP4tGHZV0MaVtdBMm4RJmk9IXbqV7BjSNruK2SXi62NOXIIUWZGNcVIOFjmv7EovfOifo3nye8142zKDspTeyo5Y2KY6qGLtS2g==}
|
|
||||||
MODE = k3s
|
|
||||||
PIPELINE_URL = http://myrddin.prole.org:8080
|
|
||||||
|
|
||||||
[Prod Cluster (k8s)]
|
|
||||||
ARTIFACTS_DIR =
|
|
||||||
CLUSTER_ENV = prole-prod-cluster
|
|
||||||
DISPLAY_NAME = prole-prod-cluster
|
|
||||||
MODE = k8s
|
|
||||||
PIPELINE_URL = http://myrddin.prole.org:8080
|
|
||||||
|
|
||||||
[Docker Build]
|
|
||||||
; No configuration values captured yet for this section.
|
|
||||||
|
|
||||||
[Initialization Scripts]
|
|
||||||
; No configuration values captured yet for this section.
|
|
||||||
|
|
||||||
[Deployment]
|
|
||||||
MODE = k3s
|
|
||||||
TARGET = prole-service-cluster
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
STATUS = Failed
|
|
||||||
@ -291,7 +291,19 @@ _prole_cfg_bootstrap_env_layout() {
|
|||||||
local entry="$conf_dir/prole.cfg"
|
local entry="$conf_dir/prole.cfg"
|
||||||
[[ -z "$conf_dir" ]] && return 0
|
[[ -z "$conf_dir" ]] && return 0
|
||||||
|
|
||||||
mkdir -p "$conf_dir/dev" "$conf_dir/service" "$conf_dir/prod" "$conf_dir/test" 2>/dev/null || true
|
# Detect if conf_dir is already an env-specific directory (e.g. conf/service).
|
||||||
|
# In that case, skip creating env subdirectories to avoid self-referential
|
||||||
|
# nesting like conf/service/service/.
|
||||||
|
local conf_basename
|
||||||
|
conf_basename=$(basename "$conf_dir")
|
||||||
|
local is_env_dir=false
|
||||||
|
case "$conf_basename" in
|
||||||
|
dev|service|prod|test|k3d|k3s|k8s) is_env_dir=true ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ "$is_env_dir" == false ]]; then
|
||||||
|
mkdir -p "$conf_dir/dev" "$conf_dir/service" "$conf_dir/prod" "$conf_dir/test" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
# If we already have a valid symlink entrypoint, nothing to do.
|
# If we already have a valid symlink entrypoint, nothing to do.
|
||||||
if [[ -L "$entry" && -e "$entry" ]]; then
|
if [[ -L "$entry" && -e "$entry" ]]; then
|
||||||
@ -331,7 +343,34 @@ _prole_cfg_bootstrap_env_layout() {
|
|||||||
|
|
||||||
[[ -z "$env" ]] && env="dev"
|
[[ -z "$env" ]] && env="dev"
|
||||||
|
|
||||||
local base="$conf_dir/$env/prole.cfg"
|
# If conf_dir is already the env directory, the base config lives here directly.
|
||||||
|
local base
|
||||||
|
if [[ "$is_env_dir" == true ]]; then
|
||||||
|
base="$conf_dir/prole.cfg"
|
||||||
|
else
|
||||||
|
base="$conf_dir/$env/prole.cfg"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If conf_dir is already the env dir, the entry IS the base — just ensure it exists.
|
||||||
|
if [[ "$is_env_dir" == true ]]; then
|
||||||
|
if [[ -L "$entry" ]]; then
|
||||||
|
# Remove stale symlink so we can replace it with the real file.
|
||||||
|
local target_file
|
||||||
|
target_file=$(readlink "$entry" 2>/dev/null || true)
|
||||||
|
local resolved="$conf_dir/$target_file"
|
||||||
|
if [[ -f "$resolved" ]]; then
|
||||||
|
cp "$resolved" "$entry.tmp" 2>/dev/null || true
|
||||||
|
rm -f "$entry" 2>/dev/null || true
|
||||||
|
mv "$entry.tmp" "$entry" 2>/dev/null || true
|
||||||
|
else
|
||||||
|
rm -f "$entry" 2>/dev/null || true
|
||||||
|
_prole_cfg_write_default_base "$base" "$env"
|
||||||
|
fi
|
||||||
|
elif [[ ! -f "$entry" ]]; then
|
||||||
|
_prole_cfg_write_default_base "$base" "$env"
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Heal broken symlink.
|
# Heal broken symlink.
|
||||||
if [[ -L "$entry" && ! -e "$entry" ]]; then
|
if [[ -L "$entry" && ! -e "$entry" ]]; then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user