feat(cmd): add a standalone gateway binary and container image

cmd/gateway runs the middleware as its own HTTP server behind Traefik.
It reads a YAML config, converts it to JSON and decodes it with
DisallowUnknownFields, so a misspelled key stops startup. It warns
when metrics.allowedCIDRs is set, because behind a proxy the source
address is the proxy's.

The Makefile gains build-binary, docker-build and run-local targets.
The Dockerfile builds from the committed vendor tree and stamps
main.version from the VERSION build argument. go.mod lists
go.yaml.in/yaml/v3 as a direct dependency.

Claude-Session: https://claude.ai/code/session_01V5jYJNxpDFdJkyyExpADrv
This commit is contained in:
2026-09-23 09:44:32 +01:00
parent 4a70daa8b8
commit a593b6fc70
8 changed files with 1592 additions and 2 deletions
+1 -1
View File
@@ -7,4 +7,4 @@ require (
github.com/stretchr/testify v1.12.1
)
require go.yaml.in/yaml/v3 v3.0.5 // indirect
require go.yaml.in/yaml/v3 v3.0.5