Commit Graph

1671 Commits

Author SHA1 Message Date
bvandeusen 7077614116 feat(skel): multi-stage Dockerfile for minstrel runtime
Builder uses golang:1.23-bookworm (matches runner-base:go-ci).
Runtime is debian:bookworm-slim with ffmpeg (server spec §3) plus a
non-root minstrel user. Release workflow builds from this Dockerfile.
2026-04-18 21:20:54 +00:00
bvandeusen ff7cd8d38b feat(skel): placeholder migration so embed.FS has a file to index 2026-04-18 21:20:45 +00:00
bvandeusen 9b9e0e4011 test(db): verify migrations stub loads embedded files and returns ErrNotConfigured 2026-04-18 21:20:40 +00:00
bvandeusen 58fa790b2b feat(skel): db package with embedded migrations stub
Establishes the embed.FS and migrations/ layout up front. Migrate()
returns ErrNotConfigured intentionally — the real goose runner lands in
M2 alongside Postgres work, avoiding a toolchain bump to Go 1.24/1.25
through goose's transitive modernc.org/libc dependency chain.
2026-04-18 21:20:34 +00:00
bvandeusen 4dbf02d645 test(server): verify /healthz returns 200 with {"status":"ok"} 2026-04-18 21:20:23 +00:00
bvandeusen 16f2fc2ce4 feat(skel): chi router with RequestID/Recoverer middleware and /healthz 2026-04-18 21:20:17 +00:00
bvandeusen d206f9281f feat(skel): slog logger factory with text|json format and level parsing 2026-04-18 21:20:10 +00:00
bvandeusen a29d876ac4 test(config): cover defaults, YAML load, missing file, env overrides 2026-04-18 21:20:02 +00:00
bvandeusen d2d8612e06 feat(skel): config loader with YAML + SMARTMUSIC_* env overlay 2026-04-18 21:19:50 +00:00
bvandeusen be181f8245 feat(skel): add cmd/minstrel entrypoint
Parses --config / SMARTMUSIC_CONFIG, loads YAML config with env overlay,
initializes slog, starts the chi HTTP server, and shuts down cleanly on
SIGINT/SIGTERM.
2026-04-18 21:19:39 +00:00
bvandeusen f98b9f66aa feat(skel): add go.sum for initial dependency set 2026-04-18 21:19:26 +00:00
bvandeusen 417e3d05dd feat(skel): add go module definition
Initial module at git.fabledsword.com/bvandeusen/minstrel pinned to go
1.23.0 to match the runner-base:go-ci image. Dependencies kept minimal
(chi router, yaml.v3) so CI's first run is fast and contained.
2026-04-18 21:19:17 +00:00
bvandeusen 8b9f57128a ci: add release workflow for image build + push on main and v* tags 2026-04-18 19:21:38 +00:00
bvandeusen 83d71f6703 ci: re-trigger test workflow against rebuilt go-ci image 2026-04-18 19:07:30 +00:00
bvandeusen fa5a24140b ci: slim test workflow to lint + unit tests, drop Postgres service 2026-04-18 18:50:31 +00:00
bvandeusen 078e6e989b ci: retarget test workflow to go-ci runner label 2026-04-18 18:17:16 +00:00
bvandeusen fba1366537 ci: add Forgejo Actions test workflow with Postgres service 2026-04-18 18:07:50 +00:00
bvandeusen e1bfbaa3ea docs: expand README with spec links and dev workflow 2026-04-18 18:05:38 +00:00
bvandeusen 419c0b6f4c docs: seed client spec on dev 2026-04-18 17:58:00 +00:00
bvandeusen 5861c146f7 docs: seed server spec on dev 2026-04-18 17:56:28 +00:00
bvandeusen 68912e60f7 Initial commit 2026-04-18 17:33:35 +00:00