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.
89 lines
1.6 KiB
JSON
89 lines
1.6 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"
|
|
]
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"noop@internal": {
|
|
"status": "enabled"
|
|
}
|
|
}
|
|
}
|