pub fn gateway_api_http_route_name(aplicacao: &str, para: &str) -> StringExpand description
Canonical per-:entrada HTTPRoute metadata.name K8s-name-shaped
scalar every caixa-mesh gateway_routes emitter mounts its
per-:entrada HTTPRoute under. Composes the parent Aplicacao’s
:nome and the :entrada :para destination Servico’s :nome on a
canonical - separator (format!("{aplicacao}-{para}")), so the
per-(:aplicacao, :entrada.para) HTTPRoute identity axis lives at
one composer instead of a verbatim inline format!("{}-{}", caixa.nome, entrada.para) at the [caixa_mesh::gateway_routes]
kube_resource_skeleton name: argument.
Peer of cilium_network_policy_name on the sibling per-Aplicacao
per-CR K8s-name-shaped-identity-scalar axis: the CNP name composer
carries the per-(:de, :para) L4/L7 policy CR name and this
composer carries the per-:entrada L7 route CR name; both share
the same “aplicacao-prefixed sub-identity” discipline (a per-CR
identity scalar keyed off the parent Aplicacao’s :nome joined to
the per-CR sub-axis by a canonical - separator) so a future
substrate-side per-Aplicacao Gateway API axis extension
(GRPCRoute on grpc-shaped :contratos payloads once the sibling
[WitTarget] variant lands, TCPRoute on the sibling l4-only
tcp-shaped payload axis, per-:entrada HTTPRouteFilter /
BackendTLSPolicy overlays the Gateway API v1.x per-route policy
extension surface acknowledges) reaches the shared “aplicacao-prefix
- sub-axis + canonical
-separator“ naming discipline through this composer’s peer-shape by construction. Until this lift landed the HTTPRoutemetadata.nameaxis sat as a verbatim inlineformat!("{}-{}", caixa.nome, entrada.para)at the [caixa_mesh::gateway_routes] emitter (with an in-file test-side probe pinning the expectedcheckout-cartshape by verbatim literal), and any future name-encoding rebrand on this axis (<aplicacao>-<para>→<aplicacao>-httproute-<para>for operator-side per-CR-kind disambiguation once the sibling GRPCRoute / TCPRoute lands and their names would otherwise collide,<aplicacao>-<para>→<aplicacao>.<para>on a DNS-1123-subdomain- safe axis migration, a per-namespace scoping prefix for multi-tenant Aplicacao hosting) would have had to be threaded through both sites in lockstep or the HTTPRoutemetadata.namesilently split from the operator-side grep-by-name /kubectl get httproute -n tatara-system <aplicacao>-<para>lookup encoding at apply time far from the source caixa.lisp.
The aplicacao prefix scopes the emitted HTTPRoute to its owning
Aplicacao (so two Aplicacaos hosting a same-named :entrada :para
destination — checkout-cart vs orders-cart — land at distinct
HTTPRoute metadata.names with no kubectl apply collision at the
shared namespace, mirroring the peer CNP metadata.name collision
posture the sibling cilium_network_policy_name composer’s
docstring names).