claude-timemachine
b995e012be
automc ui: relative api paths so /infra/mc-router/ proxying works
...
CI / validate (push) Successful in 13s
CI / docker (push) Successful in 10s
Same fix as svc-proxy: absolute /api/* hit the server-manager origin
when the UI is reverse-proxied at /infra/mc-router/. Switch to ./api/*
so the requests stay under the proxied prefix.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-10 18:35:00 +02:00
claude-timemachine
e2ce0453fa
automc: operator UI on AUTOMC_UI_BINDING
...
CI / validate (push) Successful in 12s
CI / docker (push) Successful in 15s
Adds a separate HTTP server (not the upstream API on :25590) for the
operator dashboard. Single-page UI with two panes:
* routes table — current pg-synced mappings, polled every 2s
* logs — SSE stream backed by a logrus hook + 500-entry ring buffer
Opt-in via AUTOMC_UI_BINDING (e.g. ":8082"); unset = no-op, behaves
exactly like upstream. Designed to live behind server-manager's
/infra/mc-router/* reverse-proxy.
Patch is internal/automc-only, same fork philosophy as the rest —
upstream files stay verbatim.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-10 18:03:48 +02:00
claude-timemachine
004ee6dbfd
automc: drop waker gate on backend-down predefined status
...
CI / validate (push) Successful in 38s
CI / docker (push) Successful in 16s
Previously, the predefined "asleep" MOTD response on backend-dial-failure
was only served when the route had a waker registered. For static fleets
(no auto-scale) the gate left clients with a silently-closed TCP socket on
status-pings whenever the backend was down — they couldn't tell whether
the route was wrong, the host was offline, or the proxy was down.
Drop the `waker != nil` gate so any known route's dial-failure on
NextState=Status falls back to the configured asleep/loading MOTD. The
existing per-route override + global AUTO_SCALE_ASLEEP_MOTD chain handles
the actual text. Login attempts still close silently as before — only
status pings get the fallback.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-08 18:24:32 +02:00
claude-timemachine
7884fb1c5f
automc: schema-fit query + CI + FORK doc
...
CI / validate (push) Successful in 47s
CI / docker (push) Successful in 44s
- 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.
2026-05-27 22:57:51 +02:00
claude-timemachine
657fca325e
automc: pg LISTEN/NOTIFY route source + HTTP waker
...
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.
2026-05-27 11:10:02 +02:00
Caedis
74d0c40022
Convert docker polling to event listening ( #548 )
release / release (push) Failing after 0s
v1.42.1
2026-05-09 12:33:04 -05:00
dependabot[bot]
982a8b8bd9
build(deps): bump github.com/fsnotify/fsnotify from 1.9.0 to 1.10.1 ( #549 )
2026-05-06 11:21:29 -05:00
Caedis
84d7feb357
Add timezone support ( #550 )
2026-05-05 13:47:32 -05:00
dependabot[bot]
2e6d68aade
build(deps): bump the k8s group with 3 updates ( #545 )
2026-04-20 20:47:12 -06:00
Geoff Bourne
6f470761a5
deps: upgrade to Go 1.26.2 ( #544 )
2026-04-18 16:13:31 -05:00
dependabot[bot]
f9127aaa39
build(deps): bump golang.org/x/text from 0.35.0 to 0.36.0 ( #543 )
2026-04-14 08:42:43 -05:00
dependabot[bot]
358dcdfbe0
build(deps): bump golang.org/x/text from 0.34.0 to 0.35.0 ( #537 )
...
Bumps [golang.org/x/text](https://github.com/golang/text ) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.34.0...v0.35.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-version: 0.35.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 18:15:31 -05:00
dependabot[bot]
2796d92948
build(deps): bump the k8s group with 3 updates ( #540 )
...
Bumps the k8s group with 3 updates: [k8s.io/api](https://github.com/kubernetes/api ), [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery ) and [k8s.io/client-go](https://github.com/kubernetes/client-go ).
Updates `k8s.io/api` from 0.33.4 to 0.35.2
- [Commits](https://github.com/kubernetes/api/compare/v0.33.4...v0.35.2 )
Updates `k8s.io/apimachinery` from 0.33.4 to 0.35.2
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.33.4...v0.35.2 )
Updates `k8s.io/client-go` from 0.33.4 to 0.35.2
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md )
- [Commits](https://github.com/kubernetes/client-go/compare/v0.33.4...v0.35.2 )
---
updated-dependencies:
- dependency-name: k8s.io/api
dependency-version: 0.35.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: k8s
- dependency-name: k8s.io/apimachinery
dependency-version: 0.35.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: k8s
- dependency-name: k8s.io/client-go
dependency-version: 0.35.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: k8s
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 07:17:18 -05:00
Louis Wehmschulte
6c5288a5f8
Add ScalingTarget to Routes API response ( #541 )
release / release (push) Failing after 0s
v1.42.0
2026-04-04 12:21:09 -05:00
Geoff Bourne
f43f2786d0
Group k8s updates in dependabot ( #539 )
2026-03-17 11:13:06 -05:00
Geoff Bourne
7a093007bc
Go version needed to be pinned in go.mod ( #538 )
2026-03-17 11:03:02 -05:00
Geoff Bourne
b6e6114c56
Added --log-level option ( #531 )
2026-03-17 08:06:07 -05:00
Bastian Wagner
5c7f5d7b36
feat: show asleep or loading motd for k8s servers ( #535 )
2026-03-09 18:22:53 -05:00
Geoff Bourne
6d82553a65
Don't spam warnings when stopped container discovered ( #530 )
2026-02-27 07:08:39 -06:00
Lenart Kos
2023e73892
Fix docker scaling and show loading MOTD ( #529 )
...
* fix: Reduce log spam for sleeping servers
* fix: Fix autodownscaling for initial player connection
* fix: Instant route updating when a docker container is downscaled
* feat: Show asleep or loading motd while the server is waking up
2026-02-25 20:46:51 -06:00
Geoff Bourne
ea6419bece
Add GitHub Actions workflow for issue notifications ( #528 )
2026-02-21 16:59:01 -06:00
dependabot[bot]
63e7625ed7
build(deps): bump golang.org/x/text from 0.33.0 to 0.34.0 ( #522 )
2026-02-15 22:53:13 -06:00
dependabot[bot]
d2d3433f69
build(deps): bump github.com/pires/go-proxyproto from 0.10.0 to 0.11.0 ( #523 )
...
Bumps [github.com/pires/go-proxyproto](https://github.com/pires/go-proxyproto ) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/pires/go-proxyproto/releases )
- [Commits](https://github.com/pires/go-proxyproto/compare/v0.10.0...v0.11.0 )
---
updated-dependencies:
- dependency-name: github.com/pires/go-proxyproto
dependency-version: 0.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-15 21:19:48 -06:00
Geoff Bourne
8f4b64a9eb
Use duration type for options for Docker auto-scaling delays ( #524 )
2026-02-15 20:12:53 -06:00
Chris Farhood
21f349c2da
Allow mc-router to scale a backend StatefulSet while routing traffic to a proxy via proxyServerName ( #512 )
2026-02-13 07:07:27 -06:00
dependabot[bot]
1f86f88536
build(deps): bump github.com/pires/go-proxyproto from 0.9.2 to 0.10.0 ( #517 )
2026-02-08 19:20:18 -06:00
dependabot[bot]
4e8abb2f7e
build(deps): bump github.com/pires/go-proxyproto in the patches group ( #513 )
2026-02-02 07:10:42 -06:00
dependabot[bot]
c27902711f
build(deps): bump github.com/pires/go-proxyproto from 0.8.1 to 0.9.1 ( #510 )
2026-01-25 21:22:20 -06:00
Lenart Kos
4df81f032d
Fix race condition during first connection ( #509 )
2026-01-21 17:09:35 -06:00
dependabot[bot]
be1163e201
build(deps): bump github.com/sirupsen/logrus in the patches group ( #508 )
2026-01-19 08:38:32 -06:00
dependabot[bot]
9a682c1f35
build(deps): bump golang.org/x/text from 0.30.0 to 0.33.0 ( #504 )
2026-01-18 07:32:59 -06:00
Jacob Schuler
a0eee38519
Add svc-router to README Community Solutions ( #503 )
2026-01-09 21:22:03 -06:00
Jasper
9cc25e4127
Expose rate limit bucket tokens as metric ( #502 )
2026-01-03 21:43:46 -06:00
Geoff Bourne
abdb3c8b6e
Update devcontainer to support docker auto-discovery ( #501 )
2025-12-22 21:24:22 -06:00
Jacob Schuler
0938276368
Modify Dockerfile to add cache volumes ( #500 )
2025-12-22 21:00:05 -06:00
Jacob Schuler
bd2a9dfda3
add back arm/v6 docker images ( #496 )
2025-12-21 11:21:07 -06:00
Geoff Bourne
19d56161f5
With k8s correctly handle disabled auto-scale up case ( #495 )
2025-12-21 09:24:32 -06:00
Jacob Schuler
4fbaa59e3c
update goreleaser to use docker_v2 format ( #493 )
2025-12-20 18:16:14 -06:00
Lenart Kos
4dff00dda9
Docker auto-scale and asleep motd status ( #488 )
2025-12-20 13:31:34 -06:00
Geoff Bourne
b67d0985dc
Use Docker API version auto negotiation ( #486 )
2025-11-28 11:20:10 -06:00
Geoff Bourne
ecbc6638d2
Revert "Add MC-Router-GUI to Communtiy Solutions ( #477 )" ( #478 )
...
This reverts commit 35316f1b1e .
2025-11-19 08:00:44 -08:00
Jacob Witt
35316f1b1e
Add MC-Router-GUI to Communtiy Solutions ( #477 )
2025-11-19 09:56:43 -06:00
Lime
dbb334474d
Add support for infinity-filter ( #476 )
2025-11-18 21:13:45 -06:00
Geoff Bourne
fcfa29f75a
Update copyright year in LICENSE file ( #475 )
2025-11-14 19:54:02 -06:00
Jasper
305edb3842
docs: add community solution ( #474 )
2025-11-13 16:07:21 -06:00
Geoff Bourne
d23874901b
Added a community solutions section ( #473 )
2025-11-13 07:27:25 -06:00
dependabot[bot]
200da4f52d
build(deps): bump github.com/docker/docker ( #471 )
2025-11-09 19:32:16 -06:00
dependabot[bot]
616d6d72c9
build(deps): bump github.com/itzg/go-flagsfiller from 1.16.0 to 1.17.0 ( #469 )
...
Bumps [github.com/itzg/go-flagsfiller](https://github.com/itzg/go-flagsfiller ) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/itzg/go-flagsfiller/releases )
- [Commits](https://github.com/itzg/go-flagsfiller/compare/v1.16.0...v1.17.0 )
---
updated-dependencies:
- dependency-name: github.com/itzg/go-flagsfiller
dependency-version: 1.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-26 22:13:51 -05:00
Supratim Ghose
22ec39b805
feat: support newline and comma-whitespace external host lists for auto-discovery ( #468 )
2025-10-24 16:48:34 -05:00
dependabot[bot]
4b5cb125e4
build(deps): bump golang.org/x/text from 0.29.0 to 0.30.0 ( #464 )
2025-10-23 07:03:23 -05:00