prole/infrastructure/playbooks
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
..
audit.yml Configure K3s for retropie and add Traefik Ingress. Updated K3s templates for node-ip/flannel-iface, configured retropie host vars, enabled Traefik, added Ingress resources for Grafana, Prole, Kong, and Supabase, and set Postgres to LoadBalancer. 2026-02-16 04:28:40 -08:00
bootstrap_local_ansible_user.yml ansible starts here 2026-01-18 20:02:41 -08:00
cgroups.yml Add playbooks and manifests for cgroups and iSCSI storage setup 2026-02-06 01:19:59 -08:00
check_k3s_endpoint.yml Refactor project structure and update initialization scripts 2026-02-14 13:44:49 -08:00
disable_pi_k3s.yml fix(gitlab,infra): ARM64 RPi service cluster – GitLab deploy in gitlab ns on gandalf 2026-04-02 20:15:11 -07:00
iscsi_cleanup.yml Summary of recent repairs and infrastructure updates 2026-02-15 17:51:57 -08:00
iscsi_login.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
iscsi_mount.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
k3s_cleanup.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
k3s_delete.yml Configure K3s for retropie and add Traefik Ingress. Updated K3s templates for node-ip/flannel-iface, configured retropie host vars, enabled Traefik, added Ingress resources for Grafana, Prole, Kong, and Supabase, and set Postgres to LoadBalancer. 2026-02-16 04:28:40 -08:00
k3s_diagnose_repair.yml ansible: treat /var/lib/rancher as local K3s state 2026-03-15 23:20:55 -07:00
k3s_fetch_kubeconfig.yml Checkpoint: Refactor common services and monitoring initialization. Updates: etc/init_monitoring.sh (Grafana naming, legacy cleanup), etc/init_common_services.sh (migration/cleanup logic), added etc/init_registry.sh, updated etc/init_cloudnative_pg.sh (manifest filtering), updated configs, and enhanced tests. Fixed: excluded .ansible logs and added to .gitignore. 2026-02-09 18:50:44 -08:00
k3s_import_images.yml Fix k3s CNPG image registry resolution and import flows 2026-03-07 00:23:00 -08:00
k3s_install_single.yml ansible: treat /var/lib/rancher as local K3s state 2026-03-15 23:20:55 -07:00
k3s_mariadb_datastore_prepare.yml k3s: eliminate localhost registry + dedupe common-core 2026-03-05 14:31:33 -08:00
k3s_mariadb_datastore_rollout.yml k3s: eliminate localhost registry + dedupe common-core 2026-03-05 14:31:33 -08:00
k3s_reset.yml Harden monitoring init; improve k3s reset cleanup 2026-03-15 16:02:15 -07:00
k3s_server_refresh.yml k3s: eliminate localhost registry + dedupe common-core 2026-03-05 14:31:33 -08:00
k3s_start_single.yml feat: infrastructure and installer updates for k3s, OpenTofu, and prole-db 2026-02-05 21:27:18 -08:00
k3s_stop.yml feat: infrastructure and installer updates for k3s, OpenTofu, and prole-db 2026-02-05 21:27:18 -08:00
k3s_sync.yml ansible: treat /var/lib/rancher as local K3s state 2026-03-15 23:20:55 -07:00
merlin_mariadb_full_export.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
merlin_mariadb_full_import.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
merlin_mariadb_provision.yml Fix k3s CNPG image registry resolution and import flows 2026-03-07 00:23:00 -08:00
prole_logs_migrate.yml Summary of recent repairs and infrastructure updates 2026-02-15 17:51:57 -08:00
rotate_pihole_db.yml ansible managed piholes 2026-01-18 22:01:23 -08:00
site.yml Refactor iSCSI Synology mounts to /synology/d00x 2026-03-21 10:43:06 -07:00
smoke_ping.yml Implement real-time command executor for network scan: added run_streaming_cmd for unbuffered output, integrated with NetworkScreen UI, and added unit tests. 2026-02-28 17:58:58 -08:00
start_k3s_agents.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
start_k3s_servers.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
stop_k3s_agents.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
stop_k3s_servers.yml ansible: add K3s datastore export/import, improve iSCSI handling, and migrate merlin to MariaDB primary 2026-03-06 14:25:13 -08:00
swap.yml ansible: replace no_swap role with swap role and enhance K3s setup 2026-01-21 16:19:17 -08:00
sync_pihole_toml.yml ansible managed piholes 2026-01-18 22:01:23 -08:00
test_k3s_kubeconfig_rewrite.yml Checkpoint: ArgoCD IO load distribution and K3s configuration updates 2026-03-04 12:23:15 -08:00
test_k3s_validate_args.yml Checkpoint: ArgoCD IO load distribution and K3s configuration updates 2026-03-04 12:23:15 -08:00
tmp_bao_dir.yml Refactor iSCSI Synology mounts to /synology/d00x 2026-03-21 10:43:06 -07:00
tmp_mount.yml Summary of recent repairs and infrastructure updates 2026-02-15 17:51:57 -08:00