mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 17:54:32 +00:00
- Infrastructure:
- Updated k3s Ansible role with mountpoint preflight checks and better permission management.
- Automated deployment of prole configuration and port-forwarding scripts to cluster hosts.
- Added systemd service for managing port forwards on k3s nodes.
- Added prole-installer service account token automation.
- K8s Manifests:
- Renamed and added Persistent Volumes in iscsi-pvs.yaml (including OpenBao support).
- Updated StatefulSets for garage and openbao.
- Migrated prole-db to CloudNativePG-based configuration.
- Added comprehensive OpenTofu manifests for cluster deployment.
- Configuration:
- Added cluster-specific configurations (k3d, k3s-hosts).
- Added PostgreSQL configuration templates.
- Updated .gitignore to track the conf/ directory.
- Tools:
- Updated install.py and port-forwarding scripts.
- Added render_manifest.py for manifest generation.
157 lines
12 KiB
INI
157 lines
12 KiB
INI
[Inputs]
|
|
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 = /Users/chrisfu/dev/prole/prole-tools-app/dist
|
|
disk_selection.removable_mount =
|
|
env_setup.namespace = prole-chrisfu-abracadabra
|
|
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.at_rest_encryption_enabled = true
|
|
init_cluster.cluster_env = prole-service-cluster
|
|
init_cluster.k3s_server_url = https://myrddin.prole.org:6443
|
|
init_cluster.k3s_token = ${PROLE_SECRET:v1:T5sfnR62PYD8mB6x:9rlfh08fyPnsItAHzpY_qSSgTTIaYQed4kYuzJIRVF25mRcqmmxX0ccZpXpDP-0YqfJETY0XmfVhCx8kuq4AAfd2bCqfcArXETJPDjo-4FUE3iPYeLkpNEzXrGGp1Jp4t7gaYQZd0p-_J6UUCh6xjwl_w0AU2Rs45l-3A6WkwFVqNS_fIqapboH6md_3yRcjFU0p3N9IuQTT6ea7BGuAzM9d_swR3DzUHN0ZVMOlQ5AsiKCh_q3G6lTEy2n8l3utDdLoKht0wWc9kaE9XxRPMWT9cZlJUjLP64uglQ30t6Qp-jEXH9Ecv8J1GY4CfIoMrE1pY5XttelMqWXTCn_CQHtI6yapXeJvQvCSAPRBNvNZqAH7cLlcQ4THNGcm55EtNjSA-d4P0anPk26PAkyheplDtB6fJCv2zlHJGS89jr_Y40PBvojeGO3K3mtKXEu_pArZJK6g4ilCXnQPt8cN_Woq4JRNIYzim47L6c0inp3R_L60KiRQF8DH9CGZAQtjueB343_4-aNlrDTWTfIZqf6hBNjIo_5cRjcAuESSq2DaVEWL0Ucsfj922WjjQAQvlc1E-YItisEAzjsNcOpawVFrlNBEJ0oGooPOw-nfvcdh5MicW-IStqV67uK7y1jsQUbEgr2-Jj5L5Q7njrzQZymyAYlzc1Ra6LgTUbZzVC9DtNZOpFLrfV_SHBnBBZBrt7T6xGqd_-P5x0P4S9T7-KnaKtGk15VRlL86G-oxOF3ubfJjiMsOtYAOyh8-gATu9wWL692kq2VwYIAsB5qGXcG6jwzcBZiT-iOl01yHGFAQCd6Rno3Y56a_HdXUxZ9LIKXjtRGjxjVplIlAt0VWgUQ1xB0hCEWM8SRcIRkRUpR00cj28J_9gp2I29s2RKnlXY67YsdlXZAl28IqbZP9TqlJEFVohhCGu6moBGbaCaEb2stUamp_lUEfGEPB74p9WxvpSuCZT0jQMtqMTsCokI0N6xXMu8O4i9Pe-md4f2z3xWfooKGZWPAufSX1Eb1Q5jGBJ1YNz_b_q8CzFqAyGYtm_EMKTBXe2i2YEBZnFMjxlmFp5kRqb4Y-GPCoHTLMKjZ-jV9DAcGO3hQcO-cmDpF9e4zWUFt0olkRjgR7xaoJB8Mc9tfhWSAC0IQcD8DZ54YFVhqwd0bByVw_jt-Qxd67aydobdyinevj-qgEuVtwkzNmIWiaxnJfSNV0bjk3Re9G8m3-Dypeo4TB2dkw9o_TY4JL7pKYFvZ-ZfiJW1mJAqmiPUk=}
|
|
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 = prole-chrisfu-abracadabra
|
|
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.init_authority = 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]
|
|
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 = prole-chrisfu-abracadabra
|
|
prole_db_user = chrisfu
|
|
prole_home = /Users/chrisfu/dev/prole
|
|
prole_k3s_server = https://myrddin.prole.org:6443
|
|
prole_k3s_token = ${PROLE_SECRET:v1:T5sfnR62PYD8mB6x:9rlfh08fyPnsItAHzpY_qSSgTTIaYQed4kYuzJIRVF25mRcqmmxX0ccZpXpDP-0YqfJETY0XmfVhCx8kuq4AAfd2bCqfcArXETJPDjo-4FUE3iPYeLkpNEzXrGGp1Jp4t7gaYQZd0p-_J6UUCh6xjwl_w0AU2Rs45l-3A6WkwFVqNS_fIqapboH6md_3yRcjFU0p3N9IuQTT6ea7BGuAzM9d_swR3DzUHN0ZVMOlQ5AsiKCh_q3G6lTEy2n8l3utDdLoKht0wWc9kaE9XxRPMWT9cZlJUjLP64uglQ30t6Qp-jEXH9Ecv8J1GY4CfIoMrE1pY5XttelMqWXTCn_CQHtI6yapXeJvQvCSAPRBNvNZqAH7cLlcQ4THNGcm55EtNjSA-d4P0anPk26PAkyheplDtB6fJCv2zlHJGS89jr_Y40PBvojeGO3K3mtKXEu_pArZJK6g4ilCXnQPt8cN_Woq4JRNIYzim47L6c0inp3R_L60KiRQF8DH9CGZAQtjueB343_4-aNlrDTWTfIZqf6hBNjIo_5cRjcAuESSq2DaVEWL0Ucsfj922WjjQAQvlc1E-YItisEAzjsNcOpawVFrlNBEJ0oGooPOw-nfvcdh5MicW-IStqV67uK7y1jsQUbEgr2-Jj5L5Q7njrzQZymyAYlzc1Ra6LgTUbZzVC9DtNZOpFLrfV_SHBnBBZBrt7T6xGqd_-P5x0P4S9T7-KnaKtGk15VRlL86G-oxOF3ubfJjiMsOtYAOyh8-gATu9wWL692kq2VwYIAsB5qGXcG6jwzcBZiT-iOl01yHGFAQCd6Rno3Y56a_HdXUxZ9LIKXjtRGjxjVplIlAt0VWgUQ1xB0hCEWM8SRcIRkRUpR00cj28J_9gp2I29s2RKnlXY67YsdlXZAl28IqbZP9TqlJEFVohhCGu6moBGbaCaEb2stUamp_lUEfGEPB74p9WxvpSuCZT0jQMtqMTsCokI0N6xXMu8O4i9Pe-md4f2z3xWfooKGZWPAufSX1Eb1Q5jGBJ1YNz_b_q8CzFqAyGYtm_EMKTBXe2i2YEBZnFMjxlmFp5kRqb4Y-GPCoHTLMKjZ-jV9DAcGO3hQcO-cmDpF9e4zWUFt0olkRjgR7xaoJB8Mc9tfhWSAC0IQcD8DZ54YFVhqwd0bByVw_jt-Qxd67aydobdyinevj-qgEuVtwkzNmIWiaxnJfSNV0bjk3Re9G8m3-Dypeo4TB2dkw9o_TY4JL7pKYFvZ-ZfiJW1mJAqmiPUk=}
|
|
prole_opentofu_url = http://127.0.0.1:8080
|
|
|
|
[Welcome]
|
|
|
|
[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","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"],"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 (https://127.0.0.1:8443)
|
|
PORT_FORWARD_K3D_MAPPING_2 = id=prometheus;namespace=default;target=svc/prometheus-community-kube-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=${NAMESPACE};target=svc/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_ENABLED = true
|
|
PORT_FORWARD_K3S_HOSTS = myrddin.prole.org
|
|
PORT_FORWARD_K3S_MAPPING_1 = id=grafana;namespace=${NAMESPACE};target=svc/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)
|
|
PORT_FORWARD_K3S_MAPPING_5 = id=registry;namespace=${NAMESPACE};target=svc/registry;address=0.0.0.0;hostPort=5000;servicePort=5000;protocol=TCP;description=Docker registry (0.0.0.0:5000)
|
|
|
|
[System Environment]
|
|
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_opentofu_url = http://127.0.0.1:8080
|
|
prole_service = /Users/chrisfu/dev/prole/etc
|
|
|
|
[Monitoring]
|
|
|
|
[Kerberos Authentication]
|
|
|
|
[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://myrddin.prole.org:6443
|
|
k3s_token = ${PROLE_SECRET:v1:T5sfnR62PYD8mB6x:9rlfh08fyPnsItAHzpY_qSSgTTIaYQed4kYuzJIRVF25mRcqmmxX0ccZpXpDP-0YqfJETY0XmfVhCx8kuq4AAfd2bCqfcArXETJPDjo-4FUE3iPYeLkpNEzXrGGp1Jp4t7gaYQZd0p-_J6UUCh6xjwl_w0AU2Rs45l-3A6WkwFVqNS_fIqapboH6md_3yRcjFU0p3N9IuQTT6ea7BGuAzM9d_swR3DzUHN0ZVMOlQ5AsiKCh_q3G6lTEy2n8l3utDdLoKht0wWc9kaE9XxRPMWT9cZlJUjLP64uglQ30t6Qp-jEXH9Ecv8J1GY4CfIoMrE1pY5XttelMqWXTCn_CQHtI6yapXeJvQvCSAPRBNvNZqAH7cLlcQ4THNGcm55EtNjSA-d4P0anPk26PAkyheplDtB6fJCv2zlHJGS89jr_Y40PBvojeGO3K3mtKXEu_pArZJK6g4ilCXnQPt8cN_Woq4JRNIYzim47L6c0inp3R_L60KiRQF8DH9CGZAQtjueB343_4-aNlrDTWTfIZqf6hBNjIo_5cRjcAuESSq2DaVEWL0Ucsfj922WjjQAQvlc1E-YItisEAzjsNcOpawVFrlNBEJ0oGooPOw-nfvcdh5MicW-IStqV67uK7y1jsQUbEgr2-Jj5L5Q7njrzQZymyAYlzc1Ra6LgTUbZzVC9DtNZOpFLrfV_SHBnBBZBrt7T6xGqd_-P5x0P4S9T7-KnaKtGk15VRlL86G-oxOF3ubfJjiMsOtYAOyh8-gATu9wWL692kq2VwYIAsB5qGXcG6jwzcBZiT-iOl01yHGFAQCd6Rno3Y56a_HdXUxZ9LIKXjtRGjxjVplIlAt0VWgUQ1xB0hCEWM8SRcIRkRUpR00cj28J_9gp2I29s2RKnlXY67YsdlXZAl28IqbZP9TqlJEFVohhCGu6moBGbaCaEb2stUamp_lUEfGEPB74p9WxvpSuCZT0jQMtqMTsCokI0N6xXMu8O4i9Pe-md4f2z3xWfooKGZWPAufSX1Eb1Q5jGBJ1YNz_b_q8CzFqAyGYtm_EMKTBXe2i2YEBZnFMjxlmFp5kRqb4Y-GPCoHTLMKjZ-jV9DAcGO3hQcO-cmDpF9e4zWUFt0olkRjgR7xaoJB8Mc9tfhWSAC0IQcD8DZ54YFVhqwd0bByVw_jt-Qxd67aydobdyinevj-qgEuVtwkzNmIWiaxnJfSNV0bjk3Re9G8m3-Dypeo4TB2dkw9o_TY4JL7pKYFvZ-ZfiJW1mJAqmiPUk=}
|
|
|
|
[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://myrddin.prole.org:6443
|
|
k3s_token = ${PROLE_SECRET:v1:T5sfnR62PYD8mB6x:9rlfh08fyPnsItAHzpY_qSSgTTIaYQed4kYuzJIRVF25mRcqmmxX0ccZpXpDP-0YqfJETY0XmfVhCx8kuq4AAfd2bCqfcArXETJPDjo-4FUE3iPYeLkpNEzXrGGp1Jp4t7gaYQZd0p-_J6UUCh6xjwl_w0AU2Rs45l-3A6WkwFVqNS_fIqapboH6md_3yRcjFU0p3N9IuQTT6ea7BGuAzM9d_swR3DzUHN0ZVMOlQ5AsiKCh_q3G6lTEy2n8l3utDdLoKht0wWc9kaE9XxRPMWT9cZlJUjLP64uglQ30t6Qp-jEXH9Ecv8J1GY4CfIoMrE1pY5XttelMqWXTCn_CQHtI6yapXeJvQvCSAPRBNvNZqAH7cLlcQ4THNGcm55EtNjSA-d4P0anPk26PAkyheplDtB6fJCv2zlHJGS89jr_Y40PBvojeGO3K3mtKXEu_pArZJK6g4ilCXnQPt8cN_Woq4JRNIYzim47L6c0inp3R_L60KiRQF8DH9CGZAQtjueB343_4-aNlrDTWTfIZqf6hBNjIo_5cRjcAuESSq2DaVEWL0Ucsfj922WjjQAQvlc1E-YItisEAzjsNcOpawVFrlNBEJ0oGooPOw-nfvcdh5MicW-IStqV67uK7y1jsQUbEgr2-Jj5L5Q7njrzQZymyAYlzc1Ra6LgTUbZzVC9DtNZOpFLrfV_SHBnBBZBrt7T6xGqd_-P5x0P4S9T7-KnaKtGk15VRlL86G-oxOF3ubfJjiMsOtYAOyh8-gATu9wWL692kq2VwYIAsB5qGXcG6jwzcBZiT-iOl01yHGFAQCd6Rno3Y56a_HdXUxZ9LIKXjtRGjxjVplIlAt0VWgUQ1xB0hCEWM8SRcIRkRUpR00cj28J_9gp2I29s2RKnlXY67YsdlXZAl28IqbZP9TqlJEFVohhCGu6moBGbaCaEb2stUamp_lUEfGEPB74p9WxvpSuCZT0jQMtqMTsCokI0N6xXMu8O4i9Pe-md4f2z3xWfooKGZWPAufSX1Eb1Q5jGBJ1YNz_b_q8CzFqAyGYtm_EMKTBXe2i2YEBZnFMjxlmFp5kRqb4Y-GPCoHTLMKjZ-jV9DAcGO3hQcO-cmDpF9e4zWUFt0olkRjgR7xaoJB8Mc9tfhWSAC0IQcD8DZ54YFVhqwd0bByVw_jt-Qxd67aydobdyinevj-qgEuVtwkzNmIWiaxnJfSNV0bjk3Re9G8m3-Dypeo4TB2dkw9o_TY4JL7pKYFvZ-ZfiJW1mJAqmiPUk=}
|
|
mode = k3s
|
|
pipeline_url = http://127.0.0.1:8080
|
|
|
|
[Prod Cluster (k8s)]
|
|
artifacts_dir =
|
|
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 = k3s
|
|
opentofu_pipeline_dir = /Users/chrisfu/dev/prole/deploy/opentofu/k3s
|
|
status = Attempted
|
|
target = prole-service-cluster
|
|
|
|
[Install]
|
|
status = Finished
|