- pgsync.go: filter rows where enabled IS NOT FALSE and domain IS NOT NULL,
matching the existing automc servers table (domain nullable, enabled
defaults true). Trigger doc now includes UPDATE OF enabled.
- .gitea/workflows/ci.yaml: build/test on push to automc branch + tags,
publish container as git.timemachine.center/timemachine/mc-router:automc.
- FORK.md: soft-fork relationship doc at repo root.
- docs/AUTOMC.md: quick-start recipe, troubleshooting table,
sync-lifecycle and waker-dispatch sequence diagrams.
Adds opt-in extension package internal/automc/ that:
- Subscribes to Postgres notifications on a 'servers' table and pushes
route changes into server.Routes (no file I/O, no fsnotify).
- Provides a WakerFunc that POSTs to a configurable HTTP control plane
(server-manager) and polls until state=running.
When AUTOMC_DSN is unset, Wire() is a no-op and the binary behaves
exactly like upstream itzg/mc-router. Single patch site in main.go
(import + 4-line call) keeps upstream rebases trivial.
See docs/AUTOMC.md for env vars and the expected DB schema/trigger.
* Code cleanup of routes config loader and API server (#424)
(cherry picked from commit 1ee3eb4de3)
* Refactored server setup and run out of main (#425)
(cherry picked from commit 05c57c3b85)
* Code cleanup in and around connector (#427)
(cherry picked from commit b3e88db48c)
* Update away from deprecated k8s NewInformer
* Tidy up couple of k8s docs examples
* Update the image version in the example file
https://github.com/itzg/mc-router/issues/7
Deployed it with an older version. Works but ends up spiking in CPU usage. Easy to overlook.
Also, for good measure/best practice, added resource request/limit.
* Bad syntax on CPU limit value