v1

package
v1.23.7 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

API Schema definitions for configuring the installation of Calico and Calico Enterprise +k8s:deepcopy-gen=package,register +groupName=operator.tigera.io

Package v1 contains API Schema definitions for the operator v1 API group +kubebuilder:object:generate=true +groupName=operator.tigera.io

Index

Constants

View Source
const (
	AuthTypeToken = "Token"
	AuthTypeBasic = "Basic"
	AuthTypeOIDC  = "OIDC"
	AuthTypeOAuth = "OAuth"
)
View Source
const NodeSelectorDefault string = "all()"
View Source
const (
	TigeraStatusReady = "Ready"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "operator.tigera.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var CNIPluginTypesString []string = []string{
	PluginCalico.String(),
	PluginGKE.String(),
	PluginAmazonVPC.String(),
	PluginAzureVNET.String(),
}
View Source
var EncapsulationTypesString []string = []string{
	EncapsulationIPIPCrossSubnet.String(),
	EncapsulationIPIP.String(),
	EncapsulationVXLAN.String(),
	EncapsulationVXLANCrossSubnet.String(),
	EncapsulationNone.String(),
}
View Source
var HostPortsTypesString []string = []string{
	HostPortsEnabled.String(),
	HostPortsDisabled.String(),
}
View Source
var IPAMPluginTypesString []string = []string{
	IPAMPluginCalico.String(),
	IPAMPluginHostLocal.String(),
	IPAMPluginAmazonVPC.String(),
	IPAMPluginAzureVNET.String(),
}
View Source
var NATOutgoingTypesString []string = []string{
	NATOutgoingEnabled.String(),
	NATOutgoingDisabled.String(),
}
View Source
var SyslogLogTypesString []string = []string{
	SyslogLogAudit.String(),
	SyslogLogDNS.String(),
	SyslogLogFlows.String(),
	SyslogLogL7.String(),
	SyslogLogIDSEvents.String(),
}

Functions

This section is empty.

Types

type APIServer

type APIServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for the Tigera API server.
	Spec APIServerSpec `json:"spec,omitempty"`

	// Most recently observed status for the Tigera API server.
	Status APIServerStatus `json:"status,omitempty"`
}

APIServer installs the Tigera API server and related resources. At most one instance of this resource is supported. It must be named "tigera-secure". +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster

func (*APIServer) DeepCopy

func (in *APIServer) DeepCopy() *APIServer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServer.

func (*APIServer) DeepCopyInto

func (in *APIServer) DeepCopyInto(out *APIServer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServer) DeepCopyObject

func (in *APIServer) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServerList

type APIServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []APIServer `json:"items"`
}

APIServerList contains a list of APIServer

func (*APIServerList) DeepCopy

func (in *APIServerList) DeepCopy() *APIServerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerList.

func (*APIServerList) DeepCopyInto

func (in *APIServerList) DeepCopyInto(out *APIServerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServerList) DeepCopyObject

