- Add deployment-name branding to titles, mastheads, and OG tags - Share one grant delivery-state query with lineage across grants surfaces - Show pool status/usage, org owners, and config readiness - Make billing views projection-aware with recency and sync vocabulary - Guard FedWiki creation without domains and render route-aware 404s
2.2 KiB
deployment-identity Specification
Purpose
Give every deployment one configurable name the application uses for itself everywhere it self-identifies, so member and operator surfaces tell one story and the default stays brand-neutral for this general-purpose OSS project.
Requirements
Requirement: Configurable deployment name presented identically on every surface
The system SHALL provide a configuration knob deployment-name (environment MC_DEPLOYMENT_NAME), defaulting to the generic product name Member Console. The configured value SHALL be the single name the application presents for itself: the member masthead, the operator masthead, page <title> values, and OpenGraph metadata SHALL all render the configured deployment name, and no template SHALL hardcode a deployment-specific brand (the hardcoded "Wiki Cafe" strings are removed). The default keeps screenshots and first impressions deployment-neutral; a configured value keeps the member and operator surfaces telling the same story about where the user is. The knob SHALL be validated at startup via the shared config validation path (non-blank after trimming); IdP realm branding (the login screen) is explicitly out of scope — the realm belongs to the identity provider, which may front services beyond this console, and docs MAY note that deployers can align realm display names themselves.
Scenario: Default deployment renders the generic name everywhere
- WHEN no
deployment-nameis configured and a user visits member and operator pages - THEN both mastheads, page titles, and OpenGraph tags render
Member Console - AND no page renders a deployment-specific hardcoded brand
Scenario: Configured name appears identically on both surfaces
- WHEN
deployment-nameis set toSolidarity Web Collectiveand a user with both roles navigates from a member page to an operator page - THEN both surfaces render
Solidarity Web Collectivein the masthead - AND the name does not change as the user crosses surfaces
Scenario: Blank deployment name is rejected at boot
- WHEN
deployment-nameis configured as blank or whitespace-only - THEN startup validation fails with an error naming the knob