Help us shape the future of Go! Take the 2026 Go Developer Survey

gateway

package
v1.44.0 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvoyGatewayGroup = "gateway.envoyproxy.io"
	BackendKind       = "Backend"

	// GatewayLabel marks operator-managed UI Gateways; the value is the
	// component's resource prefix. Cleanup lists Gateways by this label to
	// find namespaces holding leftover gateway resources.
	GatewayLabel = "operator.tigera.io/gateway"
)

Variables

This section is empty.

Functions

func Component

func Component(cfg *Configuration) *gatewayComponent

Component renders Gateway API resources for CIG access to a UI component.

func DeletionComponent

func DeletionComponent(cfg *DeletionConfiguration) *gatewayDeletionComponent

DeletionComponent returns a render.Component whose Objects() puts every gateway-managed resource into objsToDelete. The objects carry only TypeMeta and ObjectMeta — enough for the component handler to issue Delete calls.

Types

type Configuration

type Configuration struct {
	Hostname         string
	GatewayNamespace string
	GatewayClassName string

	BackendServiceName           string
	BackendPort                  int32
	BackendNamespace             string
	BackendCABundleConfigMapName string

	TLSKeyPair certificatemanagement.KeyPairInterface

	// ResourcePrefix names all generated resources, e.g. "calico-manager" produces
	// "calico-manager-gateway", "calico-manager-route", etc.
	ResourcePrefix string

	// Enterprise controls whether the proxy SA, RoleBinding, and NetworkPolicy
	// are rendered. They are only rendered when the Gateway is placed in the
	// backend (install) namespace: the GatewayAPI controller skips
	// calico-system (lifecycle guard), so this component fills that gap. For
	// custom gateway namespaces the GatewayAPI controller creates the
	// SA/RoleBinding itself and no NetworkPolicy is rendered, matching
	// user-brought Gateways.
	Enterprise bool

	OpenShift bool
}

Configuration holds everything the shared gateway component needs to render Gateway API resources for a UI component (Manager or Whisker).

type DeletionConfiguration

type DeletionConfiguration struct {
	ResourcePrefix   string
	GatewayNamespace string
	BackendNamespace string
	TLSSecretName    string
	Enterprise       bool

	// MoveTargetNamespace, when set, marks this as cleanup after the gateway
	// moved to that namespace while spec.ingressGateway stayed configured. The
	// Backend is kept — it lives in the backend namespace and the new render
	// still routes to it. The ReferenceGrant is deleted only when the target
	// is the backend namespace, where the render no longer emits it; for any
	// other target the render updates it in place.
	MoveTargetNamespace string
}

DeletionConfiguration is the minimal config needed to identify gateway resources for cleanup. No TLS keypair, hostname, or class is required.

Jump to

Keyboard shortcuts

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