Commit Graph
20 Commits
Author SHA1 Message Date
mats 340b4eaf80 Enforce upstream attempt and overall query deadlines
build / build-push (push) Successful in 35s
The initial upstream exchange ignored its supplied timeout and used hardcoded client limits. Bound each attempt with a context, copy the shared client for its timeout, and share the attempt budget with UDP-to-TCP fallback. Close private connections on cancellation to interrupt reads, and exclude caller cancellation from upstream failures so parallel losers remain healthy.

The normal engine pipeline never applied server.timeouts.query, allowing failover to outlive the configured query budget. Apply a hot-reloaded overall context deadline at Handle while retaining earlier caller deadlines. Add silent UDP/TCP/TLS, cancellation, fallback, failover, and reload regressions.

The server inflight test assumed receiving a TCP reply meant its sent counter had already been incremented. Wait for both completion counters before asserting them, preserving the existing assertions while removing the scheduling race.
2026-10-03 19:06:57 +02:00
mats 32b214fac0 one replica for now
build / build-push (push) Successful in 35s
2026-09-29 12:22:01 +02:00
mats d48c1863bf more config
build / build-push (push) Successful in 24s
2026-09-28 21:34:59 +02:00
mats 0b6dcbd547 overrides
build / build-push (push) Successful in 29s
2026-09-28 16:25:55 +02:00
mats 98b65945f6 Label DNS policy redirects accurately
build / build-push (push) Successful in 30s
The query log classified every non-drop blocklist match as a block, even when an RPZ A or CNAME rule returned a successful redirect. Record redirect results with their own action so NOERROR address overrides are not presented or counted as blocked. Expose the new action in the Logs filter.
2026-09-28 15:48:07 +02:00
mats 87b6946ab7 Support RPZ address overrides for local DNS
build / build-push (push) Successful in 30s
RPZ A records were parsed as address redirects, but the query pipeline treated the address as a CNAME target and returned the wrong result. Answer IP-literal redirects directly with the matching A or AAAA record, and return NODATA for other query types.

Add the requested EdgeRouter domain overrides as a local RPZ source so each bare owner covers its apex and all subdomains. Mount that source into the pods and document the address-record form. When the Zones page has no existing zone, start the Add Record form in New zone mode and tell the operator to enter its apex.
2026-09-28 15:37:46 +02:00
mats 47ef5c1133 Schedule fancy-dns on amd64 nodes
build / build-push (push) Successful in 21s
The published image is built for amd64 only, but the StatefulSet had no architecture constraint and could be scheduled on arm64 nodes. Restrict pods to Kubernetes amd64 nodes so every replica can run the image.
2026-09-28 15:15:03 +02:00
mats 64cf99121c Enable console-managed Kubernetes zones
build / build-push (push) Successful in 24s
The Kubernetes config left blocklist.managed_zones empty, so the Zones page was read-only even though the pod has a writable persistent data volume. Configure a managed-zone directory on that volume so the console can create and update zone records; existing local_zones files remain operator-owned and read-only.
2026-09-28 15:13:49 +02:00
mats f488727508 update deployment
build / build-push (push) Successful in 29s
2026-09-28 15:05:21 +02:00
mats 32f940b763 Add UI editing for local DNS zones
build / build-push (push) Successful in 29s
Local zones were only editable as mounted files, so operators could not manage DNS entries from the console. Add a Local zones editor backed by a shared Kubernetes ConfigMap, validate master files before saving, scope the pod service account to that ConfigMap, and reload changed zones on every replica while flushing stale cache entries.
2026-09-28 08:50:50 +02:00
mats 2a7ac824f7 Send push event header to GitOps webhook
build / build-push (push) Successful in 34s
The post-build webhook returned success while ignoring the delivery because it omitted X-Gitea-Event: push. As a result, GitSource kept the prior revision and the published console image was never reconciled. Add the event header so the signed notification is queued only after the image has been published.
2026-09-27 22:53:45 +02:00
mats 52ec290055 Fix console assets on nested routes
build / build-push (push) Successful in 29s
The relative Vite base made BrowserRouter pages request JavaScript and CSS under /auth/assets. The SPA fallback returned index.html for those paths, so the browser never mounted React and the sign-in page appeared blank. Emit root-relative asset URLs so every client-side route loads the embedded console bundle.
2026-09-27 22:51:04 +02:00
mats 2348d2e4b4 add
build / build-push (push) Successful in 30s
2026-09-27 22:32:03 +02:00
mats d53552f855 deploy: use cluster registry pull secret
build / build-push (push) Successful in 21s
2026-09-27 21:56:50 +02:00
mats 3a199bb310 fix
build / build-push (push) Failing after 30s
2026-09-27 21:15:20 +02:00
mats 1d3d7d16d1 update ci
build / build-push (push) Failing after 20s
2026-09-27 21:13:35 +02:00
mats 1e67a5d0f9 update deployment
build / build-push (push) Failing after 30s
2026-09-27 17:29:08 +02:00
mats e1026b87db fix cd
build / build-push (push) Failing after 30s
2026-09-27 16:44:32 +02:00
mats f70f28839f fix ci 2026-09-27 16:30:16 +02:00
mats 5b935301e5 first commit 2026-09-27 11:44:33 +02:00