32 Commits

Author SHA1 Message Date
shcizo 476945722b Merge pull request 'ci: docker build + push workflow on v* tags' (#2) from feat/ci-docker-build into main
Docker Build / docker (push) Successful in 51s
v0.1.0
2026-05-22 14:09:02 +02:00
shcizo 2494e71969 ci: docker build + push on v* tags 2026-05-22 14:02:45 +02:00
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