gateway

package
v1.45.0-0.dev Latest Latest
Warning

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

Go to latest
Published: Aug 17, 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