pub const GATEWAY_API_KEY_VALUE: &'static str;Expand description
Canonical K8s Gateway API v1 HTTPPathMatch scalar-payload axis key
every gateway_routes-emitted HTTPRoute per-match path block
mounts its per-match request-path-selection scalar payload under
(spec.rules[].matches[].path.value). Re-export of the canonical
caixa_core::GATEWAY_API_KEY_VALUE so the Gateway-API-
implementation-side per-HTTPPathMatch scalar-payload-axis-key
string lives in exactly one place across every caixa renderer —
caixa-mesh’s gateway_routes per-Aplicacao HTTPRoute emitter
(the per-match path_match.insert("value", …) call the prior
inline "value" literal sat at, seeded from the Aplicacao’s
:entrada :paths slot) and every future per-Gateway-API-side
renderer the M3.x absorption roadmap acknowledges now consult the
same &'static str, so a future Gateway API rebrand on the
per-HTTPPathMatch scalar-payload axis (an upstream Gateway API
v2 rename to path / pattern / expression, coordinated with
the upstream SIG-Network Gateway API deprecation cycle) is a
one-line edit on the canonical
caixa_core::GATEWAY_API_KEY_VALUE declaration, not a
coordinated rewrite across this crate’s gateway_routes renderer
- every future per-target renderer the substrate adds. The prior
inline literal at the one production emitter site would have let
a Gateway-API-CRD per-
HTTPPathMatch-value-axis rebrand or a per-emitter typo ("path"/"pattern"/"expression") silently emit anHTTPRoutewhose per-match request-path scalar the Gateway API CRD schema validator drops as unknown — the per-match path predicate degrades to the wildcard match at the gateway-class-controller’s per-rule reconcile, the rule matches every request path unconditionally, and every external:entradapath filter the rule was authored to enforce drops with no field naming theHTTPPathMatch-scalar-payload-drift root cause. Peer to theGATEWAY_API_KEY_PATHre-export on the sibling canonical-Gateway-API-HTTPRoute-per-HTTPRouteMatch-body-axis surface — nests the per-Gateway-API-HTTPRoute-per-match-body-axis canonical-string re-export set (pathcontainer-axis,valuescalar-payload key) one level deeper onto the per-HTTPPathMatchbody-axis surface this crate’sgateway_routesrenderer’s external:entradaingress contract rests on across the Gateway API HTTPRoute-side per-match body-shape. Canonical K8s Gateway API v1HTTPPathMatchvaluescalar-axis key everygateway_routes-emittedHTTPRouteper-matchpathblock mounts its request-path-selection scalar payload under (spec.rules[].matches[].path.value). Nests one level beneath the siblingGATEWAY_API_KEY_PATHper-HTTPRouteMatchpath-matcher container-axis it hangs off of — the Gateway API v1 CRD schema pins per-HTTPPathMatchrequest-path selection through the{type, value}two-axis pair (aGATEWAY_API_PATH_MATCH_TYPE_PATH_PREFIX-typedtypediscriminator picksExact | PathPrefix | RegularExpression; thevaluescalar carries the per-match request-path string the discriminator is applied against), so drift on thevaluescalar axis is exactly as load-bearing as drift on the peertypediscriminator axis it nests alongside (the K8s apiserver-side Gateway API CRD schema validator drops any per-match block whoseHTTPPathMatchscalar-payload axis carries an unrecognized key — a"path"/"prefix"/"pattern"typo silently emits anHTTPRoutewhose per-match request-path predicate the Gateway API implementation’s per-rule L7 dispatch loop treats as bare (no value evaluated against thetypediscriminator), the match degrades to the wildcard predicate at the gateway-class- controller’s per-rule reconcile, the rule matches every request path unconditionally, and every external:entradapath filter the rule was authored to enforce drops with no field naming theHTTPPathMatch-scalar-payload-drift root cause).
The single source of truth the rendered Aplicacao Gateway-API-side
ingress bundle’s per-HTTPPathMatch scalar-payload-axis-naming
reaches for:
- the rendered
HTTPRoutedocument’s per-matchspec.rules[].matches[].path.valueaxis (caixa-mesh/src/lib.rs — thegateway_routesper-AplicacaoHTTPRoute’s per-matchpath_match.insert("value", …)call seeded from the Aplicacao’s:entrada :pathsslot).
The per-HTTPPathMatch scalar-payload axis names the same
Gateway-API-implementation-side per-match request-path-selection
scalar as the sibling GATEWAY_API_KEY_PATH per-HTTPRouteMatch
path-matcher container-axis it nests inside of, and must move
together on any future Gateway API rebrand (an upstream
SIG-Network Gateway API v2 rename of the HTTPPathMatch scalar-
payload axis from value to path / pattern / expression,
coordinated with the Gateway API deprecation cycle). Until this
lift landed the axis carried an inline "value" literal at the
one production-code occurrence in caixa-mesh/src/lib.rs (the
gateway_routes per-match path_match.insert("value", …) call) —
one occurrence of the same load-bearing Gateway-API-CRD-
HTTPPathMatch-value-axis-key convention, drift-prone by
construction. A drift on the production site to "path" /
"prefix" / "pattern" would have surfaced as a Gateway API
implementation-side schema validator drop at apply time (the
affected per-match HTTPPathMatch scalar-payload axis the CRD
schema validator recognizes as unknown), with the per-match path
predicate degrading to the wildcard match at the gateway-class-
controller’s per-rule reconcile with no field naming the
HTTPPathMatch-scalar-payload-drift root cause.
The PRIME DIRECTIVE duplication-budget rule (THEORY.md §I.3.5,
“every recurring shape becomes a generator before it becomes a
pattern; every pattern becomes a library before it becomes
duplicated code. The duplication budget is zero.”) promotes the
constant to a typed substrate-side &'static str on the same
trajectory the GATEWAY_API_KEY_PATH (9f45aa4) /
GATEWAY_API_KEY_MATCHES (b9ede1a) /
GATEWAY_API_KEY_BACKEND_REFS (a6c5679) /
GATEWAY_API_KEY_PARENT_REFS (f44e823) /
GATEWAY_API_KEY_LISTENERS (29f2415) /
GATEWAY_API_KEY_HOSTNAMES (b77f744) /
GATEWAY_API_KEY_HOSTNAME (c96fa22) /
GATEWAY_API_KEY_TIMEOUTS (db31108) /
GATEWAY_API_KEY_RETRY (231bbf5) /
GATEWAY_API_KEY_GATEWAY_CLASS_NAME (1bc727d) lifts established
on the sibling canonical-Gateway-API-body-axis surfaces — nests
the per-Gateway-API-HTTPRoute-per-match-body-axis canonical-
string-pin set (path container-axis, type discriminator
scalar-key, value scalar-payload key) two levels deeper onto the
per-HTTPPathMatch body-axis surface, so both halves of the
HTTPPathMatch.{type, value} typed contract now thread one lifted
&'static str apiece at the substrate boundary alongside the
parent-container-axis key. The render-side consumer now threads
the same &'static str through its path_match.insert(…) call
so a future Gateway API rebrand on the HTTPPathMatch scalar-
payload axis (or an upstream SIG-Network Gateway API v2 rename to
a per-HTTPPathMatch sibling name) lands in one place; every
future renderer that reaches for the canonical per-HTTPPathMatch
scalar-payload axis (the future M4
mesh.pleme.io/v1alpha1/Aplicacao CR materializer’s per-Aplicacao
HTTPRoute fan-out, a future per-edge GRPCRoute renderer whose
per-match GRPCMethodMatch.method scalar-payload nests alongside
this same axis, a future per-match header-match / query-match
renderer whose per-predicate HTTPHeaderMatch.value /
HTTPQueryParamMatch.value scalar-payload binds against sibling
axes on the same value axis-key) inherits the same value by
construction with no opportunity for per-renderer drift.