mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 19:56:53 +00:00
templates/style.css.j2 maps page, panes, object tree, tabs and primary actions onto the design tokens and makes the menu bar the brand frame; templates/design.js.j2 follows pgAdmin's native theme switch. The logo and login-logo slots meta/services.yml declares sit on frame chrome, and with design on templates/env.j2 sets PGADMIN_CONFIG_APP_NAME to the configured title. pgAdmin keeps its internal user in its own database, and PGADMIN_DEFAULT_PASSWORD only seeds the first start. tasks/main.yml now flushes the compose handlers and, on the stack host outside server mode, runs tasks/administrator.yml with files/python/administrator.py: it creates the internal administrator if missing, otherwise realigns password, active and locked state, failed login attempts and the Administrator role. The identity is the platform administrator as on feature/store-i18n: PGADMIN_ADMIN_EMAIL and PGADMIN_ADMIN_PASSWORD in vars/main.yml, meta/users.yml declares the user, and meta/secrets.yml, whose only credential the role no longer reads, is gone. tests/unit/python/roles/web-app-pgadmin/files/test_administrator.py covers the script. meta/services.yml names the container pgadmin for PGADMIN_CONTAINER_ADDRESS. files/playwright/test-design.js checks tokens, that the administrator signs in with that password and holds admin rights, panes, tree, tabs, the menu bar frame and its focus indicator, primary actions, the theme switch, logo, favicon and title, and captures the gallery against the role's own database server; templates/playwright.env.j2 hands the platform administrator, the design URLs and the database to it. README.md links the gallery; TODO.md records the Gravatar request and the memory pressure at the 256m limit. The design was verified green on the compose stack (10 passed); the switch to the platform administrator is checked statically only, the first live run is the verification on the merged state. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4 lines
83 B
Python
4 lines
83 B
Python
from pathlib import Path
|
|
|
|
PROJECT_ROOT: Path = Path(__file__).resolve().parents[6]
|