Commit graph

149 commits

Author SHA1 Message Date
ochenstarik-ui
25bfa8dfa2
Merge pull request #59 from ochenstarik-ui/antigravity/web-console
feat(control): add operator web console for nodes, links, and enrollment code generation
2026-08-18 02:47:39 +07:00
Ochenstarik
1998309770 Merge remote-tracking branch 'origin/main' into antigravity/web-console 2026-08-18 02:34:19 +07:00
Ochenstarik
df6636bc60 test(control): add integration test verifying web console embedded resource delivery 2026-08-18 02:24:18 +07:00
ochenstarik-ui
f7b10acdfe
Merge pull request #58 from ochenstarik-ui/codex/unified-installer
feat: add guided unified installer
2026-08-18 02:20:36 +07:00
ochenstarik-ui
432abb5283 Merge remote-tracking branch 'origin/main' into codex/unified-installer 2026-08-18 02:12:35 +07:00
ochenstarik-ui
0fa270f3aa
Merge pull request #57 from ochenstarik-ui/codex/mesh-state-permissions
fix: grant Control scoped access to mesh state
2026-08-18 02:12:19 +07:00
ochenstarik-ui
8a94f9c7e5 Merge remote-tracking branch 'origin/main' into codex/mesh-state-permissions 2026-08-18 02:02:53 +07:00
Ochenstarik
989d66e998 feat(control): add operator web console for nodes, links, and enrollment code generation 2026-08-18 02:00:41 +07:00
ochenstarik-ui
8af838439a
Merge pull request #55 from ochenstarik-ui/antigravity/desktop-update-proof
test(desktop): prove signature verification against live release
2026-08-18 01:53:00 +07:00
ochenstarik-ui
3f5f733ebe
Merge branch 'main' into antigravity/desktop-update-proof 2026-08-18 01:47:26 +07:00
ochenstarik-ui
47a1a1d529 Merge remote-tracking branch 'origin/main' into codex/mesh-state-permissions 2026-08-18 01:43:21 +07:00
ochenstarik-ui
783b500046 fix: preserve signed asset diagnostics 2026-08-18 01:38:31 +07:00
ochenstarik-ui
1db48b9665 feat: add guided unified installer 2026-08-18 01:37:18 +07:00
ochenstarik-ui
e04bfcdc10 test: expect control mesh state initialization 2026-08-18 01:36:24 +07:00
ochenstarik-ui
315d7c3182 fix: create mesh state before control starts 2026-08-18 01:25:43 +07:00
ochenstarik-ui
b769d36522 test: stub mesh repair in migration fixtures 2026-08-18 01:21:57 +07:00
ochenstarik-ui
d16fe7e78e test: isolate control state fixture 2026-08-18 01:19:31 +07:00
ochenstarik-ui
c8149e3c16 test: extract complete mesh permission helpers 2026-08-18 01:17:01 +07:00
ochenstarik-ui
2bf3e1c20b fix mesh state permissions for Control 2026-08-18 01:13:54 +07:00
Ochenstarik
c9cedd0552 ci(windows): separate offline and live release desktop security test steps 2026-08-18 01:11:28 +07:00
ochenstarik-ui
7583b1317c
Merge pull request #53 from ochenstarik-ui/antigravity/node-enrollment-endpoint
feat(control): add operator endpoint for node enrollment code (SMMNODE2)
2026-08-18 01:08:03 +07:00
ochenstarik-ui
ccc834cee2
Merge branch 'main' into antigravity/node-enrollment-endpoint 2026-08-18 01:02:04 +07:00
ochenstarik-ui
0954588cc8
Merge pull request #56 from ochenstarik-ui/codex/release-alpha18-cosign-negative-test
fix: support cosign v3 negative verification for alpha.18
2026-08-18 00:39:46 +07:00
Ochenstarik
55a19e9eea refactor(control): remove duplicate /nodes route for enrollment code 2026-08-18 00:35:38 +07:00
ochenstarik-ui
26a11b77e7 fix: select cosign v3 detached signing mode 2026-08-18 00:25:23 +07:00
Ochenstarik
279349f445 test(desktop): restore valid release assertion in live update verification tests 2026-08-18 00:24:26 +07:00
Ochenstarik
5dcd420d34 test(desktop): add live release update verification tests (intentional failure proof) 2026-08-18 00:17:45 +07:00
ochenstarik-ui
307446915d
Merge pull request #54 from ochenstarik-ui/codex/release-alpha17-machine-output
fix: preserve machine-readable installer output for alpha.17
2026-08-18 00:16:59 +07:00
Ochenstarik
93eb507f7a fix(control): implement IDisposable on NodeEnrollmentService and register event payload in SmmJsonContext 2026-08-18 00:03:37 +07:00
ochenstarik-ui
ba0abd98f9 fix: preserve machine-readable installer output 2026-08-18 00:01:59 +07:00
Ochenstarik
aa8da317cf feat(control): add operator endpoint for node enrollment code 2026-08-17 23:55:29 +07:00
ochenstarik-ui
5fd9def789
Merge pull request #52 from ochenstarik-ui/codex/release-alpha16-cosign-verification
fix: complete clean-host release verification
2026-08-17 23:49:38 +07:00
ochenstarik-ui
7cb7173466 fix: clear cosign command cache in release verification 2026-08-17 23:37:57 +07:00
ochenstarik-ui
5dc4c3970b
Merge pull request #43 from ochenstarik-ui/codex/cosign-provisioning
fix: provision cosign and automate release verification
2026-08-17 23:26:56 +07:00
ochenstarik-ui
6bd58abe2f fix: provision cosign for verified installs 2026-08-15 23:29:49 +07:00
ochenstarik-ui
0405b0b4c6
Merge pull request #42 from ochenstarik-ui/codex/release-alpha14
feat: add one-command alpha14 server installation
2026-08-15 22:52:21 +07:00
ochenstarik-ui
c83fd1ea92 docs: record unpublished alpha10 and alpha11 releases 2026-08-15 22:30:12 +07:00
ochenstarik-ui
d206c2219e feat: add one-command alpha14 server installation 2026-08-15 22:04:25 +07:00
ochenstarik-ui
b0ad40c5cd
Merge pull request #41 from ochenstarik-ui/integration/release-signing-consistency
fix(release): publish signing certificate and verify releases the way an operator does
2026-08-15 13:23:12 +07:00
Ochenstarik
c1e47684e6 fix(verification): verify releases the way an operator does
PR #40 correctly publishes the keyless signing certificate and makes
verify_archive require manifest, signature and certificate together. Three
things around it were inconsistent.

