Commit graph

2 commits

Author SHA256 Message Date
c0959a5376 feat(guildhall): minimum viable guildhall — OIDC, guilds, schematics, members
Implements the full founding-guild onboarding stack across four phases:

Phase A — Keycloak OIDC auth pipeline (oidcc) + guild registration with
ceremony-engine approval (SingleApproval, hub operator approves via gRPC).
Phase B — Founding schematic templates (MSP/ISV/NSP TOML), gRPC clients
for ceremony-service and ffc-schematic-server, schematic fork/bind/realize
LiveView with DB audit trail in guild_schematics.
Phase C — RealizationPoller GenServer polling realization status every 5s,
PubSub broadcast, live realization dashboard showing 7 reconciler sections.
Phase D — Self-service member onboarding (join request → guild master
approval via ceremony), member management LiveView, auto-create guild
master on guild approval via Ecto.Multi transaction.

Includes K8s manifests for ceremony-service (port 50053) and
ffc-schematic-server (port 9091) as ClusterIP services, plus updated
guildhall deployment with OIDC and gRPC service URL env vars.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Tyler J King <tking@guildhouse.dev>
2026-05-15 15:03:50 -04:00
69297f1ac0 feat(web): minimal LiveView dashboard, ceremonies, artifacts
Three LiveView modules reading from the Ops DB:

- DashboardLive at /: governance overview with artifact count,
  healthy/drifted deployment states, and the five most recent
  verification results. Subscribes to Guildhall.PubSub for
  ceremony:* and posture:* topics.

- CeremonyLive.Index at /ceremonies: lists open ceremonies. Query
  finds the latest custody_transition per artifact and keeps the
  ones where to_state = 'ceremony_open'. PubSub-driven refresh.
  Will integrate with substrate CRD watcher in a future sprint.

- ArtifactLive.Index at /artifacts: lists governed artifacts with
  name, type, tier, truncated CID, and aggregate drift status
  derived from their deployment_states.

Router updated to mount these LiveViews at /, /ceremonies,
/artifacts. Default PageController route removed.

Inline Heex templates (no separate .html.heex files); uses
Tailwind classes from Phoenix 1.8 default CSS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler J King <tking@guildhouse.dev>
2026-04-18 07:19:31 -04:00