justme
675a2bc5b4
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 16:26:33 +08:00
justme
a4f3d1892a
ci: all-platform node binaries in the signed release manifest; signed SHA256SUMS for the archives; web build once before the parallel backend builds; release 0.3.3 [CI SKIP]
ci/woodpecker/tag/windows-release Pipeline was successful
ci/woodpecker/tag/linux-release Pipeline was successful
ci/woodpecker/tag/gitea-release Pipeline was successful
v0.3.3
2026-10-08 16:26:29 +08:00
justme
76efc15e9a
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/push/web-build unknown status
2026-10-08 16:13:02 +08:00
justme
cab505b837
fix(ci): back to building the web apps inside the backend build; the two architectures run one after the other; release 0.3.2 [CI SKIP]
ci/woodpecker/tag/windows-release Pipeline was successful
ci/woodpecker/tag/linux-release Pipeline was successful
ci/woodpecker/tag/gitea-release Pipeline was successful
v0.3.2
2026-10-08 16:12:59 +08:00
justme
3ee8b6bb3d
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 16:05:42 +08:00
justme
cd9e677331
fix(ci): build the web apps once before the two backend architectures; release 0.3.1 [CI]
ci/woodpecker/push/main-amd64-build Pipeline is running
ci/woodpecker/tag/linux-release Pipeline is running
ci/woodpecker/tag/windows-release Pipeline was successful
ci/woodpecker/tag/gitea-release unknown status
v0.3.1
2026-10-08 16:05:38 +08:00
justme
0fa2f2a26a
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 15:59:32 +08:00
justme
879d1c8593
fix: installer checks containers only; the panel reads signed manifests from the registry when it has none; unsigned-updater nodes are labeled from the panel's manifests; sign node release images; release 0.3.0 [CI]
ci/woodpecker/push/main-amd64-build Pipeline was canceled
ci/woodpecker/tag/linux-release Pipeline failed
ci/woodpecker/tag/windows-release Pipeline was successful
ci/woodpecker/tag/gitea-release unknown status
v0.3.0
2026-10-08 15:59:28 +08:00
justme
0e7a8c14fb
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 15:30:16 +08:00
justme
4a1e48db20
test: share one operator and trust root across the trust tests; make the setup test cleanup best-effort [CI SKIP]
2026-10-08 15:30:12 +08:00
justme
4a15dba8de
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/push/web-build unknown status
2026-10-08 06:47:15 +08:00
justme
f22fdf8b68
feat: first-run claim wizard (no default admin, claim code from the backend log); owner list shows account and passkey; container install first [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-08 06:47:10 +08:00
justme
2ae63653c4
feat: the node itself requires an owner passkey (shared by agent and probe) and reports it; the panel derives the account and passkey it is bound to [CI]
2026-10-08 06:15:07 +08:00
justme
8c37db1577
feat: every agent and probe must have an owner passkey, enforced by the panel, the installers and fleet-enroll [CI]
2026-10-08 06:04:04 +08:00
justme
8410735377
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/push/web-build unknown status
2026-10-08 05:44:20 +08:00
justme
0b384a58f5
fix: hash the node binary without the registry auth file that does not exist yet [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-08 05:43:51 +08:00
justme
6310358490
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 05:41:02 +08:00
justme
4841f7b15b
feat: bind each node to the binary it runs at its first handshake; refuse changes that are not in a CI-signed manifest [CI]
ci/woodpecker/push/main-amd64-build Pipeline failed
2026-10-08 05:39:13 +08:00
justme
117d34a2af
feat: signed manifests live in the image registry; updaters and first deploys fetch and verify them without the panel [CI]
2026-10-08 05:05:13 +08:00
justme
4106f831dc
feat!: drop the backend-side elevation windows; password and passkey sessions share capabilities, passkeys guard what nodes verify; the trust page lists added and removed passkeys [CI]
2026-10-08 04:57:28 +08:00
justme
0dc8c6fe34
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 04:23:16 +08:00
justme
f704c66dd9
feat: CI registers release manifests without a token; the panel verifies the CI signature instead [CI]
ci/woodpecker/push/main-amd64-build Pipeline failed
2026-10-08 04:22:01 +08:00
justme
1f70c8d31e
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-08 04:10:29 +08:00
justme
fbda9487d5
feat: serve the web apps from the Backend (embedded, allow-listed, no filesystem access) so passkeys bind to the panel's own domain [CI]
ci/woodpecker/push/main-amd64-build Pipeline failed
2026-10-08 04:09:40 +08:00
justme
4a3631f82b
fix: gate password sessions on the login method so data-source sessions also get the passkey-only page [CI SKIP]
2026-10-08 04:09:39 +08:00
justme
3b88a3419d
ci: build the dev images for the genesis-pinned trust model [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-08 03:28:03 +08:00
justme
0e0b925c8b
Merge branch 'main' into dev
ci/woodpecker/push/verify Pipeline failed
ci/woodpecker/push/web-build unknown status
2026-10-08 03:22:20 +08:00
justme
a2f88a344b
feat!: genesis-pinned operator set, server identity with an encrypted control link, key-less join codes; release key continuity
...
ci/woodpecker/tag/gitea-release Pipeline is pending
ci/woodpecker/tag/linux-release Pipeline failed
ci/woodpecker/tag/windows-release Pipeline was canceled
Join codes need no passkey touch and carry only public values (genesis
fingerprint, owner credentials, installer hashes). Nodes pin the genesis and
owners at enrollment and only follow passkey-signed operator set versions.
The panel's server key is listed in the set; pinned nodes require its
signature and run the control link under AES-256-GCM. Password sessions carry
no capabilities. The updater adopts a next_key from a signed manifest.
Bump version to 0.2.0. [CI SKIP]
v0.2.0
2026-10-08 03:21:44 +08:00
justme
9bb6841dce
feat: pinned agents and probes only accept peers carrying the operator's proof; the panel ships the signed operator chain with the rosters [CI SKIP]
2026-10-07 23:24:33 +08:00
justme
fc2bbdcc6d
feat: operator trust root: passkey-signed operator set, signed join codes, nodes verify and pin the chain at enrollment [CI SKIP]
2026-10-07 23:19:59 +08:00
justme
321cacac32
feat: operator trust chain library (passkey-signed operator set, grants and code-key bindings) [CI SKIP]
2026-10-07 23:09:09 +08:00
justme
36f9816f40
test: allow the installer manifest paths in the OpenAPI layout check [CI SKIP]
2026-10-07 23:02:50 +08:00
justme
310b2b5b19
feat: the one-line installer verifies the CI-signed release manifest and pulls the image by digest [CI]
2026-10-07 23:01:45 +08:00
justme
a19e6548d3
feat: trust forwarded client addresses only from configured proxies (rate limit, audit, SSE) [CI]
...
Docs: access.md covers the missing node-side Backend identity and the hash-first install flow.
2026-10-07 22:51:44 +08:00
justme
ff45ad086e
feat!: sensitive actions need a fresh passkey touch (elevation windows), plus login page hint cleanup [CI]
2026-10-07 22:29:24 +08:00
justme
1379b8c7cb
feat: audit log of admin writes, sign-ins and key creation, with an audit tab [CI]
2026-10-07 22:17:52 +08:00
justme
359313a57b
feat: record who created join codes and who added each node [CI]
2026-10-07 22:12:15 +08:00
justme
6385c1b9a3
feat: sign in with a passkey (WebAuthn, ES256, discoverable credentials) and manage your passkeys [CI]
2026-10-07 21:57:19 +08:00
justme
ddb6608e32
feat!: capabilities replace API token scopes; every admin endpoint declares one, with a picker UI [CI]
2026-10-07 20:56:36 +08:00
justme
55b80f0a97
docs: access control and enrollment trust chain design [CI SKIP]
2026-10-07 20:45:23 +08:00
justme
f01bb8fd63
ci: sync main into dev [CI SKIP]
2026-10-07 20:03:38 +08:00
justme
af2962fc58
feat: one-line install for agents and probes from one shared script (curl | bash, zsh, PowerShell) [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 20:02:38 +08:00
justme
5528753d45
feat: deploy-node.sh backend takes extra env settings with --env [CI SKIP]
2026-10-07 19:40:13 +08:00
justme
96990c6f4e
ci: sync main into dev [CI SKIP]
2026-10-07 19:14:58 +08:00
justme
b99b95c738
feat!: pre-handshake knock on the agent TCP ports; probes get the agent certificate public key [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 18:56:40 +08:00
justme
bd35a1a966
ci: sync main into dev [CI SKIP]
2026-10-07 18:13:20 +08:00
justme
f03988d68b
feat: detect an agent's public IPv4 and IPv6 addresses automatically, manual values still win [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 18:12:17 +08:00
justme
b47e01d944
ci: sync main into dev [CI SKIP]
2026-10-07 17:21:25 +08:00
justme
9966ea5d63
fix: run the enrollment container on the host network [CI SKIP]
2026-10-07 17:20:08 +08:00
justme
b4b50c636f
feat: deploy-node.sh also deploys the Backend and migrates old probe.json [CI SKIP]
2026-10-07 17:12:00 +08:00