Files
computer-playbook/roles/web-app-pgadmin/README.md
T
kevinveenbirkenbachandClaude Opus 5 33504a3b7b Merge branch 'feature/designer' into feature/store-i18n
Resolved 35 conflicts per the designer x store-i18n checklist: store-i18n stays the single point of truth for credentials and role logic, designer's verified design work is kept.

Credential convergers: store-i18n's realign contract wins where both sides have one (mediawiki realign_admin_password.sh over converge_admin.php, pgadmin realign over administrator.yml, matomo utils/converge_superuser.yml over 09_admin_password.yml); the designer-only ones with no counterpart stay.

READMEs: test_readme.py hard-fails a committed Quick Setup or Credits block, both of which designer's side carries, so those go and only the Further Resources heading rename and the gallery links remain. SuiteCRM takes main's session fix, leaving exactly one SUITECRM_SESSION_CONFIG_HOST and dropping the Symfony cache-rebuild task the entrypoint now covers.

Two defects the rename detection hid: git paired store-i18n's web-app-meta against designer's web-app-sphinx, so sphinx's design slots would have been lost and its require(./test-design) landed in web-app-meta, whose spec has no such file. The sphinx design spec and its require now sit in web-app-docs, the role store-i18n renamed sphinx to.

Designer's eleven new Playwright design specs read env with || "" defaults, which test_unguarded_env_default.py refuses because an empty string matches every substring assertion; 35 bindings now go through requireDotenvValue.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-13 17:26:43 +02:00

2.4 KiB
Raw Blame History

pgAdmin

Description

pgAdmin is the most popular and feature‑rich open source administration and development platform for PostgreSQL. This deployment provides a secure, containerized pgAdmin instance complete with optional OAuth2 proxy support for enhanced authentication. It is built for both developers and database administrators who want an easy‐to‐use web interface to manage multiple PostgreSQL servers.

Overview

This Docker Compose deployment uses Ansible automation to launch pgAdmin together with necessary network and volume configurations. It enables you to centrally manage your PostgreSQL databases with the following core software features:

  • Intuitive Web UI:
    Access a modern, responsive, and highly customizable dashboard to manage your PostgreSQL servers.

  • Multi‑Server Management:
    Connect to and administer multiple PostgreSQL instances from a single interface.

  • Optional OAuth2 Integration:
    Secure your pgAdmin access by integrating an external OAuth2 provider.

  • Robust Connectivity:
    Easily manage database configurations, user accounts, and monitor query activity with built‑in health checks.

  • Flexible Configuration:
    Adjust settings such as SSL options, port numbers, and server credentials through environment variables and templated configuration files.

Features

  • Automated provisioning: Configured by Ansible without manual steps.

Further Resources

Persona contract opt-outs

pgAdmin's own login id is the account e-mail PGADMIN_DEFAULT_EMAIL (templates/env.j2, vars/main.yml), not the Keycloak administrator username, so the administrator persona has no in-app credential once it is through the oauth2-proxy. meta/services.yml additionally admits only the web-app-pgadmin administrator RBAC group to that proxy (sso.oauth2.allowed_groups), and biber carries an empty role list, so it is denied before pgAdmin is reached. templates/playwright.env.j2 therefore declares PERSONA_BIBER_BLOCKED=true and PERSONA_ADMINISTRATOR_BLOCKED=true; the guest persona and the baseline assertions run unconditionally.