The release-verification scripts fetched assets with `gh release download`.
The workspace-isolation step deliberately removes `.git` so that the install
comes from the release rather than the source tree, and `gh` resolves the
repository from that git context — the tool fought the isolation it runs
inside, which is what broke the first runs. An operator has neither `gh` nor a
token, so the scripts now use public `curl`, `sha256sum` and `cosign` only.
`verify-assets.sh` keeps `gh`: it runs before isolation and only lists assets.

The monitor check addressed a user and a home directory that do not exist.
The bootstrap creates `ochenstarik-monitor` with `/var/lib/ochenstarik-monitor`;
the script used `ochenstarik-smm-monitor` under the Control state directory, so
that section could never have passed. It now also asserts that the forced
command is pinned in `authorized_keys` before running it, and quotes the
command instead of splitting it on whitespace.

The expected asset list did not include the new certificate, so a correct
release would have been reported as unexpected.

Also: a negative case for an archive published without its certificate, removal
of drafting comments that quoted the task text, and documentation of the three
signature files, since `verify-release` now requires them beside the archive and
the documented download list stopped being sufficient.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 13:16:27 +07:00
Ochenstarik
55cfdcffac test(release): add certificate fixture material
Keep local signatures out of Rekor and satisfy the fail-closed certificate contract.
2026-08-13 14:37:31 +07:00
Ochenstarik
e1359b1b5f fix(release): publish keyless signing certificate
Close the producer/consumer certificate contract and advance the immutable correction release to alpha.14.
2026-08-13 14:29:16 +07:00
ochenstarik-ui
56a29e2b33
fix(release): normalize Windows checksum asset (#39)
Validate SHA256SUMS with GNU sha256sum before publishing and advance the immutable correction release to alpha.13.

Co-authored-by: Ochenstarik <ochenstarik@inbox.ru>
2026-08-13 13:53:16 +07:00
ochenstarik-ui
ecad5048cc
fix(release): replace alpha8 network compatibility test (#38)
Use a deterministic v1 release fixture, prepare alpha.12 version sources, and document release ownership and burned tags.

Co-authored-by: Ochenstarik <ochenstarik@inbox.ru>
2026-08-13 13:22:48 +07:00
ochenstarik-ui
5349533994 Bump version to v0.1.0-alpha.11
alpha.10 tag produced a failed release pipeline (test-release-contract.sh
still asserted alpha.9, and run-negative-tests.sh test 5 failed on
cross-version verify-release). Per release-policy.md, published tags are
immutable — errors are fixed in the next tag.
2026-08-12 00:47:02 +07:00
ochenstarik-ui
48d096a06e fix(ci): update release contract to alpha.10, remove backward compat test from bootstrap job
- test-release-contract.sh: update hardcoded DEFAULT_RELEASE_TAG assertion to v0.1.0-alpha.10
- run-negative-tests.sh: remove test 5 (alpha.8 backward compat) — verify-release checks
  for artifacts added in later versions, making cross-version testing inherently fragile
2026-08-11 12:01:19 +07:00
ochenstarik-ui
e04037aec8 docs: add Debian VM reboot constraint section 2026-08-11 01:46:04 +07:00
ochenstarik-ui
bb672a299c docs: sync translations and roadmap for release v0.1.0-alpha.10 2026-08-11 01:45:05 +07:00
ochenstarik-ui
e8f771b07d Merge branch 'hermes/release-alpha10' 2026-08-11 01:40:57 +07:00
ochenstarik-ui
93b80e2dac Bump version to v0.1.0-alpha.10 2026-08-11 01:40:28 +07:00