Itemized changes:
1. knoe-auth: New cluster-internal KDC and SSO gateway service
- Created etc/init_knoe_auth.sh based on init_kdc.sh with knoe-auth naming
- Namespace defaults to SERVICE_NAMESPACE (knoe-system)
- ConfigMap: knoe-auth-kdc-config, Secret: knoe-auth-secrets
- Legacy cleanup removes old auth/dog/authority deployments
2. Orchestration: knoe-auth initializes before CloudNativePG
- Updated prole.sh to insert init_knoe_auth.sh as step 2 (before CNPG)
- Renumbered all subsequent initialization steps
3. Kong routing: Updated init_kong.sh to route to knoe-auth in SERVICE_NAMESPACE
4. Comment/reference updates for knoe-auth
- Updated init_common_services.sh, init_service_layer.sh, init_kerberos.sh
5. prole-db renamed to knoe-db across the entire codebase
- Renamed prole-db/ directory to knoe-db/
- Renamed all prole-db Kubernetes manifests (deploy/opentofu, k8s/)
- Renamed scripts: docker-root-knoe-db.sh, docker-run-knoe-db.sh, test-cnpg-knoe-db.sh
- Renamed etc/init_prole-db-reset.sh to etc/init_knoe-db-reset.sh
- Renamed etc/prole-db-passwwd.sh to etc/knoe-db-passwwd.sh
- Renamed mock_val counterparts accordingly
- Renamed tests/etc/test_init_prole-db-reset.sh to test_init_knoe-db-reset.sh
- Renamed docs/prole-db-documentation-mcp-architecture.md to knoe-db variant
- Renamed modes/k3d/prole-db/ to modes/k3d/knoe-db/
- Renamed prole-db.iml to knoe-db.iml
6. Configuration updates
- Updated conf/dev, conf/prod, conf/test, conf/service prole.cfg files
- Updated conf/port-mapping.cfg
- Updated etc/prole_cfg.sh and mock_val/prole_cfg.sh
- Updated service/prole.cfg
7. Kubernetes manifests and deploy configuration
- Updated deploy/opentofu/k3s ArgoCD application YAMLs
- Updated kong-configmap.yaml and kustomization.yaml
- Updated k3s/kong-config.yml and prole-resources.yaml
- Updated prole-mssql-db deployment YAMLs
- Updated supabase helm render and deploy scripts
8. Infrastructure and GCP Terraform
- Updated deploy/gcp/terraform: folders, groups, IAM, service-projects
9. Python/installer code updates
- Updated knoe/core: actions, build_context, controller, env, milestones
- Updated knoe/milestone.py
- Updated knoe/ui/screens: cfg, database, database_options, deploy, docker,
navigation, security, services, validate
- Updated knoe.spec, status.py
10. Shell script updates
- Updated etc/: build_db, init_cloudnative_pg, init_cnpg_backup,
init_db_manager, init_forgejo, init_gitlab, init_monitoring, init_openbao,
init_port_forwards, init_postgrest, init_supabase_ports, status
- Updated mock_val/ counterparts for all above scripts
- Updated prole-net/init-prole-dns.sh
- Updated bin/prole-kpf.sh, gitea/deploy.sh, supabase/deploy.sh
11. Test updates
- Updated tests/etc/: test_init_cloudnative_pg*, test_init_cnpg_backup*,
test_init_kdc*, test_init_kerberos*, test_init_kong*, test_prole_cfg*
- Updated tests/installer/: test_actions_helpers, test_cfg_save_kubecontext,
test_controller, test_core_classes, test_milestones, test_milestones_extended,
test_namespace_propagation
- Updated tests/: test_database_options, test_navigation,
test_render_supabase_hostname, test_docker_build_fix,
test_all_prole_home_fixes, silent_install_test, final_test
12. Documentation updates
- Updated docs/: DOCKER-BUILD-FIX, PROLE-CFG-SECRETS, PROLE-HOME-DIRECTORY,
build-system, patent
- Updated scan/network_description.txt
- Updated pom.xml
13. Miscellaneous script updates
- Updated root-level: _adopt_replica_pvcs, _fix_replica_merlin, _import_pi,
_patch_cluster, _prebind_pvcs, _rebind_d002, _rebind_d002b, test_resolve
- Updated scripts/generate_spec.py
Co-authored-by: Junie <junie@jetbrains.com>
2.9 KiB
Supabase Integration for Prole-DB
This document explains how Supabase is deployed alongside the Prole CloudNative-PG (CNPG) cluster and how it connects to Postgres. It provides practical guidance for operating and troubleshooting the integration.
What is deployed
Supabase can be deployed alongside the Prole CNPG cluster. Currently, the base supabase/supabase image is unavailable on Docker Hub, so the default deployment manifests have been removed.
If you wish to deploy Supabase, you can use the ./supabase/deploy.sh script which uses the official Supabase repository and its Docker Compose setup to generate Kubernetes manifests.
Postgres connectivity
Supabase connects to the CNPG primary via the service knoe-db-rw on port 5432. This service is managed by CNPG and always routes to the primary pod (selectors are CNPG-managed, e.g.):
cnpg.io/cluster: knoe-dbrole: primary
The database credentials come from the existing secret:
- Secret name:
knoe-db-user - Keys:
username,password
HTTPS endpoint
Supabase is exposed via a ClusterIP service on port 443. The deployment assumes the Supabase container listens on HTTPS at port 443.
If your Supabase image expects a different port, update your custom manifests.
Optional feature toggle
Supabase is an optional feature in the installer UI. The user intent is saved in prole.cfg under the section [Optional Features] with the key:
SUPABASE_ENABLED = true|false
This is for configuration tracking; it does not automatically add or remove Kubernetes resources. Deployment is controlled by the k8s/prole/kustomization.yaml resources list.
How to use (quick start)
-
Ensure CNPG is deployed and healthy.
-
Ensure the
knoe-db-usersecret exists (the init scripts or OpenBao flow should already create it). -
Apply the Prole kustomization (includes Supabase resources):
kubectl apply -k k8s/prole
- Verify Supabase and Postgres services:
kubectl get deploy supabase
kubectl get svc supabase
kubectl get svc knoe-db-rw
- Check Supabase logs if needed:
kubectl logs -n supabase -l app=supabase
Updating the Postgres target
If you need Supabase to connect to a different CNPG cluster name or namespace, update your configuration.
Troubleshooting
-
If Supabase cannot connect to Postgres, confirm:
- The
knoe-dbcluster is healthy and a primary is elected. - The
knoe-db-rwservice resolves to the primary pod. - The
knoe-db-usersecret exists and contains valid credentials.
- The
-
If HTTPS does not respond:
- Confirm the Supabase image listens on port 443.
- Check the container port and service port in the manifests.
Files referenced
knoe-db-postgres-service.yaml(optional legacy service; Supabase usesknoe-db-rw)k8s/prole/kustomization.yamlinstall.py(optional feature toggle persistence)./supabase/deploy.sh