prole/etc
chrisfu eb9430df9d fix(gitlab,infra): ARM64 RPi service cluster – GitLab deploy in gitlab ns on gandalf
Namespace & routing
- milestones.py: GitOpsMilestone now resolves namespace from
  gitops.gitlab_namespace (new) → Global.GITLAB_NAMESPACE → 'gitlab'
  hardcoded; never falls through to gitops.namespace (was 'gitea')
- prole.cfg: add gitops.gitlab_namespace=gitlab + GITLAB_NAMESPACE=gitlab
- init_gitlab.sh: NAMESPACE defaults to gitlab, NODE_SELECTOR blanked so
  only gitaly+minio are node-pinned; GITOPS_NAMESPACE fallback removed

GitLab on ARM64 RPi (16 KB kernel pages)
- init_gitlab.sh: DaemonSet compiles jemalloc-5.3.0 with --with-lg-page=14
  (glibc/Ubuntu) on every node; LD_PRELOAD injected per Ruby component
- Minio: quay.io 2022 image (ARM64); configure init container replaced
  with ARM64 alpine that writes credential files; MINIO_ROOT_USER/PASSWORD
  injected directly into main container env via secretKeyRef
- Minio buckets auto-created post-deploy (registry, lfs, artifacts, etc.)
- webservice/sidekiq: replicaCount=1, reduced memory (1500M/800M),
  liveness probe initialDelaySeconds=3600 (Rails loads 25-40min on RPi)
- allowedHosts set as flat string list (chart 9.x default is list-of-maps
  which breaks URI initializer in 7_gitlab_http.rb)
- gitaly+minio always pinned to gandalf (local PV); other workloads spread

Storage
- Static PVs created for gitaly (50Gi) + minio (10Gi) on synology d005
- Synology dirs created before PVs; bucket creation idempotent

Redis (shared for GitLab KAS)
- init_redis.sh: persistence disabled (no dynamic provisioner); Redis used
  as pub/sub broker only

Infrastructure / pi.prole.org
- Removed pi.prole.org from [k3s_agents] – dedicated pihole node, OOM
- host_vars: k3s_enabled=false, k3s_state=absent (storage preserved)
- New playbook: infrastructure/playbooks/disable_pi_k3s.yml (drain + disable)
- monitoring.py: node-exporter DaemonSet excludes pi.prole.org
- init_monitoring.sh: pi.prole.org excluded from node-exporter affinity
- kong-deployment.yaml: affinity rule prevents scheduling on pi (pihole owns 80/443)

