feat: serve isolated companies below a fixed product path
All checks were successful
All checks were successful
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
parent
09e2239bc6
commit
9345a1bb1a
28 changed files with 350 additions and 117 deletions
|
|
@ -80,8 +80,9 @@ and rollback. The customer app owns live CI and immutable release evidence.
|
|||
The user now selects a fresh `demo-company` demo tenant with `demo-user1`, etc.
|
||||
Use `tenant:trial:demo-company` under NetKingdom ADR-0013 and two ordinary demo
|
||||
accounts initially. Native tenant creation and memberships use the existing
|
||||
User Engine operator portal; this does not implement Django SSO. Hostname
|
||||
preference is pending (`demo-vergabe.coulomb.social` proposed). The concrete
|
||||
User Engine operator portal; this does not implement Django SSO. The user selected
|
||||
`https://vergabe-teilnahme.coulomb.social/demo-company` (one product host,
|
||||
company path). The concrete
|
||||
prepared binding lives at `railiance-apps/docs/vergabe-demo-company-binding.md`.
|
||||
No password or personal user list belongs in public work records.
|
||||
The historical vergabe_db is not disposable and must not be overwritten.
|
||||
|
|
@ -107,7 +108,7 @@ status: wait
|
|||
priority: high
|
||||
assignee: the-custodian
|
||||
depends_on: [VERGABE-WP-0019-T03]
|
||||
blocking_reason: "Await native demo-company tenant, admitted deployment and demonstrated restore; hostname and operator login remain pending."
|
||||
blocking_reason: "Native demo-company exists and hostname/path is selected. Await identity-provisioner service-login repair, admitted application deployment and demonstrated restore."
|
||||
state_hub_task_id: "db807f96-f5b8-528d-bc33-75a33fbbf1e4"
|
||||
```
|
||||
|
||||
|
|
@ -126,3 +127,31 @@ never seed development accounts or put credentials in logs/workplans/chat.
|
|||
A successful invited pilot does not claim shared multitenancy, paid subscriptions,
|
||||
HA or autonomous production release. Pricing is outside this milestone and will
|
||||
need a later explicit product decision.
|
||||
|
||||
|
||||
## Support the selected product host and tenant path
|
||||
|
||||
```task
|
||||
id: VERGABE-WP-0019-T05
|
||||
status: done
|
||||
priority: high
|
||||
assignee: the-custodian
|
||||
state_hub_task_id: "d00acb0b-6514-5ab5-9894-7fadb917feb7"
|
||||
```
|
||||
|
||||
Implement fixed APP_BASE_PATH, prefix-aware Django URLs/assets/media, scoped and
|
||||
uniquely named cookies, and prefixed login/logout/password-change/HTMX redirects.
|
||||
Replace root URL literals in templates and breadcrumbs with named reversing.
|
||||
The edge strips only the admitted company prefix; the application remains an
|
||||
isolated per-company instance. Four prefix regressions and seven local Chromium
|
||||
checks pass, alongside the existing 94 root-path tests. Vite builds correctly.
|
||||
See docs/tenant-path-deployment.md. T03 retains CI publication, exact live pin,
|
||||
DNS/TLS/namespace/database binding and recovery; source acceptance is not deployment.
|
||||
|
||||
On 2026-09-11 at 19:03:18 UTC, native operator creation succeeded. Authority
|
||||
readback confirms tenant:trial:demo-company active, version 1; the chosen first
|
||||
administrator exists in User Engine with invited status. A subsequent Create
|
||||
login failed in identity-provisioner at LLDAP service authentication (HTTP 401).
|
||||
Its existing credential was reloaded without rotation; the connection still
|
||||
fails. NetKingdom tracks that owner-credential reconciliation before identity
|
||||
provisioning retries. No passwords or private addresses enter this record.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue