This website requires JavaScript.
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