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
justme
7ee860cb27
ci: sync main into dev [CI SKIP]
2026-10-07 16:58:59 +08:00
justme
a9f562441f
feat!: probes generate their own keys and enroll with a join token; node and peer keys are separate [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 16:57:34 +08:00
justme
699ed8c411
ci: sync main into dev [CI SKIP]
2026-10-07 16:20:25 +08:00
justme
1ff847e45a
feat: declare every protocol method's direction and enforce it in the router; add the zero-trust design [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Methods, roles and binary channels are declared in one table per plane (node and peer). RpcRouter checks direction, kind and role when handlers are registered, when messages arrive (fleet_protocol_violation, disconnect after repeated violations) and before sending. NodeConnection is split by responsibility.
2026-10-07 16:17:02 +08:00
justme
0012df7b91
ci: sync main into dev [CI SKIP]
2026-10-07 15:08:26 +08:00
justme
ee22309e65
fix: keep the Backend backup out of the journal [CI SKIP]
2026-10-07 15:07:39 +08:00
justme
d5967b6110
ci: sync main into dev [CI SKIP]
2026-10-07 14:57:08 +08:00
justme
9bcef56497
feat: daily node restart controlled from the admin, connect timings as a default line task [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Agents and Probes exit in order at a configured time (default 04:30 UTC+8, switch and time zone in the admin settings) and the service manager starts them again; a local restart_at or MOSHIRO_RESTART_AT wins. The connect kind (TCP connect and TLS handshake timings) is now a default continuous line template, with a section on the line page.
2026-10-07 14:56:50 +08:00
justme
450748f3bc
ci: sync main into dev [CI SKIP]
2026-10-07 14:18:03 +08:00
justme
388619b8b6
feat: add a re-runnable deploy script for container nodes and migrate listen.bind to :: [CI SKIP]
2026-10-07 14:17:50 +08:00
justme
3b73fd7474
fix: pass Backend listener port into container ( #18 ) [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Pass the host listener URL to the Backend container process.
2026-10-07 05:17:13 +00:00
justme
e423d9b506
fix: pass Backend listener port into container [CI]
ci/woodpecker/pr/verify Pipeline was successful
ci/woodpecker/pr/web-build Pipeline was successful
2026-10-07 13:13:21 +08:00
justme
3364f7903e
fix: bind Backend host service to its configured port ( #17 ) [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Keep the Backend host-network container reachable on its configured port.
2026-10-07 05:11:52 +00:00
justme
4e1b372e66
fix: bind Backend host service to its configured port [CI]
ci/woodpecker/pr/verify Pipeline was successful
ci/woodpecker/pr/web-build Pipeline was successful
2026-10-07 13:08:08 +08:00
justme
1b052dcaef
backend: confirm signed channel updates ( #16 ) [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Publish signed, channel-matched Backend update offers and host IPv6 diagnostics.
2026-10-07 05:05:08 +00:00
justme
33b9782a1d
ci: tolerate legacy Backend release webhook [CI]
ci/woodpecker/pr/verify Pipeline was successful
ci/woodpecker/pr/web-build Pipeline was successful
2026-10-07 13:00:35 +08:00
justme
84f9d211bc
backend: require confirmation for signed channel updates [CI]
ci/woodpecker/pr/verify Pipeline failed
ci/woodpecker/pr/web-build unknown status
2026-10-07 12:57:20 +08:00
justme
7160de2a36
shared: merge IPv4 and IPv6 collection ( #15 ) [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Preserve independent dual-stack measurement paths; PR checks passed.
2026-10-07 03:48:39 +00:00
justme
0eda0600cc
shared: add independent IPv4 and IPv6 collection [CI]
ci/woodpecker/pr/verify Pipeline was successful
ci/woodpecker/pr/web-build Pipeline was successful
2026-10-07 11:44:01 +08:00
justme
5bd53f8880
ci: sync main into dev [CI SKIP]
2026-10-07 03:36:55 +08:00
justme
c974a7dddb
docs: merge the Fleet docs into backend/fleet/README.md, add TODO.md, unify the Backend compose, fix stale references [CI SKIP]
2026-10-07 03:36:34 +08:00
justme
643f9e1ea3
ci: sync main into dev [CI SKIP]
2026-10-07 03:30:19 +08:00
justme
ac0bcd8e1f
docs: merge the Fleet docs into backend/fleet/README.md, add TODO.md, fix stale references [CI SKIP]
2026-10-07 03:30:03 +08:00
justme
f4aa3f2482
docs: audit the docs, merge the Fleet docs into backend/fleet/README.md and add TODO.md [CI SKIP]
...
Drop the unimplemented fleet updater design, the stale project-layout sections and broken references, fix the API table, and rename the four Monitor*.cs files left over from the rename.
2026-10-07 03:29:05 +08:00
justme
180e54cb3c
ci: sync main into dev [CI SKIP]
2026-10-07 03:12:48 +08:00
justme
a286a453f4
fix: let the update helper write the status volume owned by the app user [CI SKIP]
...
The status helper runs as root with all capabilities dropped, so it could not write a volume owned by uid 1654 (mktemp: Permission denied) and the volume updater failed on rootful Podman. Add DAC_OVERRIDE only.
2026-10-07 02:58:34 +08:00
justme
7613f67fed
fix: create the update directory for fresh named volumes [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
ConfigStore.Write only created the config root, so a new volume without update/ made update offers fail with IO_PathNotFound. Create the parent directory on write and ship an empty update/ in the node images.
2026-10-07 02:51:39 +08:00
justme
ef75c9f510
fix: API tokens use the mos_ prefix [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 02:31:32 +08:00
justme
18a6898a27
fix: build the Backend image as glibc so it can load libssl [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline failed
The musl AotAnywhere output is a fully static executable, which cannot dlopen libssl: the Backend exited with 'No usable version of libssl was found' on start. Use linux-x64/arm64 and the Debian runtime-deps base.
2026-10-07 02:21:31 +08:00
geruipu
d3fadc0bf8
fix: support rootless ICMP and verify SELinux deployment [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 02:06:34 +08:00
justme
2e146d4da7
refactor!: rename the project from Monitor to MoShiro [CI]
...
ci/woodpecker/push/main-amd64-build Pipeline was successful
Namespaces, assemblies, solution, binaries, images, systemd units, config paths, environment variables, protocol methods and the Linux user are all renamed. Breaking: existing databases, node identities and installed units must be recreated.
2026-10-07 02:03:25 +08:00
justme
a19517a57d
docs: rewrite the README: scope, trust model, architecture, protocol and build [SKIP TESTS]
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-07 01:51:54 +08:00
justme
83e5120377
refactor!: rename the project from Monitor to MoShiro
...
Namespaces, assemblies, projects and directories, the solution, binaries,
images, systemd units, config paths, environment variables, protocol method
names, the media type and the raw chunk magic all move to MoShiro/moshiro.
Existing data and deployments are not compatible and must be recreated.
Also fix the architecture tests after the solution layout change and make
the update tests independent of their order.
2026-10-07 01:49:04 +08:00
justme
17b35223aa
ci: sync main into dev [CI SKIP]
2026-10-07 01:46:35 +08:00
geruipu
27ac7fb787
feat: share named volumes across Docker and rootless Podman updates [CI]
ci/woodpecker/push/main-amd64-build Pipeline was successful
2026-10-07 01:41:15 +08:00
justme
4d329f5e16
ci: sync main into dev [CI SKIP]
2026-10-07 01:30:46 +08:00
justme
90b3ca4dad
docs: update the architecture, README and related docs, drop the roadmap [SKIP TESTS]
2026-10-07 01:30:41 +08:00
justme
ad17170664
docs: redraw the architecture diagrams and update the README [SKIP TESTS]
ci/woodpecker/push/verify Pipeline was successful
ci/woodpecker/push/web-build Pipeline was successful
2026-10-07 01:30:28 +08:00
justme
710aa9e99f
ci: sync main into dev [CI SKIP]
2026-10-07 01:28:32 +08:00
justme
71d2866b9c
docs: update the architecture [SKIP TESTS]
2026-10-07 01:21:49 +08:00