milestone 11: systemd and docker packaging, operator and architecture docs, config and api reference, docs drift guards

This commit is contained in:
2026-08-02 15:24:10 +02:00
parent a589df7515
commit bdb6ffab7a
29 changed files with 1936 additions and 94 deletions
@@ -10,8 +10,7 @@ import type { Settings, SettingsPatch } from "@/lib/types";
function baseSettings(): Settings {
return {
runtime: { io_backend: "threaded" },
upstream: { connect_timeout_ms: 2000, read_timeout_ms: 3000, total_timeout_ms: 5000 },
upstream: { read_timeout_ms: 3000, total_timeout_ms: 5000 },
dns: { bind_ipv4: "0.0.0.0", bind_ipv6: "::", port: 53, rate_limit: 100, rate_window_seconds: 60 },
blocking: { response: "zero", ttl: 300 },
cache: { size: 10000, negative_ttl_max: 300 },
@@ -33,12 +33,10 @@ const TLS_FIELDS: readonly FieldDef[] = [
];
const SECTIONS: readonly SectionDef[] = [
{ section: "runtime", title: "Runtime", fields: [{ key: "io_backend", kind: ["threaded", "evented"] }] },
{
section: "upstream",
title: "Upstream",
fields: [
{ key: "connect_timeout_ms", kind: "number" },
{ key: "read_timeout_ms", kind: "number" },
{ key: "total_timeout_ms", kind: "number" },
],
+1 -2
View File
@@ -3,8 +3,7 @@ import type { Settings } from "@/lib/types";
function baseSettings(): Settings {
return {
runtime: { io_backend: "threaded" },
upstream: { connect_timeout_ms: 2000, read_timeout_ms: 3000, total_timeout_ms: 5000 },
upstream: { read_timeout_ms: 3000, total_timeout_ms: 5000 },
dns: { bind_ipv4: "0.0.0.0", bind_ipv6: "::", port: 53, rate_limit: 100, rate_window_seconds: 60 },
blocking: { response: "zero", ttl: 300 },
cache: { size: 10000, negative_ttl_max: 300 },
-1
View File
@@ -1,7 +1,6 @@
import type { Settings, SettingsPatch } from "@/lib/types";
const SECTIONS = [
"runtime",
"upstream",
"dns",
"blocking",
-5
View File
@@ -313,11 +313,7 @@ export interface TlsListenerSettings {
}
export interface Settings {
runtime: {
io_backend: "threaded" | "evented";
};
upstream: {
connect_timeout_ms: number;
read_timeout_ms: number;
total_timeout_ms: number;
};
@@ -388,7 +384,6 @@ export interface TlsListenerPatch {
/** Partial update; `web.password` is write-only, `web.auth_enabled` is never sent. */
export interface SettingsPatch {
runtime?: Partial<Settings["runtime"]>;
upstream?: Partial<Settings["upstream"]>;
dns?: Partial<Settings["dns"]>;
blocking?: Partial<Settings["blocking"]>;