Commit Graph

  • 7671221343 feat(master): check the registry now from the service page (#35) (#36) main shcizo 2026-10-14 12:24:59 +00:00
  • 2989fa224d fix(master): keep the scroll position when toggling auto mode on the overview (#34) v0.9.1 shcizo 2026-10-13 12:06:18 +00:00
  • 96caf4a8a7 fix(master): keep the scroll position when toggling auto mode on the overview fix/keep-scroll-on-mode-toggle shcizo 2026-10-13 12:59:10 +02:00
  • f6446be711 feat(master): suggest newer version tags for third-party images (#11) (#31) v0.9.0 shcizo 2026-10-13 10:18:53 +00:00
  • 850a670446 feat: self-update of master and agents (#15) (#32) shcizo 2026-10-13 10:17:52 +00:00
  • ef333bf4d2 docs: merge refusal names an agent's own service (#15) feat/self-update-15 shcizo 2026-10-13 12:08:56 +02:00
  • aec21d23d9 fix: address review findings for self-update (#15) shcizo 2026-10-13 12:06:49 +02:00
  • a5d0d1a070 fix(master): review fixes for newer-tag suggestions (#11) feat/newer-version-tags-11 shcizo 2026-10-13 11:55:05 +02:00
  • fe4aca2883 feat: self-update of master and agents (#15) shcizo 2026-10-13 11:55:46 +02:00
  • c9cb1103ad feat(master): suggest newer version tags for third-party images (#11) shcizo 2026-10-13 11:50:22 +02:00
  • ec28d1e027 feat(master): Ledger UI for Services and Agents (#18) (#29) v0.8.0 shcizo 2026-10-13 09:20:18 +00:00
  • 8218c61db1 Merge origin/main (phase 5, drift and merge) into feat/ledger-ui-services-agents-18 feat/ledger-ui-services-agents-18 shcizo 2026-10-13 11:18:50 +02:00
  • 919ad91710 feat: master/agent phase 5 — drift and merge, backend (#10) (#30) v0.7.0 shcizo 2026-10-13 09:04:36 +00:00
  • df8f621683 fix(master): review fixes for drift restore and accept (#10) feat/master-agent-drift-merge-10 shcizo 2026-10-13 10:36:01 +02:00
  • cbcb8290d0 fix(master): keep agent rows and the add-agent drawer inside their columns (#18) shcizo 2026-10-13 10:34:17 +02:00
  • b7d105e841 docs: phase 5 plan, drift and merge in README and CLAUDE.md (#10) shcizo 2026-10-13 10:28:34 +02:00
  • 19a21da7bf feat(web): restore, accept and merge endpoints for drifted and moved services (#10) shcizo 2026-10-13 10:28:34 +02:00
  • d0bf3e09d9 feat(jobs): refuse poll and webhook jobs for drifted services, add restore (#10) shcizo 2026-10-13 10:28:34 +02:00
  • 061243f5da feat(store): drift state, move candidates and service merge (#10) shcizo 2026-10-13 10:28:34 +02:00
  • cdda174178 fix(master): review fixes for the Ledger UI (#18) shcizo 2026-10-13 10:25:02 +02:00
  • dd2b90bece feat(master): Ledger UI for Services and Agents (#18) shcizo 2026-10-13 10:18:24 +02:00
  • 11c876af7f build(master): vendor Simple Icons data and the Ledger fonts shcizo 2026-10-13 10:06:09 +02:00
  • 9d5f24b125 feat(store): persist the Swarm cluster id of each agent shcizo 2026-10-13 10:04:58 +02:00
  • 307e46e4c7 chore(master): run the master as a non-root user (#25) (#27) v0.6.2 shcizo 2026-10-13 07:33:45 +00:00
  • 9b9b3f9480 docs: keep the master's registry credentials private when running as nobody (#25) chore/master-non-root-25 shcizo 2026-10-13 09:32:58 +02:00
  • a838777570 chore(master): run the master as nobody in the example stack (#25) shcizo 2026-10-13 09:32:09 +02:00
  • f95e5319a8 fix(agent): give compose.override.yaml the owner of the stack (#24) (#26) v0.6.1 shcizo 2026-10-13 07:27:42 +00:00
  • cf9c0c4b10 fix(agent): set the override owner on the temp file before the rename (#24) fix/override-file-owner-24 shcizo 2026-10-13 09:25:18 +02:00
  • 92b1a0835e fix(agent): give the override file the owner of the stack (#24) shcizo 2026-10-13 09:20:40 +02:00
  • 1664e47183 feat: master/agent phase 4 — registry polling and version history (#9) (#23) v0.6.0 shcizo 2026-10-13 07:02:34 +00:00
  • 8fe75b2cbf fix(master): seed the tag digest from running services and hide registry error text (#9) feat/registry-polling-version-history-9 shcizo 2026-10-13 08:38:17 +02:00
  • 3166874433 fix(master): remember the tag's deployed digest after any tag job (#9) shcizo 2026-10-13 08:33:17 +02:00
  • 53a2a23f1b docs: auto rollbacks, bare image as latest and registry request scope (#9) shcizo 2026-10-13 08:30:08 +02:00
  • 73ac8f613e refactor: tidy poller, web test helper and GoDoc line widths (#9) shcizo 2026-10-13 08:29:22 +02:00
  • e2f71521bb fix(deploy): make the registry credentials mount of the master stack opt-in (#9) shcizo 2026-10-13 08:29:22 +02:00
  • 7e4b927293 fix(master): keep rollbacks of auto services until a new digest (#9) shcizo 2026-10-13 08:28:50 +02:00
  • f169eddc4c fix(master): drop registry response bodies from poll errors (#9) shcizo 2026-10-13 08:26:29 +02:00
  • 92e7646221 fix(master): say why a pinned pick fails on a protocol 2 agent (#9) shcizo 2026-10-13 08:25:21 +02:00
  • 2e87d98012 docs: registry polling, version history and phase 4 plan (#9) shcizo 2026-10-13 08:16:47 +02:00
  • 687e411052 test(e2e): pick a pinned version and poll an auto service end to end (#9) shcizo 2026-10-13 08:15:29 +02:00
  • 2390b6151e feat(master): POLL_INTERVAL, poller wiring and version picker in the UI (#9) shcizo 2026-10-13 08:14:43 +02:00
  • c6ea2d3710 feat(master): registry digest lookup and polling loop (#9) shcizo 2026-10-13 08:11:37 +02:00
  • d0726ca992 feat(master,agent): deploy digest-pinned refs and route them to protocol 3 agents (#9) shcizo 2026-10-13 08:07:45 +02:00
  • af61f17dee feat(master): record image versions and track poll suggestions in the store (#9) shcizo 2026-10-13 08:05:21 +02:00
  • 41a619b316 feat: master/agent phase 3 — webhook and auto mode (#8) (#22) v0.5.0 shcizo 2026-10-12 20:03:22 +00:00
  • b1d6e5e705 fix: review fixes for webhook and auto mode (#8) feat/master-agent-webhook-8 shcizo 2026-10-12 20:48:43 +02:00
  • f25a7a7779 docs: webhook contract, auto mode and phase 3 plan (#8) shcizo 2026-10-12 20:43:11 +02:00
  • 71d66846f2 feat(web): update-mode toggle and available-version badge (#8) shcizo 2026-10-12 20:41:41 +02:00
  • 5d95a35b3b feat(master): POST /update webhook with auto-mode updates (#8) shcizo 2026-10-12 20:40:38 +02:00
  • cfc6ea6713 feat(store): available ref, update mode and services-by-repo for the webhook (#8) shcizo 2026-10-12 20:40:04 +02:00
  • 417ef315c2 Merge pull request 'feat: master/agent phase 2 — jobs and manual update (#7)' (#20) from feat/master-agent-jobs-7 into main v0.4.0 shcizo 2026-10-12 17:58:48 +00:00
  • ec96d5687d fix(agent): reset per-service warnings after a successful build check (#7) feat/master-agent-jobs-7 shcizo 2026-10-12 19:45:29 +02:00
  • c5dba96cf8 fix(agent): list all compose profiles and fail closed on unknown services (#7) shcizo 2026-10-12 19:38:07 +02:00
  • 27c4200dda feat(agent): report and refuse Compose services built from source; honour --env-file (#7) shcizo 2026-10-12 19:32:05 +02:00
  • 69ef55837e docs: compose environment and built-from-source services (#7) shcizo 2026-10-12 19:30:38 +02:00
  • 3d3dfb47e6 feat(master): show built-from-source services but never update them (#7) shcizo 2026-10-12 19:30:38 +02:00
  • c3bd4ca1ed test(master): CreateJob waits for a concurrent revoke (#7) shcizo 2026-10-12 19:29:43 +02:00
  • 91cb027ef6 feat(protocol): Service.Built marks Compose services built from source (#7) shcizo 2026-10-12 19:29:18 +02:00
  • 7e23e1843f docs: spell out the upgrade risk and the bare-image rule (#7) shcizo 2026-10-12 19:15:24 +02:00
  • 961ddd275c test(master): wait for the replacement connection to register (#7) shcizo 2026-10-12 19:15:24 +02:00
  • caa6c81716 fix(master): treat a bare image as :latest and handle a revoked agent in Trigger (#7) shcizo 2026-10-12 19:14:59 +02:00
  • c09e774d74 fix(master): refuse jobs for revoked agents, signal revoked jobs, agent start time wins (#7) shcizo 2026-10-12 19:14:32 +02:00
  • 93ba6915b9 fix(agent): minimal env and explicit project dir for compose, resolve every config file's symlinks (#7) shcizo 2026-10-12 19:13:25 +02:00
  • 8b2c10cc05 fix(web): job log polls while active, one service history limit (#7) shcizo 2026-10-12 19:13:01 +02:00
  • 88d5507217 docs: describe Swarm registry auth (#7) shcizo 2026-10-12 18:50:12 +02:00
  • b7e25bb1fb docs: master/agent phase 2 — jobs and manual update (#7) shcizo 2026-10-12 18:48:53 +02:00
  • b392e11b37 test: jobs end to end over pinned TLS (#7) shcizo 2026-10-12 18:48:06 +02:00
  • 55f8021b0a build: agent is the image's default entrypoint; drop the old server examples (#7) shcizo 2026-10-12 18:45:47 +02:00
  • 601c6da0d4 feat(agent): run jobs from the master and resend results until acked (#7) shcizo 2026-10-12 18:45:44 +02:00
  • e313365686 feat(agent): job runner, compose override executor and swarm executor (#7) shcizo 2026-10-12 18:45:44 +02:00
  • 32c30194c4 feat(master): wire jobs into the master (#7) shcizo 2026-10-12 18:43:20 +02:00
  • 02de0b8cf3 feat(master): start manual update jobs with self-protection (#7) shcizo 2026-10-12 18:43:11 +02:00
  • 68e5c33722 feat(master): route jobs to agents and reconcile them on reconnect (#7) shcizo 2026-10-12 18:42:30 +02:00
  • 574f425267 feat(web): service page, manual update, jobs list and live job log (#7) shcizo 2026-10-12 18:41:46 +02:00
  • 9d3a6f808c feat(master): store update jobs (#7) shcizo 2026-10-12 18:40:48 +02:00
  • e2b73dfd81 feat(agent): UPDATE_TIMEOUT and DOCKER_CONFIG settings (#7) shcizo 2026-10-12 18:40:15 +02:00
  • c9c4e0cadb refactor(web): web.New takes the jobs service (#7) shcizo 2026-10-12 18:39:57 +02:00
  • 9e09de0a16 feat(protocol): job messages, protocol version and job model (#7) shcizo 2026-10-12 18:38:39 +02:00
  • eb41967cd1 docs: plan revisions after review (#7) shcizo 2026-10-12 18:37:28 +02:00
  • 7e55ec3b33 docs: implementation plan for master/agent phase 2 (jobs) (#7) shcizo 2026-10-12 17:13:15 +02:00
  • 3090b6d4f0 Merge pull request 'feat: master/agent phase 1 — live inventory (#6)' (#19) from feat/master-agent-inventory-6 into main v0.3.0 shcizo 2026-10-12 13:50:09 +00:00
  • 2fe9b5ba0d fix(master): block inventory writes from revoked agents (#6) feat/master-agent-inventory-6 shcizo 2026-10-12 15:18:51 +02:00
  • 0e9e34db06 fix: address final review findings for master/agent phase 1 (#6) shcizo 2026-10-12 15:16:29 +02:00
  • 4f092eaf79 docs: document master/agent phase 1 and add master stack example shcizo 2026-10-12 15:04:43 +02:00
  • 05610391e3 test: agent to master inventory over pinned TLS end to end shcizo 2026-10-12 15:02:50 +02:00
  • e8f7cb3378 feat(master): add updater-master binary wiring store, hub, auth and UI shcizo 2026-10-12 15:01:11 +02:00
  • a596d67728 feat(master): htmx UI with live service overview and agent management shcizo 2026-10-12 14:57:23 +02:00
  • b4894db6d7 feat(master): OIDC login with group check, sessions and CSRF protection shcizo 2026-10-12 14:54:11 +02:00
  • 049324b2f4 fix(master): recheck revocation after register, reject duplicate hello shcizo 2026-10-12 14:52:24 +02:00
  • 75e28262f8 feat(master): agent hub that authenticates agents and stores their inventory shcizo 2026-10-12 14:50:22 +02:00
  • 5d75f9a7da feat(master): in-process broker for live UI change signals shcizo 2026-10-12 14:48:03 +02:00
  • 8a1fb45971 feat(master): store service inventory snapshots and web sessions shcizo 2026-10-12 14:45:46 +02:00
  • 99c553b7c6 feat(master): postgres store with migrations, master identity and agents shcizo 2026-10-12 14:43:34 +02:00
  • 9b74286c9b feat(agent): add updater-agent binary and ship it in the image shcizo 2026-10-12 14:41:05 +02:00
  • ad6ff1e066 feat(agent): connect to master over pinned TLS and stream inventory shcizo 2026-10-12 14:38:14 +02:00
  • 3edaf4e602 feat(agent): diff inventories and debounce docker events shcizo 2026-10-12 14:36:11 +02:00
  • abee9abb1b feat(agent): collect compose, swarm and container inventory from docker shcizo 2026-10-12 14:34:13 +02:00
  • 61e738e39d feat: pinned master key TLS and per-agent tokens shcizo 2026-10-12 14:32:40 +02:00
  • b482c2e29c feat(protocol): define agent-to-master wire messages shcizo 2026-10-12 14:31:18 +02:00
  • adeddf0254 feat(imageref): parse image references into repo, tag and digest shcizo 2026-10-12 14:29:52 +02:00