SVC-2: Boot path swap from service.json reads to getServiceConfig() #751
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#751
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bundle directive
This story ships in one PR with #744 (AT-2) — both swap consumers in
webhook-config.ts. Assign #744, not this issue. The PR closes both (Closes #744 #751). Make sure the PR description carries theCloseskeywords (#761 missed them and we had to close manually — see #740/#762 incident).As a platform engineer, I want every runtime read of fields that used to live in
config/service.jsonto swap togetServiceConfig(), so that operator overrides onforgejo_url,container_image,watchdogs.*,auth.*,node_flows.*,penpot.*,default_reviewer_typetake effect via DB writes — file edits become a deprecated path.Acceptance criteria
Loader
webhook-config.tsno longer readsservice.jsonat runtime (builtin-sync still does, on boot).readFileSyncof an arbitrary path.Fields covered
forgejo_url,container_image,container_image_default,ui_version,forge_mcp_command.auth.*,watchdogs.*,node_flows.*,penpot.*.default_reviewer_type.Tests
forgejo_urlatscope='global'via the dashboard changes the URL used by the next webhook dispatch without a restart.Out of scope
References
specs/config-to-db.md§ Story SVC-2.