A DNS name like *.home.hrajfrisbee.cz put "*" into the listener name; the
API server rejected the patch, which blocked every certificate on that
Gateway.
- lowercase the DNS part, spell "*" as "wildcard", map other characters
outside [a-z0-9] to "-"
- names over 253 chars are cut and get a hash suffix instead of a blind cut
- names that were valid before are unchanged
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ci: reject a manual dispatch with tag "latest"; concurrency group per tag
- Dockerfile: declare GIT_COMMIT after the module download layer
- Makefile: docker-build targets linux/amd64 by default
- patch.go: no shared package-level pointers; main.go: no init()
- tests: assert that merge replaces managed listener content
- docs: flows.md startup section matches main.go; review saved to docs/reviews
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- module path is now gitea.home.hrajfrisbee.cz/kacerr/gatewayapi-certificates-operator
- internal/version resolves the commit from ldflags or Go build info;
--version prints it and the first log line carries it
- --metrics-bind-address is passed to the manager instead of being dropped
- Dockerfile takes GIT_COMMIT, honours TARGETARCH, labels the image revision
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- CLAUDE.md in five sections with Go, testing, plan, changelog, branching
and tagging rules; known sharp edges moved to Gotchas
- docs/flows.md: metrics are served on :8080, name collisions are rejected
by the API server, last-cert deletion never cleans up
- README moved to the repo root, deploy command corrected
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>