Co-authored-by: Junie <junie@jetbrains.com>
2026-04-02 20:15:11 -07:00
..
lib/shell Rename Prole storage objects to Synology and sync deployment updates 2026-03-22 21:50:02 -07:00
.ollama_parser.py Enhance build system with 'make test' and fix installer test debris. Added 'make test' to Makefile with 'pyconv' (black) integration and coverage summary. Reformatted codebase with black. Fixed 'install.py' test bug where MagicMock objects created directory debris by improving mocking and patching in 'tests/test_navigation.py', 'tests/test_service_layer_navigation.py', and 'tests/test_install_logic.py'. 2026-02-25 14:55:05 -08:00
archive_garage_backup.py Enhance build system with 'make test' and fix installer test debris. Added 'make test' to Makefile with 'pyconv' (black) integration and coverage summary. Reformatted codebase with black. Fixed 'install.py' test bug where MagicMock objects created directory debris by improving mocking and patching in 'tests/test_navigation.py', 'tests/test_service_layer_navigation.py', and 'tests/test_install_logic.py'. 2026-02-25 14:55:05 -08:00
build_db.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
build-a-bao.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
common_core_lib.sh Refactor shell library structure; relocate helpers under etc/lib/shell/ and update references 2026-03-16 21:44:58 -07:00
deploy_pipeline.sh Checkpoint: Refactor installer UI and update Supabase deployment strategy 2026-02-03 14:55:05 -08:00
final_deployment.sh Refactor namespace handling to use prole.cfg as sole source of truth 2026-03-02 18:50:53 -08:00
home.sh Remove prole-db-manager; simplify deployment via prole-authority; fix pg18 downgrade & cluster name 2026-03-01 20:40:44 -08:00
hostprobe-myrddin.yaml Milestone: monitoring deployment + svc firewall persistence 2026-03-19 12:19:02 -07:00
hostprobe-pi.yaml Milestone: monitoring deployment + svc firewall persistence 2026-03-19 12:19:02 -07:00
hosts.txt feat(scripts): introduce DNS sync script for Samba AD and hosts management 2026-01-02 20:56:44 -08:00
init_ansible.sh Summary of recent repairs and infrastructure updates 2026-02-15 17:51:57 -08:00
init_argocd.sh feat: GKE production deployment — CNPG + GCS backups + Google Workspace SSO 2026-04-01 10:41:55 -07:00
init_certmgr.sh Fix installer ctx apply flow and registry namespace 2026-03-07 10:35:27 -08:00
init_cnpg_backup.sh Stabilize CNPG reset/update flow and finalize 3-node recovery 2026-03-27 21:54:53 -07:00
init_cnpg_gke.sh feat: GKE production deployment — CNPG + GCS backups + Google Workspace SSO 2026-04-01 10:41:55 -07:00
init_common_core.sh Checkpoint: cluster env UI layout + k3s common services 2026-02-27 14:35:14 -08:00
init_common_services.sh feat: service layer — GitLab, Redis, DB ArgoCD app, Kong, monitoring updates 2026-04-01 20:38:57 -07:00
init_database_options.sh feat: Add GitOps (Gitea) and Supabase integration, plus database options 2026-02-26 18:32:15 -08:00
init_db_manager.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
init_forego.sh iscsi/installer: provision merlin d004; fix etc script runtime 2026-03-16 21:30:52 -07:00
init_forgejo.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
init_garage_store.sh Rename Prole storage objects to Synology and sync deployment updates 2026-03-22 21:50:02 -07:00
init_gitea.sh chore: checkpoint k3s deployment and knoe updates 2026-03-31 23:15:54 -07:00
init_gitlab.sh fix(gitlab,infra): ARM64 RPi service cluster – GitLab deploy in gitlab ns on gandalf 2026-04-02 20:15:11 -07:00
init_k3s_registry.sh Fix DB image build and k3s registry/CNPG robustness 2026-03-29 19:35:37 -07:00
init_k8s.sh Remove prole-db-manager; simplify deployment via prole-authority; fix pg18 downgrade & cluster name 2026-03-01 20:40:44 -08:00
init_kdc.sh Fix kube context handling and monitoring eligibility 2026-03-23 13:50:29 -07:00
init_kerberos_test.sh Refactor shell layout; add shellspec + authority 2026-03-13 09:19:56 -07:00
init_kerberos.sh Make init-script secret checks warning-only and unblock Next 2026-03-31 23:15:54 -07:00
init_knoe_auth.sh Fix kube context handling and monitoring eligibility 2026-03-23 13:50:29 -07:00
init_knoe_users.sh fix(init_knoe_users): namespace/secret resolution aligned with init_kdc.sh 2026-04-01 21:34:41 -07:00
init_knoe-db-reset.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
init_kong.sh feat: service layer — GitLab, Redis, DB ArgoCD app, Kong, monitoring updates 2026-04-01 20:38:57 -07:00
init_monitoring.sh feat: service layer — GitLab, Redis, DB ArgoCD app, Kong, monitoring updates 2026-04-01 20:38:57 -07:00
init_nginx_ingress.sh Fix kube context handling and monitoring eligibility 2026-03-23 13:50:29 -07:00
init_ollama.sh fix: UI runtime fixes, idempotent k3d KUBECONFIG, Ollama screen redesign, mode-conditional init scripts, Grafana restart, real-time docker build output, shell script fixes, test updates 2026-02-20 23:19:48 -08:00
init_openbao.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
init_opentofu.sh installer: preflight DB secrets + bootstrap OpenTofu password 2026-03-13 16:38:38 -07:00
init_port_forwards.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
init_postgrest.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
init_redis.sh feat: service layer — GitLab, Redis, DB ArgoCD app, Kong, monitoring updates 2026-04-01 20:38:57 -07:00
init_registry.sh stable: slimmed Supabase + CNPG 3-node healthy build (2026-03-25) 2026-03-25 11:56:40 -07:00
init_service_layer.sh feat: service layer — GitLab, Redis, DB ArgoCD app, Kong, monitoring updates 2026-04-01 20:38:57 -07:00
init_supabase_ports.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
k3d_route_fix.sh Remove prole-db-manager; simplify deployment via prole-authority; fix pg18 downgrade & cluster name 2026-03-01 20:40:44 -08:00
knoe-db-passwwd.sh Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
prole_cfg.sh Fix kube context handling and monitoring eligibility 2026-03-23 13:50:29 -07:00
render_manifest.py Rename Prole storage objects to Synology and sync deployment updates 2026-03-22 21:50:02 -07:00
repair_pipeline.sh Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
set-k3s-token-vault.sh Add prole_cfg.sh sourcing for configuration management 2026-01-30 23:37:32 -08:00
status_common_services.sh Reorder service initialization and cleanup flows to enforce dependency sequencing, ensuring OpenTofu deploys after OpenBao, Garage, and Kong. 2026-03-22 23:26:02 -07:00
status.sh Align installer namespace/topology handling and add regression tests 2026-03-29 23:45:56 -07:00
sync-prole-cfg.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00