mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 15:04:31 +00:00
STABLE BUILD — all 35+ pods Running, zero non-Running pods, CNPG ready=3.
## Architecture changes (Supabase slim-down)
- Removed local Supabase Kong, Storage, MinIO, Imgproxy from deployed stack
- Rewired API routing to shared Kong in kube-system
- Rewired object storage to shared Garage in knoe-system
- Supabase footprint reduced to control-plane only: auth, rest, meta,
analytics, realtime (studio port-forward retained)
- Supabase pods renamed: stripped redundant '-prole-supabase-' prefix via
per-component fullnameOverride (e.g. supabase-auth, supabase-rest, ...)
- Supabase workloads pinned to merlin.prole.org (memory-safe node)
## File changes
- conf/service/prole.cfg
* Replaced all hardcoded /Users/chrisfu/dev/prole paths with ${HOME}/dev/prole
so config is portable when run from myrddin.prole.org or any user home
* SUPABASE_ENABLED=True, SUPABASE_PRIMARY_NODE=merlin.prole.org in
both [Global] and [Optional Features]
* supabase_enabled=true in [Inputs]/init_cluster section
- supabase/helm/render_supabase.py
* Explicitly disabled: kong, storage, minio, imgproxy
* Active components pinned via nodeSelector to merlin.prole.org
* fullnameOverride per component to clean up pod names
* Default primary node changed from pi.prole.org -> merlin.prole.org
- supabase/deploy.sh
* Removed svc/kong port-forward; API via shared Kong in kube-system
* Removed imgproxy/storage from PV/PVC prep and helm --set persistence args
* Fixed kubectl exec missing -i flag for psql heredoc stdin in
setup_knoe_db_for_supabase
* Updated Studio access messaging to reference shared platform Kong
- k8s/prole/knoe-db.yaml
* instances: 3
* Added control-plane/master tolerations for myrddin scheduling
- deploy/opentofu/k3s/manifests/prole/knoe-db.yaml
* instances: 3, added control-plane tolerations (mirrors k8s/prole/)
- k8s/prole/iscsi-pvs.yaml
* Expanded d003-data/d003-wal nodeAffinity to [pi, merlin, myrddin]
to reflect post-OOM-recovery live state
- k8s/registry/deployment.yaml
* nodeSelector restored to myrddin.prole.org (hostPort 5000 owner)
* Added control-plane + master tolerations so pod schedules correctly
- modes/k3s/knoe-db/.version
* Aligned to 140 (image tag 18-140) matching repo-root version
- etc/init_common_services.sh, etc/init_registry.sh
* Minor fixes aligned with slimmed service layout and node targeting
- infrastructure/inventory/host_vars/pi.prole.org.yml
* Updated host vars to reflect post-recovery pi state
- knoe/core/topology.py, knoe/ui/screens/cluster.py,
knoe/ui/screens/cluster_nodes.py
* Topology and UI updates for 3-node cluster representation
- scan/network_description.txt
* Refreshed network scan output post-recovery
- conf/port-mapping.cfg
* Updated port mapping to reflect removal of local Kong/storage forwards
- scripts/cleanup_stale_rs.sh (new)
* Utility script to prune orphaned ReplicaSets after rollouts
## Verified stable state
- CNPG: Cluster in healthy state, ready=3
knoe-db-2 (merlin, primary), knoe-db-3 (pi), knoe-db-5 (myrddin)
- Supabase: 5 pods Running on merlin.prole.org
supabase-auth, supabase-rest, supabase-meta,
supabase-analytics, supabase-realtime
- Monitoring: all prometheus/grafana/alertmanager pods Running on merlin
- Registry: Running on myrddin.prole.org (hostPort 5000)
- Zero non-Running / non-Completed pods across all namespaces
Co-authored-by: Junie <junie@jetbrains.com>
47 lines
1.2 KiB
YAML
47 lines
1.2 KiB
YAML
iscsi_portal: 10.0.0.203
|
|
|
|
k3s_required_mounts:
|
|
- /synology/d003
|
|
|
|
iscsi_targets:
|
|
# `/var/lib/rancher` is local host storage (do not manage it via iSCSI).
|
|
|
|
# PROLE-DATA-3
|
|
- iqn: "iqn.2000-01.com.synology:synology.Target-13.292d45194a1"
|
|
chap_user: "prole"
|
|
chap_password: "{{ vault_iscsi_prole_password }}"
|
|
mounts:
|
|
- path: /synology/d003
|
|
fstype: xfs
|
|
opts: "_netdev,noatime"
|
|
src: "UUID=757f1ee4-dc23-414b-b595-e3058c0744f0"
|
|
|
|
# PROLE-PI-2
|
|
- iqn: "iqn.2000-01.com.synology:synology.Target-19.292d45194a1"
|
|
chap_user: "prole"
|
|
chap_password: "{{ vault_iscsi_prole_password }}"
|
|
mounts:
|
|
- path: /var/log/pihole
|
|
fstype: ext4
|
|
opts: "_netdev,noatime"
|
|
src: "UUID=56b21ec3-2826-4171-b909-a6715223f9a4"
|
|
|
|
k3s_rancher_mount_required: true
|
|
k3s_rancher_mount_src: /synology/d003/rancher
|
|
k3s_rancher_mount_fstype: none
|
|
k3s_rancher_mount_opts: bind
|
|
k3s_rancher_mount_passno: 0
|
|
|
|
k3s_role: agent
|
|
k3s_cluster_init: false
|
|
k3s_server_url: "https://myrddin.prole.org:6443"
|
|
k3s_service_node_labels:
|
|
- "prole.org/node-role=general"
|
|
- "prole.org/role=observer"
|
|
k3s_node_taints: []
|
|
|
|
k3s_write_kubeconfig_mode: "0640"
|
|
k3s_kubeconfig_group: kubeadm
|
|
k3s_kubeconfig_users:
|
|
- pi
|