mirror of
https://github.com/hanzoai/ingress.git
synced 2026-10-26 02:47:15 +00:00
Everything here is a string a human or a customer could read. Three of them were also stale enough to be wrong against the current runtime: - nomad fixtures tagged `traefik.enable=true` while the provider's default prefix has been `ingress` for some time -- the tags matched nothing. Now `ingress.*`, consistent with nomad_test's own cases. - integration rawdata fixtures expected `"entryPoints": ["traefik"]`, but DefaultInternalEntryPointName is `ingress`. - the digestauth compose fixture carried htdigest hashes computed over realm `traefik`, while auth.defaultRealm is `ingress` -- so those credentials could not have authenticated. Recomputed against the real realm: md5(test:ingress:test) and md5(test2:ingress:test2). Also: the CRD fixture that integration actually applies (its `description:` text reaches customers through `kubectl explain`), the repo hero image, a test comment, and a cert-generation note. The CRD descriptions are set to exactly what the (already clean) Go doc comments generate, so a fixed regeneration is a no-op diff. LLM.md is rewritten to match: the ownership table now records direct requires instead of `replace`, and the "intentionally stays" register is corrected -- the digest-realm entry was stale (that file has used realm `ingresser` for a while), and the entries that genuinely stay are stated with the reason they stay: licence attribution, k3s's `--disable=traefik` flag, upstream Docker Hub image addresses, and one upstream issue URL. Two remaining leaks are tracked rather than papered over: the stale `traefik.io_*.yaml` CRD dumps (blocked on a broken code-gen.sh glob) and `OU=Traefik` in the acme test certificate.
285 lines
6.7 KiB
JSON
285 lines
6.7 KiB
JSON
{
|
|
"routers": {
|
|
"api@internal": {
|
|
"entryPoints": [
|
|
"ingress"
|
|
],
|
|
"service": "api@internal",
|
|
"rule": "PathPrefix(`/api`)",
|
|
"ruleSyntax": "default",
|
|
"priority": 9223372036854775806,
|
|
"observability": {
|
|
"accessLogs": true,
|
|
"metrics": true,
|
|
"tracing": true,
|
|
"traceVerbosity": "minimal"
|
|
},
|
|
"status": "enabled",
|
|
"using": [
|
|
"ingress"
|
|
]
|
|
},
|
|
"dashboard@internal": {
|
|
"entryPoints": [
|
|
"ingress"
|
|
],
|
|
"middlewares": [
|
|
"dashboard_redirect@internal",
|
|
"dashboard_stripprefix@internal"
|
|
],
|
|
"service": "dashboard@internal",
|
|
"rule": "PathPrefix(`/`)",
|
|
"ruleSyntax": "default",
|
|
"priority": 9223372036854775805,
|
|
"observability": {
|
|
"accessLogs": true,
|
|
"metrics": true,
|
|
"tracing": true,
|
|
"traceVerbosity": "minimal"
|
|
},
|
|
"status": "enabled",
|
|
"using": [
|
|
"ingress"
|
|
]
|
|
},
|
|
"httproute-default-http-app-1-gw-default-my-gateway-ep-web-0-1c0cf64bde37d9d0df06@kubernetesgateway": {
|
|
"entryPoints": [
|
|
"web"
|
|
],
|
|
"service": "httproute-default-http-app-1-gw-default-my-gateway-ep-web-0-1c0cf64bde37d9d0df06-wrr",
|
|
"rule": "Host(`foo.com`) \u0026\u0026 Path(`/bar`)",
|
|
"ruleSyntax": "default",
|
|
"priority": 100008,
|
|
"observability": {
|
|
"accessLogs": true,
|
|
"metrics": true,
|
|
"tracing": true,
|
|
"traceVerbosity": "minimal"
|
|
},
|
|
"status": "enabled",
|
|
"using": [
|
|
"web"
|
|
]
|
|
},
|
|
"httproute-default-http-app-1-gw-default-my-https-gateway-ep-websecure-0-1c0cf64bde37d9d0df06@kubernetesgateway": {
|
|
"entryPoints": [
|
|
"websecure"
|
|
],
|
|
"service": "httproute-default-http-app-1-gw-default-my-https-gateway-ep-websecure-0-1c0cf64bde37d9d0df06-wrr",
|
|
"rule": "Host(`foo.com`) \u0026\u0026 Path(`/bar`)",
|
|
"ruleSyntax": "default",
|
|
"priority": 100008,
|
|
"tls": {},
|
|
"observability": {
|
|
"accessLogs": true,
|
|
"metrics": true,
|
|
"tracing": true,
|
|
"traceVerbosity": "minimal"
|
|
},
|
|
"status": "enabled",
|
|
"using": [
|
|
"websecure"
|
|
]
|
|
}
|
|
},
|
|
"middlewares": {
|
|
"dashboard_redirect@internal": {
|
|
"redirectRegex": {
|
|
"regex": "^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$",
|
|
"replacement": "${1}/dashboard/",
|
|
"permanent": true
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"dashboard@internal"
|
|
]
|
|
},
|
|
"dashboard_stripprefix@internal": {
|
|
"stripPrefix": {
|
|
"prefixes": [
|
|
"/dashboard/",
|
|
"/dashboard"
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"dashboard@internal"
|
|
]
|
|
}
|
|
},
|
|
"services": {
|
|
"api@internal": {
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"api@internal"
|
|
]
|
|
},
|
|
"dashboard@internal": {
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"dashboard@internal"
|
|
]
|
|
},
|
|
"default-whoami-http-80@kubernetesgateway": {
|
|
"loadBalancer": {
|
|
"servers": [
|
|
{
|
|
"url": "http://10.42.0.4:80"
|
|
},
|
|
{
|
|
"url": "http://10.42.0.6:80"
|
|
}
|
|
],
|
|
"strategy": "wrr",
|
|
"passHostHeader": true,
|
|
"responseForwarding": {
|
|
"flushInterval": "100ms"
|
|
}
|
|
},
|
|
"status": "enabled",
|
|
"serverStatus": {
|
|
"http://10.42.0.4:80": "UP",
|
|
"http://10.42.0.6:80": "UP"
|
|
}
|
|
},
|
|
"httproute-default-http-app-1-gw-default-my-gateway-ep-web-0-1c0cf64bde37d9d0df06-wrr@kubernetesgateway": {
|
|
"weighted": {
|
|
"services": [
|
|
{
|
|
"name": "default-whoami-http-80",
|
|
"weight": 1
|
|
}
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"httproute-default-http-app-1-gw-default-my-gateway-ep-web-0-1c0cf64bde37d9d0df06@kubernetesgateway"
|
|
]
|
|
},
|
|
"httproute-default-http-app-1-gw-default-my-https-gateway-ep-websecure-0-1c0cf64bde37d9d0df06-wrr@kubernetesgateway": {
|
|
"weighted": {
|
|
"services": [
|
|
{
|
|
"name": "default-whoami-http-80",
|
|
"weight": 1
|
|
}
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"httproute-default-http-app-1-gw-default-my-https-gateway-ep-websecure-0-1c0cf64bde37d9d0df06@kubernetesgateway"
|
|
]
|
|
},
|
|
"noop@internal": {
|
|
"status": "enabled"
|
|
}
|
|
},
|
|
"tcpRouters": {
|
|
"tcproute-default-tcp-app-1-gw-default-my-tcp-gateway-ep-footcp-0-e3b0c44298fc1c149afb@kubernetesgateway": {
|
|
"entryPoints": [
|
|
"footcp"
|
|
],
|
|
"service": "tcproute-default-tcp-app-1-gw-default-my-tcp-gateway-ep-footcp-0-e3b0c44298fc1c149afb-wrr",
|
|
"rule": "HostSNI(`*`)",
|
|
"ruleSyntax": "default",
|
|
"priority": -1,
|
|
"status": "enabled",
|
|
"using": [
|
|
"footcp"
|
|
]
|
|
},
|
|
"tcproute-default-tcp-app-1-gw-default-my-tls-gateway-ep-footlsterminate-0-e3b0c44298fc1c149afb@kubernetesgateway": {
|
|
"entryPoints": [
|
|
"footlsterminate"
|
|
],
|
|
"service": "tcproute-default-tcp-app-1-gw-default-my-tls-gateway-ep-footlsterminate-0-e3b0c44298fc1c149afb-wrr",
|
|
"rule": "HostSNI(`*`)",
|
|
"ruleSyntax": "default",
|
|
"priority": -1,
|
|
"tls": {
|
|
"passthrough": false
|
|
},
|
|
"status": "enabled",
|
|
"using": [
|
|
"footlsterminate"
|
|
]
|
|
},
|
|
"tlsroute-default-tls-app-1-gw-default-my-tls-gateway-ep-footlspassthrough-0-e3b0c44298fc1c149afb@kubernetesgateway": {
|
|
"entryPoints": [
|
|
"footlspassthrough"
|
|
],
|
|
"service": "tlsroute-default-tls-app-1-gw-default-my-tls-gateway-ep-footlspassthrough-0-e3b0c44298fc1c149afb-wrr",
|
|
"rule": "HostSNI(`foo.bar`)",
|
|
"ruleSyntax": "default",
|
|
"priority": 7,
|
|
"tls": {
|
|
"passthrough": true
|
|
},
|
|
"status": "enabled",
|
|
"using": [
|
|
"footlspassthrough"
|
|
]
|
|
}
|
|
},
|
|
"tcpServices": {
|
|
"default-whoamitcp-8080@kubernetesgateway": {
|
|
"loadBalancer": {
|
|
"servers": [
|
|
{
|
|
"address": "10.42.0.2:8080"
|
|
},
|
|
{
|
|
"address": "10.42.0.3:8080"
|
|
}
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"serverStatus": {
|
|
"10.42.0.2:8080": "UP",
|
|
"10.42.0.6:8080": "UP"
|
|
}
|
|
},
|
|
"tcproute-default-tcp-app-1-gw-default-my-tcp-gateway-ep-footcp-0-e3b0c44298fc1c149afb-wrr@kubernetesgateway": {
|
|
"weighted": {
|
|
"services": [
|
|
{
|
|
"name": "default-whoamitcp-8080",
|
|
"weight": 1
|
|
}
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"tcproute-default-tcp-app-1-gw-default-my-tcp-gateway-ep-footcp-0-e3b0c44298fc1c149afb@kubernetesgateway"
|
|
]
|
|
},
|
|
"tcproute-default-tcp-app-1-gw-default-my-tls-gateway-ep-footlsterminate-0-e3b0c44298fc1c149afb-wrr@kubernetesgateway": {
|
|
"weighted": {
|
|
"services": [
|
|
{
|
|
"name": "default-whoamitcp-8080",
|
|
"weight": 1
|
|
}
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"tcproute-default-tcp-app-1-gw-default-my-tls-gateway-ep-footlsterminate-0-e3b0c44298fc1c149afb@kubernetesgateway"
|
|
]
|
|
},
|
|
"tlsroute-default-tls-app-1-gw-default-my-tls-gateway-ep-footlspassthrough-0-e3b0c44298fc1c149afb-wrr@kubernetesgateway": {
|
|
"weighted": {
|
|
"services": [
|
|
{
|
|
"name": "default-whoamitcp-8080",
|
|
"weight": 1
|
|
}
|
|
]
|
|
},
|
|
"status": "enabled",
|
|
"usedBy": [
|
|
"tlsroute-default-tls-app-1-gw-default-my-tls-gateway-ep-footlspassthrough-0-e3b0c44298fc1c149afb@kubernetesgateway"
|
|
]
|
|
}
|
|
}
|
|
} |