shcizo
|
46ef00c742
|
Merge pull request 'Initial implementation: package-updater v1' (#1) from feat/initial-implementation into main
|
2026-05-22 13:59:37 +02:00 |
|
shcizo
|
e43868bf41
|
build: bump Dockerfile to golang:1.26-alpine to match go.mod
|
2026-05-22 13:56:23 +02:00 |
|
shcizo
|
9a8b171198
|
feat: docker-compose.local.yml for local build/smoke-test
|
2026-05-22 13:53:49 +02:00 |
|
shcizo
|
3abd1bf9af
|
feat(metrics): wire instrumentation through queue, handlers, middleware
|
2026-05-22 13:17:09 +02:00 |
|
shcizo
|
ef9c0f1313
|
chore: gitignore stray ./server binary from go build
|
2026-05-22 13:05:43 +02:00 |
|
shcizo
|
b866f6d47c
|
feat(cmd): wire config, discovery, queue, http server, metrics
|
2026-05-22 13:04:44 +02:00 |
|
shcizo
|
952189eb09
|
feat(metrics): Prometheus collectors and /metrics handler
|
2026-05-22 12:59:53 +02:00 |
|
shcizo
|
2be2fdf325
|
docs: real README with quick start, endpoints, observability
|
2026-05-22 12:09:37 +02:00 |
|
shcizo
|
33a8b8689f
|
feat(action): reusable Gitea composite action for /update
|
2026-05-22 12:08:12 +02:00 |
|
shcizo
|
804b69b67c
|
docs: docker-compose.example.yml for end-user deploy
|
2026-05-22 12:07:47 +02:00 |
|
shcizo
|
00bada890b
|
build: multi-stage Dockerfile with build info ldflags
|
2026-05-22 12:07:36 +02:00 |
|
shcizo
|
e88f105490
|
feat(selfupdate): defer self-replacement until response flushed
|
2026-05-22 12:06:07 +02:00 |
|
shcizo
|
857f504d36
|
feat(api): /update, /healthz, /version handlers
|
2026-05-22 12:03:56 +02:00 |
|
shcizo
|
df2dc30cea
|
feat(api): auth, request_id, and request-logging middleware
|
2026-05-22 11:59:34 +02:00 |
|
shcizo
|
c9b1af42e5
|
feat(updater): FIFO queue with single worker and per-job results
|
2026-05-22 11:57:09 +02:00 |
|
shcizo
|
a275f208c4
|
feat(updater): ComposeExecutor shells out to docker compose
|
2026-05-22 11:54:03 +02:00 |
|
shcizo
|
058b9d8c07
|
feat(updater): Executor interface
|
2026-05-22 11:53:42 +02:00 |
|
shcizo
|
db784ad303
|
feat(discovery): orchestrate match, opt-in filter, dedup, path-check
|
2026-05-22 11:51:07 +02:00 |
|
shcizo
|
897093ed1c
|
feat(discovery): STACKS_ROOT path safety check
|
2026-05-22 11:45:56 +02:00 |
|
shcizo
|
13ccb79ef5
|
feat(discovery): parse Compose-managed labels
|
2026-05-22 11:44:10 +02:00 |
|
shcizo
|
cff6c1baff
|
feat(discovery): tag-agnostic image name normalisation
|
2026-05-22 11:41:33 +02:00 |
|
shcizo
|
e665b6cd7e
|
feat(logging): structured JSON logger with request_id context
|
2026-05-22 11:38:07 +02:00 |
|
shcizo
|
883f3cfecf
|
chore: tidy go.sum for testify transitive deps
|
2026-05-22 11:35:33 +02:00 |
|
shcizo
|
9832b2b190
|
docs: complete se.enocsson to se.shcizo rename in spec
|
2026-05-22 11:35:33 +02:00 |
|
shcizo
|
4f2a19c663
|
chore: gitignore Serena MCP workspace
|
2026-05-22 11:35:33 +02:00 |
|
shcizo
|
2b7f7d863a
|
feat(config): load and validate env-var config
|
2026-05-22 11:24:29 +02:00 |
|
shcizo
|
1ca9f5296a
|
chore: scaffold Go project layout
|
2026-05-22 11:16:23 +02:00 |
|
shcizo
|
ef14465314
|
docs: remove dead strconv import from main.go in plan
|
2026-05-22 11:13:40 +02:00 |
|
shcizo
|
3e600aeb88
|
docs: add package-updater implementation plan
19-task TDD plan covering project scaffolding, config, structured
logging, discovery (image matching, Compose label parsing, path safety,
orchestration), executor abstraction, FIFO queue + single worker, HTTP
middleware (auth, request_id, request logging), handlers (/update,
/healthz, /version), Prometheus metrics, self-update deferred
execution, wire-up in main, Dockerfile, example compose, Gitea
composite action, and README.
|
2026-05-22 11:10:51 +02:00 |
|
shcizo
|
96d94efd6a
|
docs: add package-updater design spec
Initial design spec for package-updater service:
- Go HTTP service triggered by Gitea Actions webhook
- Discovers Compose-managed containers via Docker labels
- Two-gate security: bearer token + opt-in label
- Stateless, single-worker, no rollback in v1
- Loki structured logs + Prometheus metrics
- Reusable composite Gitea action
Decisions reached via brainstorming session 2026-05-22.
|
2026-05-22 10:57:52 +02:00 |
|