Summaryยถ
Briefly describe the web-* change and the expected user-facing outcome.
Examples:
Add a new
web-app-*roleFix a broken login, bootstrap, or integration flow in an existing
web-*roleIntroduce SSO or mail integration for an existing
web-*roleExtend bootstrap or deployment behavior for a server-facing application
Template Typeยถ
Select the primary intent of this PR:
[ ] Feature - Adds or extends server functionality
[ ] Fix - Repairs broken or incorrect server behavior
Affected Roles and Servicesยถ
List the impacted roles and related services.
Primary
web-*role(s):Related
web-svc-*,sys-front-*,svc-db-*, auth, mail, proxy, or storage role(s):
Preferred Integrationsยถ
Integrate the change into the following services when possible:
[ ] Dashboard
[ ] Matomo
[ ] OIDC
[ ] LDAP
[ ] Logout
Roles (optional ๐งฉ Subset CI scope)ยถ
Optional. Ignored unless a maintainer applies the ๐งฉ Subset label; without the label CI uses the diff-derived role set as usual. When the label is set, CI deploys only the roles listed here โ each must be an existing roles/<id> directory, or the run fails. See pipeline.md.
roles:
# - web-app-nextcloud
# - web-app-matomo
# - sys-version
Change Typeยถ
Select the semantic version impact of this change:
[ ] Major - Breaking change
[ ] Minor - New backwards-compatible feature
[ ] Patch - Small improvement or compatible adjustment
Change Detailsยถ
Explain what changed and why.
Key points:
What problem does this solve?
Which upstream image or service version was used or changed?
How do login, logout, proxying, storage, or mail integration behave after this change?
Which alternatives were considered?
File Checklistยถ
Check the relevant rows and explain intentional omissions in Additional Notes.
Check |
Item |
When to include |
Purpose |
|---|---|---|---|
[ ] |
|
Usually |
Documents role-specific usage, setup notes, and contributor context. |
[ ] |
|
Usually |
Declares Ansible Galaxy info and |
[ ] |
|
Usually |
Defines the shared fixed role variables as the main source of truth. |
[ ] |
|
Usually |
Per-entity service config (file root IS the services map keyed by |
[ ] |
|
Usually |
Server-level config (file root IS |
[ ] |
|
When the role declares RBAC |
RBAC declarations (file root IS |
[ ] |
|
When the role declares Compose volumes |
Volumes map (file root IS the volumes map; no |
[ ] |
|
When the role declares credentials |
Credential schema with optional |
[ ] |
|
Usually |
Acts as the role entry point and includes the main task flow. |
[ ] |
|
For containerized app roles |
Defines the service, volume, environment, port, and network wiring. |
[ ] |
|
When the app uses environment files |
Renders the app environment configuration. |
[ ] |
|
When the role injects custom branding or theming |
Defines the role-local CSS overrides that adapt the UI to the repository design system. See Contributing |
[ ] |
|
When the role injects custom frontend behavior |
Defines the role-local JavaScript that adapts UI behavior or integration glue in the browser. See Contributing |
[ ] |
|
When the role bootstraps users or identities |
Role-local user definitions (file root IS the users map; no |
[ ] |
|
When a custom image is required |
Provides a custom image build path. Prefer this over |
[ ] |
|
When Playwright coverage is included |
Configures the Playwright test environment. See Contributing |
[ ] |
|
When Playwright coverage is included |
Defines the Playwright login and logout test flow. See Contributing |
Registeredยถ
Check |
Item |
When to include |
Purpose |
|---|---|---|---|
[ ] |
Per-entity ports in |
When the app exposes a service |
Confirms that the appโs host-bound ports are declared on the entity that exposes them. Use |
[ ] |
Per-role subnet in |
When the app communicates over container networks |
Confirms that the roleโs docker network CIDR is declared. Use |
Local Validationยถ
Describe how the change was validated locally.
[ ] Deployment target and distro documented
[ ] Playwright test run documented
[ ] Login flow tested
[ ] Logout flow tested
[ ] Screenshot attached when the change is user-visible
Security Impactยถ
Indicate whether this change has security implications.
[ ] No relevant security impact
[ ] Security impact present
If security impact is present, explain:
Affected auth, TLS, permissions, secrets, headers, or exposed surfaces:
Risk reduction, new exposure, or compatibility considerations:
Security-specific validation performed:
Review Focusยถ
Help reviewers focus on the riskiest parts of this PR. For repository-wide contribution and review expectations, see CONTRIBUTING.md.
Highest-risk files, roles, or flows:
Migration, rollback, or security-sensitive concerns:
Specific feedback requested from reviewers:
Definition of Done (DoD)ยถ
[ ] The implementation follows the Definition of Done, and the contribution guidelines in CONTRIBUTING.md were considered and applied during implementation.
Additional Notesยถ
Add any reviewer context that is useful for deployment, rollback, or follow-up work.