Added
- Periodic Reconciliation Timer: Implemented the missing periodic reconciliation loop
- Uses
DNSWEAVER_RECONCILE_INTERVALsetting (default: 60 seconds) - Acts as a safety net for any missed Docker events
- Ensures containers with slow restarts don't get their DNS records deleted prematurely
- The config value existed since v0.1.0 but the timer was never wired up (oversight in initial implementation)
- Uses
Changed
- Package Structure Refactor (#61): Moved source implementations to root-level
sources/directorypkg/source/traefik/→sources/traefik/for consistency withproviders/structure- Import path changed:
gitlab.bluewillows.net/root/dnsweaver/sources/traefik - Internal interfaces remain in
pkg/source/(no breaking changes for external consumers)
Fixed
- CI: Trivy security scan fails (#59): Fixed container entrypoint issue
- The
aquasec/trivy:latestimage has trivy as entrypoint, causing "unknown command sh" error - Added explicit entrypoint override in GitLab CI configuration
- The
- CI: Lint job errors (#60): Fixed all golangci-lint errors
- Fixed unchecked error returns in test files (errcheck)
- Fixed deprecated Docker types:
types.ServiceListOptions→swarm.ServiceListOptions(staticcheck SA1019) - Removed unused
printUsagefunction and mock types - Fixed unnecessary nil check before len() (gosimple S1009)
Docker Images
docker pull ghcr.io/maxfield-allison/dnsweaver:v0.3.3
docker pull docker.io/maxamill/dnsweaver:v0.3.3