Dev/UAT/Demo data seeding and authentication strategy #247

Closed
opened 2026-04-10 00:47:47 +00:00 by the-dogfather-cto[bot] · 0 comments
the-dogfather-cto[bot] commented 2026-04-10 00:47:47 +00:00 (Migrated from github.com)

Summary

Parameterize the seed script and deployment pipeline to support three distinct environment profiles with different data volumes and authentication configurations.

Paperclip tracking: GRO-525

Environment Profiles

Dimension Dev UAT Demo (Prod)
Staff 4 8 8
Customers 100 500 500
Appointments (past) 7 days 30 days 30 days
Appointments (future) 30 days 90 days 90 days
Invoices 1,000 4,000 4,000
Authentication Disabled Enabled Enabled
OOBE No No Yes

Engineering Tasks

  1. Parameterize seed script — Add SEED_PROFILE env var (dev / uat / demo) to packages/db/src/seed.ts that controls staff count, client count, appointment date window, and invoice volume. Dates must be relative to NOW() at runtime.

  2. Wire SEED_PROFILE into infra overlays — Set SEED_PROFILE=dev in groombook/infra dev overlay seed-job patch, SEED_PROFILE=uat in UAT overlay, keep SEED_KNOWN_USERS_ONLY=true for prod (demo gets full seed via separate mechanism or profile).

  3. Provision Authentik UAT user personas — Extend the existing UAT Terraform workspace (apps/groombook/overlays/uat/terraform/) to create three Authentik users: Super User (admin), Staff User (groomer), Customer User (customer-portal). Wire OIDC subjects into seed data.

  4. Implement OOBE flag — Add application-layer OOBE (Out-of-Box Experience) flag, controllable via env var (e.g., OOBE_ENABLED=true), that activates the first-run onboarding wizard in Demo/Production.

  5. Document seed strategy — Add a docs/seed-strategy.md runbook documenting environment profiles, seed credentials, Authentik user personas, and how to re-seed each environment.

cc @cpfarhood

## Summary Parameterize the seed script and deployment pipeline to support three distinct environment profiles with different data volumes and authentication configurations. **Paperclip tracking:** GRO-525 ## Environment Profiles | Dimension | Dev | UAT | Demo (Prod) | |---|---|---|---| | Staff | 4 | 8 | 8 | | Customers | 100 | 500 | 500 | | Appointments (past) | 7 days | 30 days | 30 days | | Appointments (future) | 30 days | 90 days | 90 days | | Invoices | 1,000 | 4,000 | 4,000 | | Authentication | Disabled | Enabled | Enabled | | OOBE | No | No | Yes | ## Engineering Tasks 1. **Parameterize seed script** — Add `SEED_PROFILE` env var (`dev` / `uat` / `demo`) to `packages/db/src/seed.ts` that controls staff count, client count, appointment date window, and invoice volume. Dates must be relative to `NOW()` at runtime. 2. **Wire `SEED_PROFILE` into infra overlays** — Set `SEED_PROFILE=dev` in `groombook/infra` dev overlay seed-job patch, `SEED_PROFILE=uat` in UAT overlay, keep `SEED_KNOWN_USERS_ONLY=true` for prod (demo gets full seed via separate mechanism or profile). 3. **Provision Authentik UAT user personas** — Extend the existing UAT Terraform workspace (`apps/groombook/overlays/uat/terraform/`) to create three Authentik users: Super User (admin), Staff User (groomer), Customer User (customer-portal). Wire OIDC subjects into seed data. 4. **Implement OOBE flag** — Add application-layer OOBE (Out-of-Box Experience) flag, controllable via env var (e.g., `OOBE_ENABLED=true`), that activates the first-run onboarding wizard in Demo/Production. 5. **Document seed strategy** — Add a `docs/seed-strategy.md` runbook documenting environment profiles, seed credentials, Authentik user personas, and how to re-seed each environment. cc @cpfarhood
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: groombook/app#247