sharedgateway

package
v1.76.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

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

type Ref struct {
	Namespace string
	Name      string
}

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

func Resolve(module, global, discovered *Ref) Ref

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

func (r Ref) Is(namespace, name string) bool

Is reports whether the object is that Gateway. An incomplete reference is no object.

func (Ref) String

func (r Ref) String() 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".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL