Skip to content

feat(autoconfigure): config-sync fail-fast in production (ADR 0003, PR 3)#54

Merged
jlc488 merged 1 commit into
mainfrom
feat/config-sync-gating
Jun 3, 2026
Merged

feat(autoconfigure): config-sync fail-fast in production (ADR 0003, PR 3)#54
jlc488 merged 1 commit into
mainfrom
feat/config-sync-gating

Conversation

@jlc488

@jlc488 jlc488 commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Summary

ADR 0003 config-sync — PR 3: fail-fast in production.

Config sync is a dev/staging-only tool (production config is promoted via the
git-committed bundle applied on deploy, not an ad-hoc push). ConfigSyncProductionGuard
refuses to start, with a clear message, if devslab.kit.config-sync.enabled=true
while a prod/production profile is active — rather than silently disabling, which would
hide the misconfiguration (ADR 0003 §5). The whole surface stays off by default; this
hardens the "never in prod" guarantee.

Verification

./gradlew build green. ConfigSyncProductionGuardTest 3/3 (prod → fail-fast; local /
no-profile → ok); existing ConfigSyncTests 2/2 still green.

Next on this track

PR 4: mirror mode + optional user sync (guarded). PR 5: admin-ui Config Sync page.


요약 (한국어)

ADR 0003 config-sync PR 3: 운영 fail-fast. config-sync는 dev/staging 전용 — prod/production
프로필에서 config-sync.enabled=true명확한 메시지와 함께 기동 거부(조용히 끄지 않음, ADR §5).
전체 surface는 기본 off 유지. ConfigSyncProductionGuardTest 3/3 + 기존 ConfigSyncTests 2/2 green.
다음: mirror/사용자동기화 → admin-ui 페이지.

…R 3)

Config sync is a dev/staging-only tool — production config is promoted via the
git-committed bundle applied on deploy, not an ad-hoc push. ConfigSyncProductionGuard
refuses to start, with a clear message, if devslab.kit.config-sync.enabled=true while a
`prod`/`production` profile is active, rather than silently disabling (which would hide
the misconfiguration). The whole surface stays off by default; this hardens the
"never in prod" guarantee. Unit-tested (prod -> fail, local/none -> ok).
@jlc488
jlc488 merged commit 9db04aa into main Jun 3, 2026
1 check passed
jlc488 added a commit that referenced this pull request Jun 3, 2026
All implementation PRs have merged: export/import (#53), prod fail-fast
gating (#54), mirror mode + opt-in user sync (#55), and the admin-ui
"Config Sync" page (devslab-kit-admin-ui #20). Flip the status to Accepted
(item 6 of the plan) and record the PRs; the standalone how-to guide is
the remaining piece. Both language files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant