guildhall/config/dev.exs
Tyler J King 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

57 lines
1.8 KiB
Elixir

import Config
# Ops DB development database
config :guildhall_ops_db, Guildhall.OpsDb.Repo,
username: "postgres",
password: "postgres",
hostname: "localhost",
database: "guildhall_dev",
stacktrace: true,
show_sensitive_data_on_connection_error: true,
pool_size: 10
# Phoenix endpoint — dev
config :guildhall_web, GuildhallWeb.Endpoint,
http: [ip: {127, 0, 0, 1}, port: 4000],
check_origin: false,
code_reloader: true,
debug_errors: true,
secret_key_base: "tdDDG32QQyJH7PescKIuKY/zdaykc4WASn04QH6JYH2Yo37ByUI6sq8zBNUQdd78",
watchers: [
esbuild: {Esbuild, :install_and_run, [:guildhall_web, ~w(--sourcemap=inline --watch)]},
tailwind: {Tailwind, :install_and_run, [:guildhall_web, ~w(--watch)]}
]
# Live reload patterns
config :guildhall_web, GuildhallWeb.Endpoint,
live_reload: [
web_console_logger: true,
patterns: [
~r"priv/static/(?!uploads/).*\.(js|css|png|jpeg|jpg|gif|svg)$",
~r"priv/gettext/.*\.po$",
~r"lib/guildhall_web_web/router\.ex$",
~r"lib/guildhall_web_web/(controllers|live|components)/.*\.(ex|heex)$"
]
]
config :guildhall_web, dev_routes: true
config :logger, :default_formatter, format: "[$level] $message\n"
config :phoenix, :stacktrace_depth, 20
config :phoenix, :plug_init_mode, :runtime
config :phoenix_live_view,
debug_heex_annotations: true,
debug_attributes: true,
enable_expensive_runtime_checks: true
config :guildhall_web, :oidc,
issuer: "https://auth.guildhouse.dev/realms/guildhouse",
client_id: "guildhall-web",
client_secret: System.get_env("OIDC_CLIENT_SECRET"),
redirect_uri: "http://localhost:4000/auth/callback"
config :guildhall_orchestrator,
ceremony_service_url: "localhost:50053",
schematic_service_url: "localhost:9091",
ffc_schematic_service_url: "localhost:9091"