Add first-run local administrator onboarding - #61
Conversation
|
⏳ Repowise has not indexed this repository yet No analysis on this PR because there is no index to compare against. Indexing usually runs automatically after install; if this persists, start it from the dashboard. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
收尾拆解(2026-08-08)— 建议按主题拆分Draft 停留超过 48h、无 review request,先按 7 个 commit 做主题拆解,供后续拆分 PR 或收尾决策: 7 commits → 4 个独立主题
建议路径
要不要我直接把 T1(local admin onboarding)拆成新 PR? |
收尾拆解(2026-08-08)— 建议按主题拆分Draft 停留超过 48h、无 review request,先按 7 个 commit 做主题拆解,供后续拆分 PR 或收尾决策: 7 commits → 4 个独立主题
建议路径
要不要我直接把 T1(local admin onboarding)拆成新 PR? |
T1 已拆出为独立 PR → #68按评论区拆解方案,T1(本地管理员 onboarding)已拆成独立聚焦 PR:#68
剩余主题处理建议
|
T2 已拆出为独立 PR → #70按评论区拆解方案,T2(agent 执行可观测 + 持久化)已拆成独立聚焦 PR:#70
剩余
|
Draft 停留超 48h。已按 7 commits 拆成 4 个独立主题(T1 本地管理员 onboarding / T2 agent 可观测+持久化 / T3 dev 工具链 / T4 固定 API 镜像),详见评论区拆解。 建议:T1 拆出独立 PR 优先推进;本 PR 保留为草稿或标记 superseded。
Summary
Why
A fresh deployment currently asks the operator for an organization account or opaque deployment tokens. Single-operator installs often have no OIDC provider, and a Bootstrap credential should not be the everyday browser login.
The new flow is: deploy, enter Bootstrap once and choose a password, then use the password for normal login. Static Fleet tokens remain machine credentials and Bootstrap remains available for recovery.
During live upgrade verification, the browser retained an older Fleet token in addition to the new local session. FleetAuth previously selected the stale X-API-Token first and rejected the request without considering the valid local bearer session. The middleware now evaluates both presented credentials and accepts the request when either one is valid.
Security notes
Verification
Docker note
A clean Compose image build was attempted locally after the application checks. Docker Desktop's BuildKit data store became read-only while committing downloaded base-image layers, before project compilation inside Docker. The failed cache was cleared and the installed release images were reused with the reviewed D-drive application code mounted for live verification. CI or a clean Docker builder should repeat the full image build.