Documentation
¶
Overview ¶
Package sharedgateway names the Gateway object the Deckhouse modules attach their own Gateway API routes to.
helm_lib_module_gateway (helm_lib/charts/deckhouse_lib_helm/templates/_module_gateway.tpl) is where every module reads that name from, and this package answers the same question in Go for the hooks that cannot call a Helm template. templates/reserved-public-hosts.yaml calls the helper itself and publishes the answer in the ConfigMap, and template_tests/reserved_public_hosts_test.go compares the two so that they cannot drift: an exemption that named a different object from the one the platform attaches to would either leave the shared Gateway unwritable or exempt something else.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ref ¶
Ref is a Gateway object by identity. Hostnames have nothing to do with it: the reservation lets this one object through because of what it is, not because of what it claims.
func Resolve ¶
Resolve picks the Gateway helm_lib_module_gateway would pick. Each argument is one of the three places that helper looks, in its order of precedence, and nil says the key is absent there.
A reference missing either half yields no Gateway, and the places after it are not consulted -- which is the helper's behaviour and not an accident of it: a half-written reference is one the platform attaches nothing to either, so nothing about it should be exempt from anything. The global schema requires both halves (global-hooks/openapi/config-values.yaml, global.modules.gatewayAPIGateway), so this is what a chart rendered without that schema does, while global-hooks/discovery/default_gateway.go writes both halves empty whenever it finds no gateway to discover.
func (Ref) Is ¶
Is reports whether the object is that Gateway. An incomplete reference is no object.
func (Ref) String ¶
String is the spelling the sharedGateway key of the d8-reserved-public-hosts ConfigMap carries, which is namespace/name -- the same spelling the default-gateway ConfigMap in d8-alb uses. It is empty for anything but a complete reference, so that "no shared Gateway" cannot read as "every object".