Saltar a contenido

pgAdmin

UI de administración de PostgreSQL (bases de datos del cluster).

Resumen

pgAdmin 4 conectado a los clusters CloudNativePG. Las conexiones se cargan automáticamente desde servers.json (Git); al añadir un cluster nuevo, Reloader reinicia el pod y pgAdmin lo importa solo.

Estado

Campo Valor
Estado Operativo
Argo CD Application pgadmin
Namespace pgadmin

Despliegue

Campo Valor
Método manifests planos (imagen oficial)
Imagen dpage/pgadmin4:9.17
App clusters/luka/apps/pgadmin/application.yaml
Config clusters/luka/config/pgadmin/

Red

Campo Valor
Service pgadmin (ClusterIP)
URL interna https://pgadmin.local.gorkarevilla.com
URL externa — (solo LAN)
TLS cert-manager wildcard *.local.gorkarevilla.com

Acceso y usuarios

  • Login único admin (PGADMIN_DEFAULT_EMAIL + password en SealedSecret pgadmin-admin; valores en .env local).
  • Los servers se conectan como superuser postgres (password en .pgpass, SealedSecret pgadmin-pgpass).

Configuración

  • PGADMIN_REPLACE_SERVERS_ON_STARTUP=True (servers declarativos desde Git).
  • Credenciales de conexión vía .pgpass: un init container copia el Secret a /var/lib/pgadmin/storage/<email>/.pgpass con chmod 600 + owner 5050 (libpq exige 0600); el server lo referencia con ConnectionParameters.passfile: ".pgpass" (pgAdmin resuelve contra el storage dir).
  • securityContext.fsGroup: 5050 (el contenedor corre como UID 5050; sin él no puede escribir en el PVC).
  • strategy: Recreate (upgrade seguro de pgAdmin; su SQLite migra no reversible).
  • Reloader anotado en el Deployment (metadata): reinicio al cambiar pgadmin-servers o pgadmin-pgpass.

Almacenamiento

  • PVC pgadmin-data (Longhorn, 1Gi) para /var/lib/pgadmin (config DB, sesiones, preferencias). Los servers viven en Git.

Dependencias

  • Depende de: k3s, Longhorn, Reloader, Sealed Secrets, Traefik, cert-manager.
  • Usado por: administración de CloudNativePG.

Backup y recuperación

  • Re-desplegable desde Git. El estado útil (servers) está en servers.json.

Monitorización

  • No expone métricas Prometheus nativas.

Referencias

  • https://www.pgadmin.org/
  • Container: https://hub.docker.com/r/dpage/pgadmin4

Notas / TODO

  • Proteger con Authentik.
  • Añadir n8n y Shlink al servers.json cuando existan en el cluster.