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.
Click to show internal directories.
Click to hide internal directories.