func (in *APIServerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServerSpec

type APIServerSpec struct {
}

APIServerSpec defines the desired state of Tigera API server.

func (*APIServerSpec) DeepCopy

func (in *APIServerSpec) DeepCopy() *APIServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerSpec.

func (*APIServerSpec) DeepCopyInto

func (in *APIServerSpec) DeepCopyInto(out *APIServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServerStatus

type APIServerStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

APIServerStatus defines the observed state of Tigera API server.

func (*APIServerStatus) DeepCopy

func (in *APIServerStatus) DeepCopy() *APIServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerStatus.

func (*APIServerStatus) DeepCopyInto

func (in *APIServerStatus) DeepCopyInto(out *APIServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalLogSourceSpec

type AdditionalLogSourceSpec struct {
	// If specified with EKS Provider in Installation, enables fetching EKS
	// audit logs.
	// +optional
	EksCloudwatchLog *EksCloudwatchLogsSpec `json:"eksCloudwatchLog,omitempty"`
}

func (*AdditionalLogSourceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalLogSourceSpec.

func (*AdditionalLogSourceSpec) DeepCopyInto

func (in *AdditionalLogSourceSpec) DeepCopyInto(out *AdditionalLogSourceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalLogStoreSpec

type AdditionalLogStoreSpec struct {
	// If specified, enables exporting of flow, audit, and DNS logs to Amazon S3 storage.
	// +optional
	S3 *S3StoreSpec `json:"s3,omitempty"`
	// If specified, enables exporting of flow, audit, and DNS logs to syslog.
	// +optional
	Syslog *SyslogStoreSpec `json:"syslog,omitempty"`
	// If specified, enables exporting of flow, audit, and DNS logs to splunk.
	// +optional
	Splunk *SplunkStoreSpec `json:"splunk,omitempty"`
}

func (*AdditionalLogStoreSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalLogStoreSpec.

func (*AdditionalLogStoreSpec) DeepCopyInto

func (in *AdditionalLogStoreSpec) DeepCopyInto(out *AdditionalLogStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AmazonCloudIntegration

type AmazonCloudIntegration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AmazonCloudIntegrationSpec   `json:"spec,omitempty"`
	Status AmazonCloudIntegrationStatus `json:"status,omitempty"`
}

AmazonCloudIntegration is the Schema for the amazoncloudintegrations API +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:storageversion

func (*AmazonCloudIntegration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmazonCloudIntegration.

func (*AmazonCloudIntegration) DeepCopyInto

func (in *AmazonCloudIntegration) DeepCopyInto(out *AmazonCloudIntegration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AmazonCloudIntegration) DeepCopyObject

func (in *AmazonCloudIntegration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AmazonCloudIntegrationList

type AmazonCloudIntegrationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AmazonCloudIntegration `json:"items"`
}

AmazonCloudIntegrationList contains a list of AmazonCloudIntegration

func (*AmazonCloudIntegrationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmazonCloudIntegrationList.

func (*AmazonCloudIntegrationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AmazonCloudIntegrationList) DeepCopyObject

func (in *AmazonCloudIntegrationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AmazonCloudIntegrationSpec

type AmazonCloudIntegrationSpec struct {
	// DefaultPodMetadataAccess defines what the default behavior will be for accessing
	// the AWS metadata service from a pod.
	// Default: Denied
	// +optional
	// +kubebuilder:validation:Enum=Allowed;Denied
	DefaultPodMetadataAccess MetadataAccessAllowedType `json:"defaultPodMetadataAccess,omitempty"`

	// NodeSecurityGroupIDs is a list of Security Group IDs that all nodes and masters
	// will be in.
	NodeSecurityGroupIDs []string `json:"nodeSecurityGroupIDs,omitempty"`
	// PodSecurityGroupID is the ID of the Security Group which all pods should be placed
	// in by default.
	PodSecurityGroupID string `json:"podSecurityGroupID,omitempty"`
	// VPCS is a list of VPC IDs to monitor for ENIs and Security Groups, only one is supported.
	VPCS []string `json:"vpcs,omitempty"`
	// SQSURL is the SQS URL needed to access the Simple Queue Service.
	SQSURL string `json:"sqsURL,omitempty"`
	// AWSRegion is the region in which your cluster is located.
	AWSRegion string `json:"awsRegion,omitempty"`
	// EnforcedSecurityGroupID is the ID of the Security Group which will be applied to all
	// ENIs that are on a host that is also part of the Kubernetes cluster.
	EnforcedSecurityGroupID string `json:"enforcedSecurityGroupID,omitempty"`
	// TrustEnforcedSecurityGroupID is the ID of the Security Group which will be applied
	// to all ENIs in the VPC.
	TrustEnforcedSecurityGroupID string `json:"trustEnforcedSecurityGroupID,omitemtpy"`
}

AmazonCloudIntegrationSpec defines the desired state of AmazonCloudIntegration

func (*AmazonCloudIntegrationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmazonCloudIntegrationSpec.

func (*AmazonCloudIntegrationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AmazonCloudIntegrationStatus

type AmazonCloudIntegrationStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

AmazonCloudIntegrationStatus defines the observed state of AmazonCloudIntegration

func (*AmazonCloudIntegrationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmazonCloudIntegrationStatus.

func (*AmazonCloudIntegrationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Auth

type Auth struct {
	// Type configures the type of authentication used by the manager.
	// Default: Token
	// +kubebuilder:validation:Enum=Token;Basic;OIDC;OAuth
	Type AuthType `json:"type,omitempty"`

	// Authority configures the OAuth2/OIDC authority/issuer when using OAuth2 or OIDC login.
	// +optional
	Authority string `json:"authority,omitempty"`

	// ClientId configures the OAuth2/OIDC client ID to use for OAuth2 or OIDC login.
	// +optional
	ClientID string `json:"clientID,omitempty"`
}

Auth defines authentication configuration.

func (*Auth) DeepCopy

func (in *Auth) DeepCopy() *Auth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.

func (*Auth) DeepCopyInto

func (in *Auth) DeepCopyInto(out *Auth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthMethod

type AuthMethod string

type AuthType

type AuthType string

AuthType represents the type of authentication to use. Valid options are: Token, Basic, OIDC, OAuth

type Authentication

type Authentication struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AuthenticationSpec   `json:"spec,omitempty"`
	Status AuthenticationStatus `json:"status,omitempty"`
}

Authentication is the Schema for the authentications API

func (*Authentication) DeepCopy

func (in *Authentication) DeepCopy() *Authentication

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authentication.

func (*Authentication) DeepCopyInto

func (in *Authentication) DeepCopyInto(out *Authentication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Authentication) DeepCopyObject

func (in *Authentication) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AuthenticationLDAP added in v1.16.0

type AuthenticationLDAP struct {
	// The host and port of the LDAP server. Example: ad.example.com:636
	// +required
	Host string `json:"host"`

	// StartTLS whether to enable the startTLS feature for establishing TLS on an existing LDAP session.
	// If true, the ldap:// protocol is used and then issues a StartTLS command, otherwise, connections will use
	// the ldaps:// protocol.
	// +optional
	StartTLS *bool `json:"startTLS,omitempty"`

	// User entry search configuration to match the credentials with a user.
	// +required
	UserSearch *UserSearch `json:"userSearch"`

	// Group search configuration to find the groups that a user is in.
	// +optional
	GroupSearch *GroupSearch `json:"groupSearch,omitempty"`
}

AuthenticationLDAP is the configuration needed to setup LDAP.

func (*AuthenticationLDAP) DeepCopy added in v1.16.0

func (in *AuthenticationLDAP) DeepCopy() *AuthenticationLDAP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationLDAP.

func (*AuthenticationLDAP) DeepCopyInto added in v1.16.0

func (in *AuthenticationLDAP) DeepCopyInto(out *AuthenticationLDAP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthenticationList

type AuthenticationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Authentication `json:"items"`
}

AuthenticationList contains a list of Authentication

func (*AuthenticationList) DeepCopy

func (in *AuthenticationList) DeepCopy() *AuthenticationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationList.

func (*AuthenticationList) DeepCopyInto

func (in *AuthenticationList) DeepCopyInto(out *AuthenticationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AuthenticationList) DeepCopyObject

func (in *AuthenticationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AuthenticationOIDC

type AuthenticationOIDC struct {
	// IssuerURL is the URL to the OIDC provider.
	// +required
	IssuerURL string `json:"issuerURL"`

	// UsernameClaim specifies which claim to use from the OIDC provider as the username.
	// +required
	UsernameClaim string `json:"usernameClaim"`

	// RequestedScopes is a list of scopes to request from the OIDC provider. If not provided, the following scopes are
	// requested: ["openid", "email", "profile", "groups", "offline_access"].
	// +optional
	RequestedScopes []string `json:"requestedScopes,omitempty"`

	// Deprecated. Please use Authentication.Spec.UsernamePrefix instead.
	// +optional
	UsernamePrefix string `json:"usernamePrefix,omitempty"`

	// GroupsClaim specifies which claim to use from the OIDC provider as the group.
	// +optional
	GroupsClaim string `json:"groupsClaim,omitempty"`

	// Deprecated. Please use Authentication.Spec.GroupsPrefix instead.
	// +optional
	GroupsPrefix string `json:"groupsPrefix,omitempty"`

	// Some providers do not include the claim "email_verified" when there is no verification in the user enrollment
	// process or if they are acting as a proxy for another identity provider. By default those tokens are deemed invalid.
	// To skip this check, set the value to "InsecureSkip".
	// Default: Verify
	// +optional
	// +kubebuilder:validation:Enum=Verify;InsecureSkip
	EmailVerification *EmailVerificationType `json:"emailVerification,omitempty"`

	// PromptTypes is an optional list of string values that specifies whether the identity provider prompts the end user
	// for re-authentication and consent. See the RFC for more information on prompt types:
	// https://openid.net/specs/openid-connect-core-1_0.html.
	// Default: "Consent"
	// +optional
	PromptTypes []PromptType `json:"promptTypes,omitempty"`

	// Default: "Dex"
	// +optional
	Type OIDCType `json:"type,omitempty"`
}

AuthenticationOIDC is the configuration needed to setup OIDC.

func (*AuthenticationOIDC) DeepCopy

func (in *AuthenticationOIDC) DeepCopy() *AuthenticationOIDC

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationOIDC.

func (*AuthenticationOIDC) DeepCopyInto

func (in *AuthenticationOIDC) DeepCopyInto(out *AuthenticationOIDC)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthenticationOpenshift

type AuthenticationOpenshift struct {
	// IssuerURL is the URL to the Openshift OAuth provider. Ex.: https://api.my-ocp-domain.com:6443
	// +required
	IssuerURL string `json:"issuerURL"`
}

AuthenticationOpenshift is the configuration needed to setup Openshift.

func (*AuthenticationOpenshift) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationOpenshift.

func (*AuthenticationOpenshift) DeepCopyInto

func (in *AuthenticationOpenshift) DeepCopyInto(out *AuthenticationOpenshift)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthenticationSpec

type AuthenticationSpec struct {
	// ManagerDomain is the domain name of the Manager
	// +required
	ManagerDomain string `json:"managerDomain,omitempty"`

	// If specified, UsernamePrefix is prepended to each user obtained from the identity provider. Note that
	// Kibana does not support a user prefix, so this prefix is removed from Kubernetes User when translating log access
	// ClusterRoleBindings into Elastic.
	// +optional
	UsernamePrefix string `json:"usernamePrefix,omitempty"`

	// If specified, GroupsPrefix is prepended to each group obtained from the identity provider. Note that
	// Kibana does not support a groups prefix, so this prefix is removed from Kubernetes Groups when translating log access
	// ClusterRoleBindings into Elastic.
	// +optional
	GroupsPrefix string `json:"groupsPrefix,omitempty"`

	// OIDC contains the configuration needed to setup OIDC authentication.
	// +optional
	OIDC *AuthenticationOIDC `json:"oidc,omitempty"`

	// Openshift contains the configuration needed to setup Openshift OAuth authentication.
	// +optional
	Openshift *AuthenticationOpenshift `json:"openshift,omitempty"`

	// LDAP contains the configuration needed to setup LDAP authentication.
	// +optional
	LDAP *AuthenticationLDAP `json:"ldap,omitempty"`
}

AuthenticationSpec defines the desired state of Authentication

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationSpec.

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthenticationStatus

type AuthenticationStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

AuthenticationStatus defines the observed state of Authentication

func (*AuthenticationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationStatus.

func (*AuthenticationStatus) DeepCopyInto

func (in *AuthenticationStatus) DeepCopyInto(out *AuthenticationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BGPOption

type BGPOption string

BGPOption describes the mode of BGP to use.

One of: Enabled, Disabled

const (
	BGPEnabled  BGPOption = "Enabled"
	BGPDisabled BGPOption = "Disabled"
)

func BGPOptionPtr

func BGPOptionPtr(b BGPOption) *BGPOption

type CNIPluginType

type CNIPluginType string

CNIPluginType describes the type of CNI plugin used.

One of: Calico, GKE, AmazonVPC, AzureVNET

const (
	PluginCalico    CNIPluginType = "Calico"
	PluginGKE       CNIPluginType = "GKE"
	PluginAmazonVPC CNIPluginType = "AmazonVPC"
	PluginAzureVNET CNIPluginType = "AzureVNET"
)

func (CNIPluginType) String

func (cp CNIPluginType) String() string

type CNISpec

type CNISpec struct {
	// Specifies the CNI plugin that will be used in the Calico or Calico Enterprise installation.
	// * For KubernetesProvider GKE, this field defaults to GKE.
	// * For KubernetesProvider AKS, this field defaults to AzureVNET.
	// * For KubernetesProvider EKS, this field defaults to AmazonVPC.
	// * If aws-node daemonset exists in kube-system when the Installation resource is created, this field defaults to AmazonVPC.
	// * For all other cases this field defaults to Calico.
	//
	// For the value Calico, the CNI plugin binaries and CNI config will be installed as part of deployment,
	// for all other values the CNI plugin binaries and CNI config is a dependency that is expected
	// to be installed separately.
	//
	// Default: Calico
	// +kubebuilder:validation:Enum=Calico;GKE;AmazonVPC;AzureVNET
	Type CNIPluginType `json:"type"`

	// IPAM specifies the pod IP address management that will be used in the Calico or
	// Calico Enterprise installation.
	// +optional
	IPAM *IPAMSpec `json:"ipam"`
}

CNISpec contains configuration for the CNI plugin.

func (*CNISpec) DeepCopy

func (in *CNISpec) DeepCopy() *CNISpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNISpec.

func (*CNISpec) DeepCopyInto

func (in *CNISpec) DeepCopyInto(out *CNISpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CalicoNetworkSpec

type CalicoNetworkSpec struct {
	// LinuxDataplane is used to select the dataplane used for Linux nodes. In particular, it
	// causes the operator to add required mounts and environment variables for the particular dataplane.
	// If not specified, iptables mode is used.
	// Default: Iptables
	// +optional
	// +kubebuilder:validation:Enum=Iptables;BPF
	LinuxDataplane *LinuxDataplaneOption `json:"linuxDataplane,omitempty"`

	// BGP configures whether or not to enable Calico's BGP capabilities.
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	BGP *BGPOption `json:"bgp,omitempty"`

	// IPPools contains a list of IP pools to create if none exist. At most one IP pool of each
	// address family may be specified. If omitted, a single pool will be configured if needed.
	// +optional
	IPPools []IPPool `json:"ipPools,omitempty"`

	// MTU specifies the maximum transmission unit to use on the pod network.
	// If not specified, Calico will perform MTU auto-detection based on the cluster network.
	// +optional
	MTU *int32 `json:"mtu,omitempty"`

	// NodeAddressAutodetectionV4 specifies an approach to automatically detect node IPv4 addresses. If not specified,
	// will use default auto-detection settings to acquire an IPv4 address for each node.
	// +optional
	NodeAddressAutodetectionV4 *NodeAddressAutodetection `json:"nodeAddressAutodetectionV4,omitempty"`

	// NodeAddressAutodetectionV6 specifies an approach to automatically detect node IPv6 addresses. If not specified,
	// IPv6 addresses will not be auto-detected.
	// +optional
	NodeAddressAutodetectionV6 *NodeAddressAutodetection `json:"nodeAddressAutodetectionV6,omitempty"`

	// HostPorts configures whether or not Calico will support Kubernetes HostPorts. Valid only when using the Calico CNI plugin.
	// Default: Enabled
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	HostPorts *HostPortsType `json:"hostPorts,omitempty"`

	// MultiInterfaceMode configures what will configure multiple interface per pod. Only valid for Calico Enterprise installations
	// using the Calico CNI plugin.
	// Default: None
	// +optional
	// +kubebuilder:validation:Enum=None;Multus
	MultiInterfaceMode *MultiInterfaceMode `json:"multiInterfaceMode,omitempty"`

	// ContainerIPForwarding configures whether ip forwarding will be enabled for containers in the CNI configuration.
	// Default: Disabled
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	ContainerIPForwarding *ContainerIPForwardingType `json:"containerIPForwarding,omitempty"`
}

CalicoNetworkSpec specifies configuration options for Calico provided pod networking.

func (*CalicoNetworkSpec) DeepCopy

func (in *CalicoNetworkSpec) DeepCopy() *CalicoNetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CalicoNetworkSpec.

func (*CalicoNetworkSpec) DeepCopyInto

func (in *CalicoNetworkSpec) DeepCopyInto(out *CalicoNetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CertificateManagement added in v1.14.0

type CertificateManagement struct {
	// Certificate of the authority that signs the CertificateSigningRequests in PEM format.
	CACert []byte `json:"caCert"`

	// When a CSR is issued to the certificates.k8s.io API, the signerName is added to the request in order to accommodate for clusters
	// with multiple signers.
	// Must be formatted as: `<my-domain>/<my-signername>`.
	SignerName string `json:"signerName"`

	// Specify the algorithm used by pods to generate a key pair that is associated with the X.509 certificate request.
	// Default: RSAWithSize2048
	// +kubebuilder:validation:Enum="";RSAWithSize2048;RSAWithSize4096;RSAWithSize8192;ECDSAWithCurve256;ECDSAWithCurve384;ECDSAWithCurve521;
	// +optional
	KeyAlgorithm string `json:"keyAlgorithm,omitempty"`

	// Specify the algorithm used for the signature of the X.509 certificate request.
	// Default: SHA256WithRSA
	// +kubebuilder:validation:Enum="";SHA256WithRSA;SHA384WithRSA;SHA512WithRSA;ECDSAWithSHA256;ECDSAWithSHA384;ECDSAWithSHA512;
	// +optional
	SignatureAlgorithm string `json:"signatureAlgorithm,omitempty"`
}

CertificateManagement configures pods to submit a CertificateSigningRequest to the certificates.k8s.io/v1beta1 API in order to obtain TLS certificates. This feature requires that you bring your own CSR signing and approval process, otherwise pods will be stuck during initialization.

func (*CertificateManagement) DeepCopy added in v1.14.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateManagement.

func (*CertificateManagement) DeepCopyInto added in v1.14.0

func (in *CertificateManagement) DeepCopyInto(out *CertificateManagement)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CollectProcessPathOption added in v1.21.0

type CollectProcessPathOption string
const (
	CollectProcessPathEnable  CollectProcessPathOption = "Enabled"
	CollectProcessPathDisable CollectProcessPathOption = "Disabled"
)

type Compliance

type Compliance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for Tigera compliance reporting.
	Spec ComplianceSpec `json:"spec,omitempty"`
	// Most recently observed state for Tigera compliance reporting.
	Status ComplianceStatus `json:"status,omitempty"`
}

Compliance installs the components required for Tigera compliance reporting. At most one instance of this resource is supported. It must be named "tigera-secure".

func (*Compliance) DeepCopy

func (in *Compliance) DeepCopy() *Compliance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Compliance.

func (*Compliance) DeepCopyInto

func (in *Compliance) DeepCopyInto(out *Compliance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Compliance) DeepCopyObject

func (in *Compliance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComplianceList

type ComplianceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Compliance `json:"items"`
}

ComplianceList contains a list of Compliance

func (*ComplianceList) DeepCopy

func (in *ComplianceList) DeepCopy() *ComplianceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComplianceList.

func (*ComplianceList) DeepCopyInto

func (in *ComplianceList) DeepCopyInto(out *ComplianceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ComplianceList) DeepCopyObject

func (in *ComplianceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ComplianceSpec

type ComplianceSpec struct {
}

ComplianceSpec defines the desired state of Tigera compliance reporting capabilities.

func (*ComplianceSpec) DeepCopy

func (in *ComplianceSpec) DeepCopy() *ComplianceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComplianceSpec.

func (*ComplianceSpec) DeepCopyInto

func (in *ComplianceSpec) DeepCopyInto(out *ComplianceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComplianceStatus

type ComplianceStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

ComplianceStatus defines the observed state of Tigera compliance reporting capabilities.

func (*ComplianceStatus) DeepCopy

func (in *ComplianceStatus) DeepCopy() *ComplianceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComplianceStatus.

func (*ComplianceStatus) DeepCopyInto

func (in *ComplianceStatus) DeepCopyInto(out *ComplianceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentName

type ComponentName string

ComponentName represents a single component.

One of: Node, Typha, KubeControllers

const (
	ComponentNameNode            ComponentName = "Node"
	ComponentNameTypha           ComponentName = "Typha"
	ComponentNameKubeControllers ComponentName = "KubeControllers"
)

type ComponentResource

type ComponentResource struct {
	// ComponentName is an enum which identifies the component
	// +kubebuilder:validation:Enum=Node;Typha;KubeControllers
	ComponentName ComponentName `json:"componentName"`
	// ResourceRequirements allows customization of limits and requests for compute resources such as cpu and memory.
	ResourceRequirements *v1.ResourceRequirements `json:"resourceRequirements"`
}

The ComponentResource struct associates a ResourceRequirements with a component by name

func (*ComponentResource) DeepCopy

func (in *ComponentResource) DeepCopy() *ComponentResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentResource.

func (*ComponentResource) DeepCopyInto

func (in *ComponentResource) DeepCopyInto(out *ComponentResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionStatus

type ConditionStatus string

ConditionStatus represents the status of a particular condition. A condition may be one of: True, False, Unknown.

const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

type ContainerIPForwardingType

type ContainerIPForwardingType string

ContainerIPForwardingType specifies whether the CNI config for container ip forwarding is enabled.

const (
	ContainerIPForwardingEnabled  ContainerIPForwardingType = "Enabled"
	ContainerIPForwardingDisabled ContainerIPForwardingType = "Disabled"
)

type EksCloudwatchLogsSpec

type EksCloudwatchLogsSpec struct {
	// AWS Region EKS cluster is hosted in.
	Region string `json:"region"`

	// Cloudwatch log-group name containing EKS audit logs.
	GroupName string `json:"groupName"`

	// Prefix of Cloudwatch log stream containing EKS audit logs in the log-group.
	// Default: kube-apiserver-audit-
	// +optional
	StreamPrefix string `json:"streamPrefix,omitempty"`

	// Cloudwatch audit logs fetching interval in seconds.
	// Default: 60
	// +optional
	FetchInterval int32 `json:"fetchInterval,omitempty"`
}

EksConfigSpec defines configuration for fetching EKS audit logs.

func (*EksCloudwatchLogsSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EksCloudwatchLogsSpec.

func (*EksCloudwatchLogsSpec) DeepCopyInto

func (in *EksCloudwatchLogsSpec) DeepCopyInto(out *EksCloudwatchLogsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EmailVerificationType

type EmailVerificationType string
const (
	EmailVerificationTypeVerify EmailVerificationType = "Verify"
	EmailVerificationTypeSkip   EmailVerificationType = "InsecureSkip"
)

type EncapsulationType

type EncapsulationType string

EncapsulationType is the type of encapsulation to use on an IP pool.

One of: IPIP, VXLAN, IPIPCrossSubnet, VXLANCrossSubnet, None

const (
	EncapsulationIPIPCrossSubnet  EncapsulationType = "IPIPCrossSubnet"
	EncapsulationIPIP             EncapsulationType = "IPIP"
	EncapsulationVXLAN            EncapsulationType = "VXLAN"
	EncapsulationVXLANCrossSubnet EncapsulationType = "VXLANCrossSubnet"
	EncapsulationNone             EncapsulationType = "None"
)

func (EncapsulationType) String

func (et EncapsulationType) String() string

type GroupSearch added in v1.16.0

type GroupSearch struct {
	// BaseDN to start the search from. For example "cn=groups,dc=example,dc=com"
	// +required
	BaseDN string `json:"baseDN"`

	// Optional filter to apply when searching the directory.
	// For example "(objectClass=posixGroup)"
	// +optional
	Filter string `json:"filter,omitempty"`

	// The attribute of the group that represents its name. This attribute can be used to apply RBAC to a user group.
	// +required
	NameAttribute string `json:"nameAttribute"`

	// Following list contains field pairs that are used to match a user to a group. It adds an additional
	// requirement to the filter that an attribute in the group must match the user's
	// attribute value.
	// +required
	UserMatchers []UserMatch `json:"userMatchers"`
}

Group search configuration to find the groups that a user is in.

func (*GroupSearch) DeepCopy added in v1.16.0

func (in *GroupSearch) DeepCopy() *GroupSearch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSearch.

func (*GroupSearch) DeepCopyInto added in v1.16.0

func (in *GroupSearch) DeepCopyInto(out *GroupSearch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HostPortsType

type HostPortsType string

HostPortsType specifies host port support.

One of: Enabled, Disabled

const (
	HostPortsEnabled  HostPortsType = "Enabled"
	HostPortsDisabled HostPortsType = "Disabled"
)

func HostPortsTypePtr

func HostPortsTypePtr(h HostPortsType) *HostPortsType

func (HostPortsType) String

func (nt HostPortsType) String() string

type IPAMPluginType

type IPAMPluginType string
const (
	IPAMPluginCalico    IPAMPluginType = "Calico"
	IPAMPluginHostLocal IPAMPluginType = "HostLocal"
	IPAMPluginAmazonVPC IPAMPluginType = "AmazonVPC"
	IPAMPluginAzureVNET IPAMPluginType = "AzureVNET"
)

func (IPAMPluginType) String

func (cp IPAMPluginType) String() string

type IPAMSpec

type IPAMSpec struct {
	// Specifies the IPAM plugin that will be used in the Calico or Calico Enterprise installation.
	// * For CNI Plugin Calico, this field defaults to Calico.
	// * For CNI Plugin GKE, this field defaults to HostLocal.
	// * For CNI Plugin AzureVNET, this field defaults to AzureVNET.
	// * For CNI Plugin AmazonVPC, this field defaults to AmazonVPC.
	//
	// The IPAM plugin is installed and configured only if the CNI plugin is set to Calico,
	// for all other values of the CNI plugin the plugin binaries and CNI config is a dependency
	// that is expected to be installed separately.
	//
	// Default: Calico
	// +kubebuilder:validation:Enum=Calico;HostLocal;AmazonVPC;AzureVNET
	Type IPAMPluginType `json:"type"`
}

IPAMSpec contains configuration for pod IP address management.

func (*IPAMSpec) DeepCopy

func (in *IPAMSpec) DeepCopy() *IPAMSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMSpec.

func (*IPAMSpec) DeepCopyInto

func (in *IPAMSpec) DeepCopyInto(out *IPAMSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPPool

type IPPool struct {
	// CIDR contains the address range for the IP Pool in classless inter-domain routing format.
	CIDR string `json:"cidr"`

	// Encapsulation specifies the encapsulation type that will be used with
	// the IP Pool.
	// Default: IPIP
	// +optional
	// +kubebuilder:validation:Enum=IPIPCrossSubnet;IPIP;VXLAN;VXLANCrossSubnet;None
	Encapsulation EncapsulationType `json:"encapsulation,omitempty"`

	// NATOutgoing specifies if NAT will be enabled or disabled for outgoing traffic.
	// Default: Enabled
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	NATOutgoing NATOutgoingType `json:"natOutgoing,omitempty"`

	// NodeSelector specifies the node selector that will be set for the IP Pool.
	// Default: 'all()'
	// +optional
	NodeSelector string `json:"nodeSelector,omitempty"`

	// BlockSize specifies the CIDR prefex length to use when allocating per-node IP blocks from
	// the main IP pool CIDR.
	// Default: 26 (IPv4), 122 (IPv6)
	// +optional
	BlockSize *int32 `json:"blockSize,omitempty"`
}

func (*IPPool) DeepCopy

func (in *IPPool) DeepCopy() *IPPool

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPool.

func (*IPPool) DeepCopyInto

func (in *IPPool) DeepCopyInto(out *IPPool)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Image added in v1.14.0

type Image struct {
	// Image is an image that the operator deploys and instead of using the built in tag
	// the operator will use the Digest for the image identifier.
	// The value should be the image name without registry or tag or digest.
	// For the image `docker.io/calico/node:v3.17.1` it should be represented as `calico/node`
	Image string `json:"image"`

	// Digest is the image identifier that will be used for the Image.
	// The field should not include a leading `@` and must be prefixed with `sha256:`.
	Digest string `json:"digest"`
}

func (*Image) DeepCopy added in v1.14.0

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto added in v1.14.0

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageSet added in v1.14.0

type ImageSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ImageSetSpec `json:"spec,omitempty"`
}

ImageSet is used to specify image digests for the images that the operator deploys. The name of the ImageSet is expected to be in the format `<variang>-<release>`. The `variant` used is `enterprise` if the InstallationSpec Variant is `TigeraSecureEnterprise` otherwise it is `calico`. The `release` must match the version of the variant that the operator is built to deploy, this version can be obtained by passing the `--version` flag to the operator binary.

func (*ImageSet) DeepCopy added in v1.14.0

func (in *ImageSet) DeepCopy() *ImageSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSet.

func (*ImageSet) DeepCopyInto added in v1.14.0

func (in *ImageSet) DeepCopyInto(out *ImageSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageSet) DeepCopyObject added in v1.14.0

func (in *ImageSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ImageSetList added in v1.14.0

type ImageSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ImageSet `json:"items"`
}

ImageSetList contains a list of ImageSet

func (*ImageSetList) DeepCopy added in v1.14.0

func (in *ImageSetList) DeepCopy() *ImageSetList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSetList.

func (*ImageSetList) DeepCopyInto added in v1.14.0

func (in *ImageSetList) DeepCopyInto(out *ImageSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ImageSetList) DeepCopyObject added in v1.14.0

func (in *ImageSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ImageSetSpec added in v1.14.0

type ImageSetSpec struct {
	// Images is the list of images to use digests. All images that the operator will deploy
	// must be specified.
	Images []Image `json:"images,omitempty"`
}

ImageSetSpec defines the desired state of ImageSet.

func (*ImageSetSpec) DeepCopy added in v1.14.0

func (in *ImageSetSpec) DeepCopy() *ImageSetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSetSpec.

func (*ImageSetSpec) DeepCopyInto added in v1.14.0

func (in *ImageSetSpec) DeepCopyInto(out *ImageSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Indices

type Indices struct {
	// Replicas defines how many replicas each index will have. See https://www.elastic.co/guide/en/elasticsearch/reference/current/scalability.html
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
}

Indices defines the configuration for the indices in an Elasticsearch cluster.

func (*Indices) DeepCopy

func (in *Indices) DeepCopy() *Indices

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Indices.

func (*Indices) DeepCopyInto

func (in *Indices) DeepCopyInto(out *Indices)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Installation

type Installation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for the Calico or Calico Enterprise installation.
	Spec InstallationSpec `json:"spec,omitempty"`
	// Most recently observed state for the Calico or Calico Enterprise installation.
	Status InstallationStatus `json:"status,omitempty"`
}

Installation configures an installation of Calico or Calico Enterprise. At most one instance of this resource is supported. It must be named "default". The Installation API installs core networking and network policy components, and provides general install-time configuration.

func (*Installation) DeepCopy

func (in *Installation) DeepCopy() *Installation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Installation.

func (*Installation) DeepCopyInto

func (in *Installation) DeepCopyInto(out *Installation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Installation) DeepCopyObject

func (in *Installation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstallationList

type InstallationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Installation `json:"items"`
}

InstallationList contains a list of Installation

func (*InstallationList) DeepCopy

func (in *InstallationList) DeepCopy() *InstallationList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationList.

func (*InstallationList) DeepCopyInto

func (in *InstallationList) DeepCopyInto(out *InstallationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstallationList) DeepCopyObject

func (in *InstallationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstallationSpec

type InstallationSpec struct {
	// Variant is the product to install - one of Calico or TigeraSecureEnterprise
	// Default: Calico
	// +optional
	// +kubebuilder:validation:Enum=Calico;TigeraSecureEnterprise
	Variant ProductVariant `json:"variant,omitempty"`

	// Registry is the default Docker registry used for component Docker images. If specified,
	// all images will be pulled from this registry. If not specified then the default registries
	// will be used. A special case value, UseDefault, is supported to explicitly specify
	// the default registries will be used.
	//
	// Image format:
	//    `<registry>/<imagePath>/<imagePrefix><imageName>:<image-tag>`
	//
	// This option allows configuring the `<registry>` portion of the above format.
	// +optional
	Registry string `json:"registry,omitempty"`

	// ImagePath allows for the path part of an image to be specified. If specified
	// then the specified value will be used as the image path for each image. If not specified
	// or empty, the default for each image will be used.
	// A special case value, UseDefault, is supported to explicitly specify the default
	// image path will be used for each image.
	//
	// Image format:
	//    `<registry>/<imagePath>/<imagePrefix><imageName>:<image-tag>`
	//
	// This option allows configuring the `<imagePath>` portion of the above format.
	// +optional
	ImagePath string `json:"imagePath,omitempty"`

	// ImagePrefix allows for the prefix part of an image to be specified. If specified
	// then the given value will be used as a prefix on each image. If not specified
	// or empty, no prefix will be used.
	// A special case value, UseDefault, is supported to explicitly specify the default
	// image prefix will be used for each image.
	//
	// Image format:
	//    `<registry>/<imagePath>/<imagePrefix><imageName>:<image-tag>`
	//
	// This option allows configuring the `<imagePrefix>` portion of the above format.
	// +optional
	ImagePrefix string `json:"imagePrefix,omitempty"`

	// ImagePullSecrets is an array of references to container registry pull secrets to use. These are
	// applied to all images to be pulled.
	// +optional
	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// KubernetesProvider specifies a particular provider of the Kubernetes platform and enables provider-specific configuration.
	// If the specified value is empty, the Operator will attempt to automatically determine the current provider.
	// If the specified value is not empty, the Operator will still attempt auto-detection, but
	// will additionally compare the auto-detected value to the specified value to confirm they match.
	// +optional
	// +kubebuilder:validation:Enum="";EKS;GKE;AKS;OpenShift;DockerEnterprise;
	KubernetesProvider Provider `json:"kubernetesProvider,omitempty"`

	// CNI specifies the CNI that will be used by this installation.
	// +optional
	CNI *CNISpec `json:"cni,omitempty"`

	// CalicoNetwork specifies networking configuration options for Calico.
	// +optional
	CalicoNetwork *CalicoNetworkSpec `json:"calicoNetwork,omitempty"`

	// TyphaAffinity allows configuration of node affinity characteristics for Typha pods.
	// +optional
	TyphaAffinity *TyphaAffinity `json:"typhaAffinity,omitempty"`

	// ControlPlaneNodeSelector is used to select control plane nodes on which to run Calico
	// components. This is globally applied to all resources created by the operator excluding daemonsets.
	// +optional
	ControlPlaneNodeSelector map[string]string `json:"controlPlaneNodeSelector,omitempty"`

	// ControlPlaneTolerations specify tolerations which are then globally applied to all resources
	// created by the operator.
	// +optional
	ControlPlaneTolerations []v1.Toleration `json:"controlPlaneTolerations,omitempty"`

	// ControlPlaneReplicas defines how many replicas of the control plane core components will be deployed.
	// This field applies to all control plane components that support High Availability. Defaults to 2.
	// +optional
	ControlPlaneReplicas *int32 `json:"controlPlaneReplicas,omitempty"`

	// NodeMetricsPort specifies which port calico/node serves prometheus metrics on. By default, metrics are not enabled.
	// If specified, this overrides any FelixConfiguration resources which may exist. If omitted, then
	// prometheus metrics may still be configured through FelixConfiguration.
	// +optional
	NodeMetricsPort *int32 `json:"nodeMetricsPort,omitempty"`

	// TyphaMetricsPort specifies which port calico/typha serves prometheus metrics on. By default, metrics are not enabled.
	// +optional
	TyphaMetricsPort *int32 `json:"typhaMetricsPort,omitempty"`

	// FlexVolumePath optionally specifies a custom path for FlexVolume. If not specified, FlexVolume will be
	// enabled by default. If set to 'None', FlexVolume will be disabled. The default is based on the
	// kubernetesProvider.
	// +optional
	FlexVolumePath string `json:"flexVolumePath,omitempty"`

	// NodeUpdateStrategy can be used to customize the desired update strategy, such as the MaxUnavailable
	// field.
	// +optional
	NodeUpdateStrategy appsv1.DaemonSetUpdateStrategy `json:"nodeUpdateStrategy,omitempty"`

	// ComponentResources can be used to customize the resource requirements for each component.
	// Node, Typha, and KubeControllers are supported for installations.
	// +optional
	ComponentResources []ComponentResource `json:"componentResources,omitempty"`

	// CertificateManagement configures pods to submit a CertificateSigningRequest to the certificates.k8s.io/v1beta1 API in order
	// to obtain TLS certificates. This feature requires that you bring your own CSR signing and approval process, otherwise
	// pods will be stuck during initialization.
	// +optional
	CertificateManagement *CertificateManagement `json:"certificateManagement,omitempty"`

	// NonPrivileged configures Calico to be run in non-privileged containers as non-root users where possible.
	// +optional
	NonPrivileged *NonPrivilegedType `json:"nonPrivileged,omitempty"`
}

InstallationSpec defines configuration for a Calico or Calico Enterprise installation.

func (*InstallationSpec) DeepCopy

func (in *InstallationSpec) DeepCopy() *InstallationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationSpec.

func (*InstallationSpec) DeepCopyInto

func (in *InstallationSpec) DeepCopyInto(out *InstallationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstallationStatus

type InstallationStatus struct {
	// Variant is the most recently observed installed variant - one of Calico or TigeraSecureEnterprise
	// +kubebuilder:validation:Enum=Calico;TigeraSecureEnterprise
	Variant ProductVariant `json:"variant,omitempty"`

	// MTU is the most recently observed value for pod network MTU. This may be an explicitly
	// configured value, or based on Calico's native auto-detetion.
	MTU int32 `json:"mtu,omitempty"`

	// ImageSet is the name of the ImageSet being used, if there is an ImageSet
	// that is being used. If an ImageSet is not being used then this will not be set.
	// +optional
	ImageSet string `json:"imageSet,omitempty"`

	// Computed is the final installation including overlaid resources.
	// +optional
	Computed *InstallationSpec `json:"computed,omitempty"`
}

InstallationStatus defines the observed state of the Calico or Calico Enterprise installation.

func (*InstallationStatus) DeepCopy

func (in *InstallationStatus) DeepCopy() *InstallationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallationStatus.

func (*InstallationStatus) DeepCopyInto

func (in *InstallationStatus) DeepCopyInto(out *InstallationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntrusionDetection

type IntrusionDetection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for Tigera intrusion detection.
	Spec IntrusionDetectionSpec `json:"spec,omitempty"`
	// Most recently observed state for Tigera intrusion detection.
	Status IntrusionDetectionStatus `json:"status,omitempty"`
}

IntrusionDetection installs the components required for Tigera intrusion detection. At most one instance of this resource is supported. It must be named "tigera-secure".

func (*IntrusionDetection) DeepCopy

func (in *IntrusionDetection) DeepCopy() *IntrusionDetection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntrusionDetection.

func (*IntrusionDetection) DeepCopyInto

func (in *IntrusionDetection) DeepCopyInto(out *IntrusionDetection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IntrusionDetection) DeepCopyObject

func (in *IntrusionDetection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IntrusionDetectionComponentName added in v1.22.0

type IntrusionDetectionComponentName string
const (
	ComponentNameDeepPacketInspection IntrusionDetectionComponentName = "DeepPacketInspection"
)

type IntrusionDetectionComponentResource added in v1.22.0

type IntrusionDetectionComponentResource struct {
	// ComponentName is an enum which identifies the component
	// +kubebuilder:validation:Enum=DeepPacketInspection
	ComponentName IntrusionDetectionComponentName `json:"componentName"`
	// ResourceRequirements allows customization of limits and requests for compute resources such as cpu and memory.
	ResourceRequirements *corev1.ResourceRequirements `json:"resourceRequirements"`
}

The ComponentResource struct associates a ResourceRequirements with a component by name

func (*IntrusionDetectionComponentResource) DeepCopy added in v1.22.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntrusionDetectionComponentResource.

func (*IntrusionDetectionComponentResource) DeepCopyInto added in v1.22.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntrusionDetectionList

type IntrusionDetectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IntrusionDetection `json:"items"`
}

IntrusionDetectionList contains a list of IntrusionDetection

func (*IntrusionDetectionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntrusionDetectionList.

func (*IntrusionDetectionList) DeepCopyInto

func (in *IntrusionDetectionList) DeepCopyInto(out *IntrusionDetectionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IntrusionDetectionList) DeepCopyObject

func (in *IntrusionDetectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IntrusionDetectionSpec

type IntrusionDetectionSpec struct {
	// ComponentResources can be used to customize the resource requirements for each component.
	// Only DeepPacketInspection is supported for this spec.
	// +optional
	ComponentResources []IntrusionDetectionComponentResource `json:"componentResources,omitempty"`
}

IntrusionDetectionSpec defines the desired state of Tigera intrusion detection capabilities.

func (*IntrusionDetectionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntrusionDetectionSpec.

func (*IntrusionDetectionSpec) DeepCopyInto

func (in *IntrusionDetectionSpec) DeepCopyInto(out *IntrusionDetectionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntrusionDetectionStatus

type IntrusionDetectionStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

IntrusionDetectionStatus defines the observed state of Tigera intrusion detection capabilities.

func (*IntrusionDetectionStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntrusionDetectionStatus.

func (*IntrusionDetectionStatus) DeepCopyInto

func (in *IntrusionDetectionStatus) DeepCopyInto(out *IntrusionDetectionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LinuxDataplaneOption added in v1.16.0

type LinuxDataplaneOption string

LinuxDataplaneOption controls which dataplane is to be used on Linux nodes.

One of: Iptables, BPF

const (
	LinuxDataplaneIptables LinuxDataplaneOption = "Iptables"
	LinuxDataplaneBPF      LinuxDataplaneOption = "BPF"
)

type LogCollector

type LogCollector struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for Tigera log collection.
	Spec LogCollectorSpec `json:"spec,omitempty"`
	// Most recently observed state for Tigera log collection.
	Status LogCollectorStatus `json:"status,omitempty"`
}

LogCollector installs the components required for Tigera flow and DNS log collection. At most one instance of this resource is supported. It must be named "tigera-secure". When created, this installs fluentd on all nodes configured to collect Tigera log data and export it to Tigera's Elasticsearch cluster as well as any additionally configured destinations.

func (*LogCollector) DeepCopy

func (in *LogCollector) DeepCopy() *LogCollector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollector.

func (*LogCollector) DeepCopyInto

func (in *LogCollector) DeepCopyInto(out *LogCollector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogCollector) DeepCopyObject

func (in *LogCollector) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LogCollectorList

type LogCollectorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LogCollector `json:"items"`
}

LogCollectorList contains a list of LogCollector

func (*LogCollectorList) DeepCopy

func (in *LogCollectorList) DeepCopy() *LogCollectorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectorList.

func (*LogCollectorList) DeepCopyInto

func (in *LogCollectorList) DeepCopyInto(out *LogCollectorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogCollectorList) DeepCopyObject

func (in *LogCollectorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LogCollectorSpec

type LogCollectorSpec struct {
	// Configuration for exporting flow, audit, and DNS logs to external storage.
	// +optional
	AdditionalStores *AdditionalLogStoreSpec `json:"additionalStores,omitempty"`

	// Configuration for importing audit logs from managed kubernetes cluster log sources.
	// +optional
	AdditionalSources *AdditionalLogSourceSpec `json:"additionalSources,omitempty"`

	// Configuration for enabling/disabling process path collection in flowlogs.
	// If Enabled, this feature sets hostPID to true in order to read process cmdline.
	// Default: Enabled
	// +optional
	// +kubebuilder:validation:Enum=Enabled;Disabled
	CollectProcessPath *CollectProcessPathOption `json:"collectProcessPath,omitempty"`
}

LogCollectorSpec defines the desired state of Tigera flow, audit, and DNS log collection.

func (*LogCollectorSpec) DeepCopy

func (in *LogCollectorSpec) DeepCopy() *LogCollectorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectorSpec.

func (*LogCollectorSpec) DeepCopyInto

func (in *LogCollectorSpec) DeepCopyInto(out *LogCollectorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogCollectorStatus

type LogCollectorStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

LogCollectorStatus defines the observed state of Tigera flow and DNS log collection

func (*LogCollectorStatus) DeepCopy

func (in *LogCollectorStatus) DeepCopy() *LogCollectorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogCollectorStatus.

func (*LogCollectorStatus) DeepCopyInto

func (in *LogCollectorStatus) DeepCopyInto(out *LogCollectorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogStorage

type LogStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for Tigera log storage.
	Spec LogStorageSpec `json:"spec,omitempty"`
	// Most recently observed state for Tigera log storage.
	Status LogStorageStatus `json:"status,omitempty"`
}

LogStorage installs the components required for Tigera flow and DNS log storage. At most one instance of this resource is supported. It must be named "tigera-secure". When created, this installs an Elasticsearch cluster for use by Calico Enterprise.

func (*LogStorage) DeepCopy

func (in *LogStorage) DeepCopy() *LogStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogStorage.

func (*LogStorage) DeepCopyInto

func (in *LogStorage) DeepCopyInto(out *LogStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogStorage) DeepCopyObject

func (in *LogStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (LogStorage) Replicas

func (ls LogStorage) Replicas() int

type LogStorageComponentName added in v1.16.0

type LogStorageComponentName string

LogStorageComponentName CRD enum

const (
	ComponentNameECKOperator LogStorageComponentName = "ECKOperator"
)

type LogStorageComponentResource added in v1.16.0

type LogStorageComponentResource struct {
	// ComponentName is an enum which identifies the component
	// +kubebuilder:validation:Enum=ECKOperator
	ComponentName LogStorageComponentName `json:"componentName"`
	// ResourceRequirements allows customization of limits and requests for compute resources such as cpu and memory.
	ResourceRequirements *corev1.ResourceRequirements `json:"resourceRequirements"`
}

The ComponentResource struct associates a ResourceRequirements with a component by name

func (*LogStorageComponentResource) DeepCopy added in v1.16.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogStorageComponentResource.

func (*LogStorageComponentResource) DeepCopyInto added in v1.16.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogStorageList

type LogStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []LogStorage `json:"items"`
}

LogStorageList contains a list of LogStorage

func (*LogStorageList) DeepCopy

func (in *LogStorageList) DeepCopy() *LogStorageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogStorageList.

func (*LogStorageList) DeepCopyInto

func (in *LogStorageList) DeepCopyInto(out *LogStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LogStorageList) DeepCopyObject

func (in *LogStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type LogStorageSpec

type LogStorageSpec struct {
	// Nodes defines the configuration for a set of identical Elasticsearch cluster nodes, each of type master, data, and ingest.
	Nodes *Nodes `json:"nodes,omitempty"`

	// Index defines the configuration for the indices in the Elasticsearch cluster.
	// +optional
	Indices *Indices `json:"indices,omitempty"`

	// Retention defines how long data is retained in the Elasticsearch cluster before it is cleared.
	// +optional
	Retention *Retention `json:"retention,omitempty"`

	// StorageClassName will populate the PersistentVolumeClaim.StorageClassName that is used to provision disks to the
	// Tigera Elasticsearch cluster. The StorageClassName should only be modified when no LogStorage is currently
	// active. We recommend choosing a storage class dedicated to Tigera LogStorage only. Otherwise, data retention
	// cannot be guaranteed during upgrades. See https://docs.tigera.io/maintenance/upgrading for up-to-date instructions.
	// Default: tigera-elasticsearch
	// +optional
	StorageClassName string `json:"storageClassName,omitempty"`

	// DataNodeSelector gives you more control over the node that Elasticsearch will run on. The contents of DataNodeSelector will
	// be added to the PodSpec of the Elasticsearch nodes. For the pod to be eligible to run on a node, the node must have
	// each of the indicated key-value pairs as labels as well as access to the specified StorageClassName.
	// +optional
	DataNodeSelector map[string]string `json:"dataNodeSelector,omitempty"`

	// ComponentResources can be used to customize the resource requirements for each component.
	// Only ECKOperator is supported for this spec.
	// +optional
	ComponentResources []LogStorageComponentResource `json:"componentResources,omitempty"`
}

LogStorageSpec defines the desired state of Tigera flow and DNS log storage.

func (*LogStorageSpec) DeepCopy

func (in *LogStorageSpec) DeepCopy() *LogStorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogStorageSpec.

func (*LogStorageSpec) DeepCopyInto

func (in *LogStorageSpec) DeepCopyInto(out *LogStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogStorageStatus

type LogStorageStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`

	// ElasticsearchHash represents the current revision and configuration of the installed Elasticsearch cluster. This
	// is an opaque string which can be monitored for changes to perform actions when Elasticsearch is modified.
	ElasticsearchHash string `json:"elasticsearchHash,omitempty"`

	// KibanaHash represents the current revision and configuration of the installed Kibana dashboard. This
	// is an opaque string which can be monitored for changes to perform actions when Kibana is modified.
	KibanaHash string `json:"kibanaHash,omitempty"`
}

LogStorageStatus defines the observed state of Tigera flow and DNS log storage.

func (*LogStorageStatus) DeepCopy

func (in *LogStorageStatus) DeepCopy() *LogStorageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogStorageStatus.

func (*LogStorageStatus) DeepCopyInto

func (in *LogStorageStatus) DeepCopyInto(out *LogStorageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagementCluster

type ManagementCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ManagementClusterSpec `json:"spec,omitempty"`
}

The presence of ManagementCluster in your cluster, will configure it to be the management plane to which managed clusters can connect. At most one instance of this resource is supported. It must be named "tigera-secure".

func (*ManagementCluster) DeepCopy

func (in *ManagementCluster) DeepCopy() *ManagementCluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementCluster.

func (*ManagementCluster) DeepCopyInto

func (in *ManagementCluster) DeepCopyInto(out *ManagementCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementCluster) DeepCopyObject

func (in *ManagementCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagementClusterConnection

type ManagementClusterConnection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ManagementClusterConnectionSpec `json:"spec,omitempty"`
}

ManagementClusterConnection represents a link between a managed cluster and a management cluster. At most one instance of this resource is supported. It must be named "tigera-secure".

func (*ManagementClusterConnection) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterConnection.

func (*ManagementClusterConnection) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementClusterConnection) DeepCopyObject

func (in *ManagementClusterConnection) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagementClusterConnectionList

type ManagementClusterConnectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ManagementClusterConnection `json:"items"`
}

ManagementClusterConnectionList contains a list of ManagementClusterConnection.

func (*ManagementClusterConnectionList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterConnectionList.

func (*ManagementClusterConnectionList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementClusterConnectionList) DeepCopyObject

func (in *ManagementClusterConnectionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagementClusterConnectionSpec

type ManagementClusterConnectionSpec struct {
	// Specify where the managed cluster can reach the management cluster. Ex.: "10.128.0.10:30449". A managed cluster
	// should be able to access this address. This field is used by managed clusters only.
	// +optional
	ManagementClusterAddr string `json:"managementClusterAddr,omitempty"`
}

ManagementClusterConnectionSpec defines the desired state of ManagementClusterConnection

func (*ManagementClusterConnectionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterConnectionSpec.

func (*ManagementClusterConnectionSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagementClusterList

type ManagementClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ManagementCluster `json:"items"`
}

ManagementClusterList contains a list of ManagementCluster

func (*ManagementClusterList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterList.

func (*ManagementClusterList) DeepCopyInto

func (in *ManagementClusterList) DeepCopyInto(out *ManagementClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagementClusterList) DeepCopyObject

func (in *ManagementClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagementClusterSpec

type ManagementClusterSpec struct {
	// This field specifies the externally reachable address to which your managed cluster will connect. When a managed
	// cluster is added, this field is used to populate an easy-to-apply manifest that will connect both clusters.
	// Valid examples are: "0.0.0.0:31000", "example.com:32000", "[::1]:32500"
	// +optional
	Address string `json:"address,omitempty"`
}

ManagementClusterSpec defines the desired state of a ManagementCluster

func (*ManagementClusterSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterSpec.

func (*ManagementClusterSpec) DeepCopyInto

func (in *ManagementClusterSpec) DeepCopyInto(out *ManagementClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Manager

type Manager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired state for the Calico Enterprise manager.
	Spec ManagerSpec `json:"spec,omitempty"`
	// Most recently observed state for the Calico Enterprise manager.
	Status ManagerStatus `json:"status,omitempty"`
}

Manager installs the Calico Enterprise manager graphical user interface. At most one instance of this resource is supported. It must be named "tigera-secure".

func (*Manager) DeepCopy

func (in *Manager) DeepCopy() *Manager

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Manager.

func (*Manager) DeepCopyInto

func (in *Manager) DeepCopyInto(out *Manager)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Manager) DeepCopyObject

func (in *Manager) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagerList

type ManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Manager `json:"items"`
}

ManagerList contains a list of Manager

func (*ManagerList) DeepCopy

func (in *ManagerList) DeepCopy() *ManagerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerList.

func (*ManagerList) DeepCopyInto

func (in *ManagerList) DeepCopyInto(out *ManagerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ManagerList) DeepCopyObject

func (in *ManagerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagerSpec

type ManagerSpec struct {
	// Deprecated. Please use the Authentication CR for configuring authentication.
	// +optional
	Auth *Auth `json:"auth,omitempty"`
}

ManagerSpec defines configuration for the Calico Enterprise manager GUI.

func (*ManagerSpec) DeepCopy

func (in *ManagerSpec) DeepCopy() *ManagerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerSpec.

func (*ManagerSpec) DeepCopyInto

func (in *ManagerSpec) DeepCopyInto(out *ManagerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagerStatus

type ManagerStatus struct {
	// Deprecated. Please use the Authentication CR for configuring authentication.
	// +optional
	Auth *Auth `json:"auth,omitempty"`

	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

ManagerStatus defines the observed state of the Calico Enterprise manager GUI.

func (*ManagerStatus) DeepCopy

func (in *ManagerStatus) DeepCopy() *ManagerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagerStatus.

func (*ManagerStatus) DeepCopyInto

func (in *ManagerStatus) DeepCopyInto(out *ManagerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetadataAccessAllowedType

type MetadataAccessAllowedType string

MetadataAccessAllowedType

const (
	MetadataAccessAllowed MetadataAccessAllowedType = "Allowed"
	MetadataAccessDenied  MetadataAccessAllowedType = "Denied"
)

type Monitor added in v1.19.0

type Monitor struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MonitorSpec   `json:"spec,omitempty"`
	Status MonitorStatus `json:"status,omitempty"`
}

Monitor is the Schema for the monitor API. At most one instance of this resource is supported. It must be named "tigera-secure".

func (*Monitor) DeepCopy added in v1.19.0

func (in *Monitor) DeepCopy() *Monitor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitor.

func (*Monitor) DeepCopyInto added in v1.19.0

func (in *Monitor) DeepCopyInto(out *Monitor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Monitor) DeepCopyObject added in v1.19.0

func (in *Monitor) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MonitorList added in v1.19.0

type MonitorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Monitor `json:"items"`
}

MonitorList contains a list of Monitor

func (*MonitorList) DeepCopy added in v1.19.0

func (in *MonitorList) DeepCopy() *MonitorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorList.

func (*MonitorList) DeepCopyInto added in v1.19.0

func (in *MonitorList) DeepCopyInto(out *MonitorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MonitorList) DeepCopyObject added in v1.19.0

func (in *MonitorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MonitorSpec added in v1.19.0

type MonitorSpec struct {
}

MonitorSpec defines the desired state of Tigera monitor.

func (*MonitorSpec) DeepCopy added in v1.19.0

func (in *MonitorSpec) DeepCopy() *MonitorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorSpec.

func (*MonitorSpec) DeepCopyInto added in v1.19.0

func (in *MonitorSpec) DeepCopyInto(out *MonitorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MonitorStatus added in v1.19.0

type MonitorStatus struct {
	// State provides user-readable status.
	State string `json:"state,omitempty"`
}

MonitorStatus defines the observed state of Tigera monitor.

func (*MonitorStatus) DeepCopy added in v1.19.0

func (in *MonitorStatus) DeepCopy() *MonitorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorStatus.

func (*MonitorStatus) DeepCopyInto added in v1.19.0

func (in *MonitorStatus) DeepCopyInto(out *MonitorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MultiInterfaceMode

type MultiInterfaceMode string

MultiInterfaceMode describes the method of providing multiple pod interfaces.

One of: None, Multus

const (
	MultiInterfaceModeNone   MultiInterfaceMode = "None"
	MultiInterfaceModeMultus MultiInterfaceMode = "Multus"
)

func (MultiInterfaceMode) Value

func (m MultiInterfaceMode) Value() string

type NATOutgoingType

type NATOutgoingType string

NATOutgoingType describe the type of outgoing NAT to use.

One of: Enabled, Disabled

const (
	NATOutgoingEnabled  NATOutgoingType = "Enabled"
	NATOutgoingDisabled NATOutgoingType = "Disabled"
)

func (NATOutgoingType) String

func (nt NATOutgoingType) String() string

type NodeAddressAutodetection

type NodeAddressAutodetection struct {
	// FirstFound uses default interface matching parameters to select an interface, performing best-effort
	// filtering based on well-known interface names.
	// +optional
	FirstFound *bool `json:"firstFound,omitempty"`

	// Interface enables IP auto-detection based on interfaces that match the given regex.
	// +optional
	Interface string `json:"interface,omitempty"`

	// SkipInterface enables IP auto-detection based on interfaces that do not match
	// the given regex.
	// +optional
	SkipInterface string `json:"skipInterface,omitempty"`

	// CanReach enables IP auto-detection based on which source address on the node is used to reach the
	// specified IP or domain.
	// +optional
	CanReach string `json:"canReach,omitempty"`

	// CIDRS enables IP auto-detection based on which addresses on the nodes are within
	// one of the provided CIDRs.
	CIDRS []string `json:"cidrs,omitempty"`
}

NodeAddressAutodetection provides configuration options for auto-detecting node addresses. At most one option can be used. If no detection option is specified, then IP auto detection will be disabled for this address family and IPs must be specified directly on the Node resource.

func (*NodeAddressAutodetection) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAddressAutodetection.

func (*NodeAddressAutodetection) DeepCopyInto

func (in *NodeAddressAutodetection) DeepCopyInto(out *NodeAddressAutodetection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeAffinity added in v1.14.4

type NodeAffinity struct {
	// The scheduler will prefer to schedule pods to nodes that satisfy
	// the affinity expressions specified by this field, but it may choose
	// a node that violates one or more of the expressions.
	// +optional
	PreferredDuringSchedulingIgnoredDuringExecution []v1.PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`

	// WARNING: Please note that if the affinity requirements specified by this field are not met at
	// scheduling time, the pod will NOT be scheduled onto the node.
	// There is no fallback to another affinity rules with this setting.
	// This may cause networking disruption or even catastrophic failure!
	// PreferredDuringSchedulingIgnoredDuringExecution should be used for affinity
	// unless there is a specific well understood reason to use RequiredDuringSchedulingIgnoredDuringExecution and
	// you can guarantee that the RequiredDuringSchedulingIgnoredDuringExecution will always have sufficient nodes to satisfy the requirement.
	// NOTE: RequiredDuringSchedulingIgnoredDuringExecution is set by default for AKS nodes,
	// to avoid scheduling Typhas on virtual-nodes.
	// If the affinity requirements specified by this field cease to be met
	// at some point during pod execution (e.g. due to an update), the system
	// may or may not try to eventually evict the pod from its node.
	// +optional
	RequiredDuringSchedulingIgnoredDuringExecution *v1.NodeSelector `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
}

NodeAffinity is similar to *v1.NodeAffinity, but allows us to limit available schedulers.

func (*NodeAffinity) DeepCopy added in v1.14.4

func (in *NodeAffinity) DeepCopy() *NodeAffinity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinity.

func (*NodeAffinity) DeepCopyInto added in v1.14.4

func (in *NodeAffinity) DeepCopyInto(out *NodeAffinity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeSet

type NodeSet struct {
	// SelectionAttributes defines K8s node attributes a NodeSet should use when setting the Node Affinity selectors and
	// Elasticsearch cluster awareness attributes for the Elasticsearch nodes. The list of SelectionAttributes are used
	// to define Node Affinities and set the node awareness configuration in the running Elasticsearch instance.
	SelectionAttributes []NodeSetSelectionAttribute `json:"selectionAttributes,omitempty"`
}

NodeSets defines configuration specific to each Elasticsearch Node Set

func (*NodeSet) DeepCopy

func (in *NodeSet) DeepCopy() *NodeSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSet.

func (*NodeSet) DeepCopyInto

func (in *NodeSet) DeepCopyInto(out *NodeSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeSetSelectionAttribute

type NodeSetSelectionAttribute struct {
	// +required
	Name string `json:"name"`
	// +required
	NodeLabel string `json:"nodeLabel"`
	// +required
	Value string `json:"value"`
}

NodeSetSelectionAttribute defines a K8s node "attribute" the Elasticsearch nodes should be aware of. The "Name" and "Value" are used together to set the "awareness" attributes in Elasticsearch, while the "NodeLabel" and "Value" are used together to define Node Affinity for the Pods created for the Elasticsearch nodes.

func (*NodeSetSelectionAttribute) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSetSelectionAttribute.

func (*NodeSetSelectionAttribute) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Nodes

type Nodes struct {
	// Count defines the number of nodes in the Elasticsearch cluster.
	Count int64 `json:"count,omitempty"`

	// NodeSets defines configuration specific to each Elasticsearch Node Set
	// +optional
	NodeSets []NodeSet `json:"nodeSets,omitempty"`

	// ResourceRequirements defines the resource limits and requirements for the Elasticsearch cluster.
	// +optional
	ResourceRequirements *corev1.ResourceRequirements `json:"resourceRequirements,omitempty"`
}

Nodes defines the configuration for a set of identical Elasticsearch cluster nodes, each of type master, data, and ingest.

func (*Nodes) DeepCopy

func (in *Nodes) DeepCopy() *Nodes

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nodes.

func (*Nodes) DeepCopyInto

func (in *Nodes) DeepCopyInto(out *Nodes)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NonPrivilegedType added in v1.23.0

type NonPrivilegedType string

NonPrivilegedType specifies whether Calico runs as permissioned or not

One of: Enabled, Disabled

const (
	NonPrivilegedEnabled  NonPrivilegedType = "Enabled"
	NonPrivilegedDisabled NonPrivilegedType = "Disabled"
)

type OIDCType added in v1.18.0

type OIDCType string

OIDCType defines how OIDC is configured for Tigera Enterprise. Dex should be the best option for most use-cases. The Tigera option can help in specific use-cases, for instance, when you are unable to configure a client secret. One of: Dex, Tigera +kubebuilder:validation:Enum=Dex;Tigera

const (
	// OIDCTypeDex uses Dex IdP, a popular open-source tool for connecting OIDC.
	OIDCTypeDex OIDCType = "Dex"
	// OIDCTypeTigera uses customer code to pass OIDC configuration directly into our server applications.
	OIDCTypeTigera OIDCType = "Tigera"
)

type ProductVariant

type ProductVariant string

ProductVariant represents the variant of the product.

One of: Calico, TigeraSecureEnterprise

var (
	Calico                 ProductVariant = "Calico"
	TigeraSecureEnterprise ProductVariant = "TigeraSecureEnterprise"
)

type PromptType added in v1.16.0

type PromptType string

PromptType is a value that specifies whether the identity provider prompts the end user for re-authentication and consent. One of: None, Login, Consent, SelectAccount. +kubebuilder:validation:Enum=None;Login;Consent;SelectAccount

const (
	// The identity provider must not display any authentication or consent user interface pages.
	PromptTypeNone PromptType = "None"
	// The identity provider should prompt the end user for reauthentication.
	PromptTypeLogin PromptType = "Login"
	// The identity provider should prompt the end user for consent before returning information to the client.
	PromptTypeConsent PromptType = "Consent"
	// The identity provider should prompt the end user to select a user account.
	PromptTypeSelectAccount PromptType = "SelectAccount"
)

type Provider

type Provider string

Provider represents a particular provider or flavor of Kubernetes. Valid options are: EKS, GKE, AKS, OpenShift, DockerEnterprise.

var (
	ProviderNone      Provider = ""
	ProviderEKS       Provider = "EKS"
	ProviderGKE       Provider = "GKE"
	ProviderAKS       Provider = "AKS"
	ProviderOpenShift Provider = "OpenShift"
	ProviderDockerEE  Provider = "DockerEnterprise"
)

type Retention

type Retention struct {
	// Flows configures the retention period for flow logs, in days.  Logs written on a day that started at least this long ago
	// are removed.  To keep logs for at least x days, use a retention period of x+1.
	// Default: 8
	// +optional
	Flows *int32 `json:"flows"`

	// AuditReports configures the retention period for audit logs, in days.  Logs written on a day that started at least this long ago are
	// removed.  To keep logs for at least x days, use a retention period of x+1.
	// Default: 91
	// +optional
	AuditReports *int32 `json:"auditReports"`

	// Snapshots configures the retention period for snapshots, in days. Snapshots are periodic captures
	// of resources which along with audit events are used to generate reports.
	// Consult the Compliance Reporting documentation for more details on snapshots.
	// Logs written on a day that started at least this long ago are
	// removed.  To keep logs for at least x days, use a retention period of x+1.
	// Default: 91
	// +optional
	Snapshots *int32 `json:"snapshots"`

	// ComplianceReports configures the retention period for compliance reports, in days. Reports are output
	// from the analysis of the system state and audit events for compliance reporting.
	// Consult the Compliance Reporting documentation for more details on reports.
	// Logs written on a day that started at least this long ago are
	// removed.  To keep logs for at least x days, use a retention period of x+1.
	// Default: 91
	// +optional
	ComplianceReports *int32 `json:"complianceReports"`
}

Retention defines how long data is retained in an Elasticsearch cluster before it is cleared.

func (*Retention) DeepCopy

func (in *Retention) DeepCopy() *Retention

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Retention.

func (*Retention) DeepCopyInto

func (in *Retention) DeepCopyInto(out *Retention)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3StoreSpec

type S3StoreSpec struct {
	// AWS Region of the S3 bucket
	Region string `json:"region"`

	// Name of the S3 bucket to send logs
	BucketName string `json:"bucketName"`

	// Path in the S3 bucket where to send logs
	BucketPath string `json:"bucketPath"`
}

S3StoreSpec defines configuration for exporting logs to Amazon S3. +k8s:openapi-gen=true

func (*S3StoreSpec) DeepCopy

func (in *S3StoreSpec) DeepCopy() *S3StoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3StoreSpec.

func (*S3StoreSpec) DeepCopyInto

func (in *S3StoreSpec) DeepCopyInto(out *S3StoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SplunkStoreSpec

type SplunkStoreSpec struct {
	// Location for splunk's http event collector end point. example `https://1.2.3.4:8088`
	Endpoint string `json:"endpoint"`
}

SplunkStoreSpec defines configuration for exporting logs to splunk.

func (*SplunkStoreSpec) DeepCopy

func (in *SplunkStoreSpec) DeepCopy() *SplunkStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SplunkStoreSpec.

func (*SplunkStoreSpec) DeepCopyInto

func (in *SplunkStoreSpec) DeepCopyInto(out *SplunkStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusConditionType

type StatusConditionType string

StatusConditionType is a type of condition that may apply to a particular component.

const (
	// Available indicates that the component is healthy.
	ComponentAvailable StatusConditionType = "Available"

	// Progressing means that the component is in the process of being installed or upgraded.
	ComponentProgressing StatusConditionType = "Progressing"

	// Degraded means the component is not operating as desired and user action is required.
	ComponentDegraded StatusConditionType = "Degraded"
)

type SyslogLogType

type SyslogLogType string

SyslogLogType represents the allowable log types for syslog. Allowable values are Audit, DNS, Flows and IDSEvents. * Audit corresponds to audit logs for both Kubernetes resources and Enterprise custom resources. * DNS corresponds to DNS logs generated by Calico node. * Flows corresponds to flow logs generated by Calico node. * IDSEvents corresponds to event logs for the intrusion detection system (anomaly detection, suspicious IPs, suspicious domains and global alerts). +kubebuilder:validation:Enum=Audit;DNS;Flows;IDSEvents

const (
	SyslogLogAudit     SyslogLogType = "Audit"
	SyslogLogDNS       SyslogLogType = "DNS"
	SyslogLogFlows     SyslogLogType = "Flows"
	SyslogLogL7        SyslogLogType = "L7"
	SyslogLogIDSEvents SyslogLogType = "IDSEvents"
)

func (SyslogLogType) String

func (cp SyslogLogType) String() string

type SyslogStoreSpec

type SyslogStoreSpec struct {
	// Location of the syslog server. example: tcp://1.2.3.4:601
	Endpoint string `json:"endpoint"`

	// PacketSize defines the maximum size of packets to send to syslog.
	// In general this is only needed if you notice long logs being truncated.
	// Default: 1024
	// +optional
	PacketSize *int32 `json:"packetSize,omitempty"`

	// LogTypes contains a list of types of logs to export to syslog. By default, if this field is
	// omitted, it will be set to include all possible values.
	LogTypes []SyslogLogType `json:"logTypes"`
}

SyslogStoreSpec defines configuration for exporting logs to syslog.

func (*SyslogStoreSpec) DeepCopy

func (in *SyslogStoreSpec) DeepCopy() *SyslogStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyslogStoreSpec.

func (*SyslogStoreSpec) DeepCopyInto

func (in *SyslogStoreSpec) DeepCopyInto(out *SyslogStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TigeraStatus

type TigeraStatus struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TigeraStatusSpec   `json:"spec,omitempty"`
	Status TigeraStatusStatus `json:"status,omitempty"`
}

TigeraStatus represents the most recently observed status for Calico or a Calico Enterprise functional area. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Available",type="string",JSONPath=".status.conditions[?(@.type=='Available')].status",description="Whether the component running and stable." +kubebuilder:printcolumn:name="Progressing",type="string",JSONPath=".status.conditions[?(@.type=='Progressing')].status",description="Whether the component is processing changes." +kubebuilder:printcolumn:name="Degraded",type="string",JSONPath=".status.conditions[?(@.type=='Degraded')].status",description="Whether the component is degraded." +kubebuilder:printcolumn:name="Since",type="date",JSONPath=".status.conditions[?(@.type=='Available')].lastTransitionTime",description="The time the component's Available status last changed."

func (*TigeraStatus) DeepCopy

func (in *TigeraStatus) DeepCopy() *TigeraStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TigeraStatus.

func (*TigeraStatus) DeepCopyInto

func (in *TigeraStatus) DeepCopyInto(out *TigeraStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TigeraStatus) DeepCopyObject

func (in *TigeraStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TigeraStatusCondition

type TigeraStatusCondition struct {
	// The type of condition. May be Available, Progressing, or Degraded.
	Type StatusConditionType `json:"type"`

	// The status of the condition. May be True, False, or Unknown.
	Status ConditionStatus `json:"status"`

	// The timestamp representing the start time for the current status.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`

	// A brief reason explaining the condition.
	Reason string `json:"reason,omitempty"`

	// Optionally, a detailed message providing additional context.
	Message string `json:"message,omitempty"`
}

TigeraStatusCondition represents a condition attached to a particular component. +k8s:deepcopy-gen=true

func (*TigeraStatusCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TigeraStatusCondition.

func (*TigeraStatusCondition) DeepCopyInto

func (in *TigeraStatusCondition) DeepCopyInto(out *TigeraStatusCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TigeraStatusList

type TigeraStatusList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TigeraStatus `json:"items"`
}

TigeraStatusList contains a list of TigeraStatus

func (*TigeraStatusList) DeepCopy

func (in *TigeraStatusList) DeepCopy() *TigeraStatusList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TigeraStatusList.

func (*TigeraStatusList) DeepCopyInto

func (in *TigeraStatusList) DeepCopyInto(out *TigeraStatusList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TigeraStatusList) DeepCopyObject

func (in *TigeraStatusList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TigeraStatusSpec

type TigeraStatusSpec struct {
}

TigeraStatusSpec defines the desired state of TigeraStatus

func (*TigeraStatusSpec) DeepCopy

func (in *TigeraStatusSpec) DeepCopy() *TigeraStatusSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TigeraStatusSpec.

func (*TigeraStatusSpec) DeepCopyInto

func (in *TigeraStatusSpec) DeepCopyInto(out *TigeraStatusSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TigeraStatusStatus

type TigeraStatusStatus struct {
	// Conditions represents the latest observed set of conditions for this component. A component may be one or more of
	// Available, Progressing, or Degraded.
	Conditions []TigeraStatusCondition `json:"conditions"`
}

TigeraStatusStatus defines the observed state of TigeraStatus

func (*TigeraStatusStatus) DeepCopy

func (in *TigeraStatusStatus) DeepCopy() *TigeraStatusStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TigeraStatusStatus.

func (*TigeraStatusStatus) DeepCopyInto

func (in *TigeraStatusStatus) DeepCopyInto(out *TigeraStatusStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TyphaAffinity added in v1.13.3

type TyphaAffinity struct {
	// NodeAffinity describes node affinity scheduling rules for typha.
	// +optional
	NodeAffinity *NodeAffinity `json:"nodeAffinity,omitempty"`
}

TyphaAffinity allows configuration of node affinitiy characteristics for Typha pods.

func (*TyphaAffinity) DeepCopy added in v1.13.3

func (in *TyphaAffinity) DeepCopy() *TyphaAffinity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TyphaAffinity.

func (*TyphaAffinity) DeepCopyInto added in v1.13.3

func (in *TyphaAffinity) DeepCopyInto(out *TyphaAffinity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserMatch added in v1.16.0

type UserMatch struct {
	// The attribute of a user that links it to a group.
	// +required
	UserAttribute string `json:"userAttribute"`

	// The attribute of a group that links it to a user.
	// +required
	GroupAttribute string `json:"groupAttribute"`
}

UserMatch when the value of a UserAttribute and a GroupAttribute match, a user belongs to the group.

func (*UserMatch) DeepCopy added in v1.16.0

func (in *UserMatch) DeepCopy() *UserMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMatch.

func (*UserMatch) DeepCopyInto added in v1.16.0

func (in *UserMatch) DeepCopyInto(out *UserMatch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserSearch added in v1.16.0

type UserSearch struct {
	// BaseDN to start the search from. For example "cn=users,dc=example,dc=com"
	// +required
	BaseDN string `json:"baseDN"`

	// Optional filter to apply when searching the directory. For example "(objectClass=person)"
	// +optional
	Filter string `json:"filter,omitempty"`

	// A mapping of the attribute that is used as the username. This attribute can be used to apply RBAC to a user.
	// Default: uid
	// +optional
	NameAttribute string `json:"nameAttribute,omitempty"`
}

User entry search configuration to match the credentials with a user.

func (*UserSearch) DeepCopy added in v1.16.0

func (in *UserSearch) DeepCopy() *UserSearch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSearch.

func (*UserSearch) DeepCopyInto added in v1.16.0

func (in *UserSearch) DeepCopyInto(out *UserSearch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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