Packages:
API Schema definitions for configuring the installation of Calico and Calico Enterprise
Resource Types:APIServer installs the Tigera API server and related resources. At most one instance of this resource is supported. It must be named “tigera-secure”.
| Field | Description | ||
|---|---|---|---|
apiVersionstring |
operator.tigera.io/v1
|
||
kindstring |
APIServer |
||
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||
specAPIServerSpec |
Specification of the desired state for the Tigera API server.
|
||
statusAPIServerStatus |
Most recently observed status for the Tigera API server. |
ApplicationLayer is the Schema for the applicationlayers API
| Field | Description | ||
|---|---|---|---|
apiVersionstring |
operator.tigera.io/v1
|
||
kindstring |
ApplicationLayer |
||
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||
specApplicationLayerSpec |
|
||
statusApplicationLayerStatus |
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 <variant>-<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.
| Field | Description | ||
|---|---|---|---|
apiVersionstring |
operator.tigera.io/v1
|
||
kindstring |
ImageSet |
||
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||
specImageSetSpec |
|
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.
| Field | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring |
operator.tigera.io/v1
|
||||||||||||||||||||||||||||||||||||||||||||||||||
kindstring |
Installation |
||||||||||||||||||||||||||||||||||||||||||||||||||
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||||||||||||||||||||||||||||||||||||||||
specInstallationSpec |
Specification of the desired state for the Calico or Calico Enterprise installation.
|
||||||||||||||||||||||||||||||||||||||||||||||||||
statusInstallationStatus |
Most recently observed state for the Calico or Calico Enterprise installation. |
Monitor is the Schema for the monitor API. At most one instance of this resource is supported. It must be named “tigera-secure”.
| Field | Description |
|---|---|
apiVersionstring |
operator.tigera.io/v1
|
kindstring |
Monitor |
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specMonitorSpec |
|
statusMonitorStatus |
TigeraStatus represents the most recently observed status for Calico or a Calico Enterprise functional area.
| Field | Description |
|---|---|
apiVersionstring |
operator.tigera.io/v1
|
kindstring |
TigeraStatus |
metadataKubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
specTigeraStatusSpec |
|
statusTigeraStatusStatus |
(Appears on: APIServerSpec)
APIServerDeployment is the configuration for the API server Deployment.
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the Deployment. |
specAPIServerDeploymentSpec |
(Optional)
Spec is the specification of the API server Deployment. |
(Appears on: APIServerDeploymentPodSpec)
APIServerDeploymentContainer is an API server Deployment container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the API server Deployment container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named API server Deployment container’s resources. If omitted, the API server Deployment will use its default value for this container’s resources. If used in conjunction with the deprecated ComponentResources, then this value takes precedence. |
(Appears on: APIServerDeploymentPodSpec)
APIServerDeploymentInitContainer is an API server Deployment init container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the API server Deployment init container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named API server Deployment init container’s resources. If omitted, the API server Deployment will use its default value for this init container’s resources. |
(Appears on: APIServerDeploymentPodTemplateSpec)
APIServerDeploymentDeploymentPodSpec is the API server Deployment’s PodSpec.
| Field | Description |
|---|---|
initContainers[]APIServerDeploymentInitContainer |
(Optional)
InitContainers is a list of API server init containers. If specified, this overrides the specified API server Deployment init containers. If omitted, the API server Deployment will use its default values for its init containers. |
containers[]APIServerDeploymentContainer |
(Optional)
Containers is a list of API server containers. If specified, this overrides the specified API server Deployment containers. If omitted, the API server Deployment will use its default values for its containers. |
affinityKubernetes core/v1.Affinity |
(Optional)
Affinity is a group of affinity scheduling rules for the API server pods. If specified, this overrides any affinity that may be set on the API server Deployment. If omitted, the API server Deployment will use its default value for affinity. WARNING: Please note that this field will override the default API server Deployment affinity. |
nodeSelectormap[string]string |
NodeSelector is the API server pod’s scheduling constraints. If specified, each of the key/value pairs are added to the API server Deployment nodeSelector provided the key does not already exist in the object’s nodeSelector. If used in conjunction with ControlPlaneNodeSelector, that nodeSelector is set on the API server Deployment and each of this field’s key/value pairs are added to the API server Deployment nodeSelector provided the key does not already exist in the object’s nodeSelector. If omitted, the API server Deployment will use its default value for nodeSelector. WARNING: Please note that this field will modify the default API server Deployment nodeSelector. |
tolerations[]Kubernetes core/v1.Toleration |
(Optional)
Tolerations is the API server pod’s tolerations. If specified, this overrides any tolerations that may be set on the API server Deployment. If omitted, the API server Deployment will use its default value for tolerations. WARNING: Please note that this field will override the default API server Deployment tolerations. |
(Appears on: APIServerDeploymentSpec)
APIServerDeploymentPodTemplateSpec is the API server Deployment’s PodTemplateSpec
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the pod’s metadata. |
specAPIServerDeploymentPodSpec |
(Optional)
Spec is the API server Deployment’s PodSpec. |
(Appears on: APIServerDeployment)
APIServerDeploymentSpec defines configuration for the API server Deployment.
| Field | Description |
|---|---|
minReadySecondsint32 |
(Optional)
MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should be ready without any of its container crashing, for it to be considered available. If specified, this overrides any minReadySeconds value that may be set on the API server Deployment. If omitted, the API server Deployment will use its default value for minReadySeconds. |
templateAPIServerDeploymentPodTemplateSpec |
(Optional)
Template describes the API server Deployment pod that will be created. |
(Appears on: APIServer)
APIServerSpec defines the desired state of Tigera API server.
| Field | Description |
|---|---|
apiServerDeploymentAPIServerDeployment |
APIServerDeployment configures the calico-apiserver (or tigera-apiserver in Enterprise) Deployment. If used in conjunction with ControlPlaneNodeSelector or ControlPlaneTolerations, then these overrides take precedence. |
(Appears on: APIServer)
APIServerStatus defines the observed state of Tigera API server.
| Field | Description |
|---|---|
statestring |
State provides user-readable status. |
(Appears on: ApplicationLayer)
ApplicationLayerSpec defines the desired state of ApplicationLayer
| Field | Description |
|---|---|
logCollectionLogCollectionSpec |
Specification for application layer (L7) log collection. |
(Appears on: ApplicationLayer)
ApplicationLayerStatus defines the observed state of ApplicationLayer
| Field | Description |
|---|---|
statestring |
State provides user-readable status. |
string alias)(Appears on: CalicoNetworkSpec)
BGPOption describes the mode of BGP to use.
One of: Enabled, Disabled
string alias)CAType specifies which verification method the tunnel client should use to verify the tunnel server’s identity.
One of: Tigera, Public
string alias)(Appears on: CNISpec)
CNIPluginType describes the type of CNI plugin used.
One of: Calico, GKE, AmazonVPC, AzureVNET
(Appears on: InstallationSpec)
CNISpec contains configuration for the CNI plugin.
| Field | Description |
|---|---|
typeCNIPluginType |
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 |
ipamIPAMSpec |
(Optional)
IPAM specifies the pod IP address management that will be used in the Calico or Calico Enterprise installation. |
(Appears on: InstallationSpec)
CalicoKubeControllersDeployment is the configuration for the calico-kube-controllers Deployment.
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the Deployment. |
specCalicoKubeControllersDeploymentSpec |
(Optional)
Spec is the specification of the calico-kube-controllers Deployment. |
(Appears on: CalicoKubeControllersDeploymentPodSpec)
CalicoKubeControllersDeploymentContainer is a calico-kube-controllers Deployment container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the calico-kube-controllers Deployment container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named calico-kube-controllers Deployment container’s resources. If omitted, the calico-kube-controllers Deployment will use its default value for this container’s resources. If used in conjunction with the deprecated ComponentResources, then this value takes precedence. |
(Appears on: CalicoKubeControllersDeploymentPodTemplateSpec)
CalicoKubeControllersDeploymentPodSpec is the calico-kube-controller Deployment’s PodSpec.
| Field | Description |
|---|---|
containers[]CalicoKubeControllersDeploymentContainer |
(Optional)
Containers is a list of calico-kube-controllers containers. If specified, this overrides the specified calico-kube-controllers Deployment containers. If omitted, the calico-kube-controllers Deployment will use its default values for its containers. |
affinityKubernetes core/v1.Affinity |
(Optional)
Affinity is a group of affinity scheduling rules for the calico-kube-controllers pods. If specified, this overrides any affinity that may be set on the calico-kube-controllers Deployment. If omitted, the calico-kube-controllers Deployment will use its default value for affinity. WARNING: Please note that this field will override the default calico-kube-controllers Deployment affinity. |
nodeSelectormap[string]string |
NodeSelector is the calico-kube-controllers pod’s scheduling constraints. If specified, each of the key/value pairs are added to the calico-kube-controllers Deployment nodeSelector provided the key does not already exist in the object’s nodeSelector. If used in conjunction with ControlPlaneNodeSelector, that nodeSelector is set on the calico-kube-controllers Deployment and each of this field’s key/value pairs are added to the calico-kube-controllers Deployment nodeSelector provided the key does not already exist in the object’s nodeSelector. If omitted, the calico-kube-controllers Deployment will use its default value for nodeSelector. WARNING: Please note that this field will modify the default calico-kube-controllers Deployment nodeSelector. |
tolerations[]Kubernetes core/v1.Toleration |
(Optional)
Tolerations is the calico-kube-controllers pod’s tolerations. If specified, this overrides any tolerations that may be set on the calico-kube-controllers Deployment. If omitted, the calico-kube-controllers Deployment will use its default value for tolerations. WARNING: Please note that this field will override the default calico-kube-controllers Deployment tolerations. |
(Appears on: CalicoKubeControllersDeploymentSpec)
CalicoKubeControllersDeploymentPodTemplateSpec is the calico-kube-controllers Deployment’s PodTemplateSpec
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the pod’s metadata. |
specCalicoKubeControllersDeploymentPodSpec |
(Optional)
Spec is the calico-kube-controllers Deployment’s PodSpec. |
(Appears on: CalicoKubeControllersDeployment)
CalicoKubeControllersDeploymentSpec defines configuration for the calico-kube-controllers Deployment.
| Field | Description |
|---|---|
minReadySecondsint32 |
(Optional)
MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should be ready without any of its container crashing, for it to be considered available. If specified, this overrides any minReadySeconds value that may be set on the calico-kube-controllers Deployment. If omitted, the calico-kube-controllers Deployment will use its default value for minReadySeconds. |
templateCalicoKubeControllersDeploymentPodTemplateSpec |
(Optional)
Template describes the calico-kube-controllers Deployment pod that will be created. |
(Appears on: InstallationSpec)
CalicoNetworkSpec specifies configuration options for Calico provided pod networking.
| Field | Description |
|---|---|
linuxDataplaneLinuxDataplaneOption |
(Optional)
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 |
bgpBGPOption |
(Optional)
BGP configures whether or not to enable Calico’s BGP capabilities. |
ipPools[]IPPool |
(Optional)
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. |
mtuint32 |
(Optional)
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. |
nodeAddressAutodetectionV4NodeAddressAutodetection |
(Optional)
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. |
nodeAddressAutodetectionV6NodeAddressAutodetection |
(Optional)
NodeAddressAutodetectionV6 specifies an approach to automatically detect node IPv6 addresses. If not specified, IPv6 addresses will not be auto-detected. |
hostPortsHostPortsType |
(Optional)
HostPorts configures whether or not Calico will support Kubernetes HostPorts. Valid only when using the Calico CNI plugin. Default: Enabled |
multiInterfaceModeMultiInterfaceMode |
(Optional)
MultiInterfaceMode configures what will configure multiple interface per pod. Only valid for Calico Enterprise installations using the Calico CNI plugin. Default: None |
containerIPForwardingContainerIPForwardingType |
(Optional)
ContainerIPForwarding configures whether ip forwarding will be enabled for containers in the CNI configuration. Default: Disabled |
(Appears on: InstallationSpec)
CalicoNodeDaemonSet is the configuration for the calico-node DaemonSet.
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the DaemonSet. |
specCalicoNodeDaemonSetSpec |
(Optional)
Spec is the specification of the calico-node DaemonSet. |
(Appears on: CalicoNodeDaemonSetPodSpec)
CalicoNodeDaemonSetContainer is a calico-node DaemonSet container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the calico-node DaemonSet container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named calico-node DaemonSet container’s resources. If omitted, the calico-node DaemonSet will use its default value for this container’s resources. If used in conjunction with the deprecated ComponentResources, then this value takes precedence. |
(Appears on: CalicoNodeDaemonSetPodSpec)
CalicoNodeDaemonSetInitContainer is a calico-node DaemonSet init container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the calico-node DaemonSet init container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named calico-node DaemonSet init container’s resources. If omitted, the calico-node DaemonSet will use its default value for this container’s resources. If used in conjunction with the deprecated ComponentResources, then this value takes precedence. |
(Appears on: CalicoNodeDaemonSetPodTemplateSpec)
CalicoNodeDaemonSetPodSpec is the calico-node DaemonSet’s PodSpec.
| Field | Description |
|---|---|
initContainers[]CalicoNodeDaemonSetInitContainer |
(Optional)
InitContainers is a list of calico-node init containers. If specified, this overrides the specified calico-node DaemonSet init containers. If omitted, the calico-node DaemonSet will use its default values for its init containers. |
containers[]CalicoNodeDaemonSetContainer |
(Optional)
Containers is a list of calico-node containers. If specified, this overrides the specified calico-node DaemonSet containers. If omitted, the calico-node DaemonSet will use its default values for its containers. |
affinityKubernetes core/v1.Affinity |
(Optional)
Affinity is a group of affinity scheduling rules for the calico-node pods. If specified, this overrides any affinity that may be set on the calico-node DaemonSet. If omitted, the calico-node DaemonSet will use its default value for affinity. WARNING: Please note that this field will override the default calico-node DaemonSet affinity. |
nodeSelectormap[string]string |
(Optional)
NodeSelector is the calico-node pod’s scheduling constraints. If specified, each of the key/value pairs are added to the calico-node DaemonSet nodeSelector provided the key does not already exist in the object’s nodeSelector. If omitted, the calico-node DaemonSet will use its default value for nodeSelector. WARNING: Please note that this field will modify the default calico-node DaemonSet nodeSelector. |
tolerations[]Kubernetes core/v1.Toleration |
(Optional)
Tolerations is the calico-node pod’s tolerations. If specified, this overrides any tolerations that may be set on the calico-node DaemonSet. If omitted, the calico-node DaemonSet will use its default value for tolerations. WARNING: Please note that this field will override the default calico-node DaemonSet tolerations. |
(Appears on: CalicoNodeDaemonSetSpec)
CalicoNodeDaemonSetPodTemplateSpec is the calico-node DaemonSet’s PodTemplateSpec
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the pod’s metadata. |
specCalicoNodeDaemonSetPodSpec |
(Optional)
Spec is the calico-node DaemonSet’s PodSpec. |
(Appears on: CalicoNodeDaemonSet)
CalicoNodeDaemonSetSpec defines configuration for the calico-node DaemonSet.
| Field | Description |
|---|---|
minReadySecondsint32 |
(Optional)
MinReadySeconds is the minimum number of seconds for which a newly created DaemonSet pod should be ready without any of its container crashing, for it to be considered available. If specified, this overrides any minReadySeconds value that may be set on the calico-node DaemonSet. If omitted, the calico-node DaemonSet will use its default value for minReadySeconds. |
templateCalicoNodeDaemonSetPodTemplateSpec |
(Optional)
Template describes the calico-node DaemonSet pod that will be created. |
(Appears on: InstallationSpec)
CalicoWindowsUpgradeDaemonSet is the configuration for the calico-windows-upgrade DaemonSet.
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the Deployment. |
specCalicoWindowsUpgradeDaemonSetSpec |
(Optional)
Spec is the specification of the calico-windows-upgrade DaemonSet. |
(Appears on: CalicoWindowsUpgradeDaemonSetPodSpec)
CalicoWindowsUpgradeDaemonSetContainer is a calico-windows-upgrade DaemonSet container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the calico-windows-upgrade DaemonSet container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named calico-windows-upgrade DaemonSet container’s resources. If omitted, the calico-windows-upgrade DaemonSet will use its default value for this container’s resources. |
(Appears on: CalicoWindowsUpgradeDaemonSetPodTemplateSpec)
CalicoWindowsUpgradeDaemonSetPodSpec is the calico-windows-upgrade DaemonSet’s PodSpec.
| Field | Description |
|---|---|
containers[]CalicoWindowsUpgradeDaemonSetContainer |
(Optional)
Containers is a list of calico-windows-upgrade containers. If specified, this overrides the specified calico-windows-upgrade DaemonSet containers. If omitted, the calico-windows-upgrade DaemonSet will use its default values for its containers. |
affinityKubernetes core/v1.Affinity |
(Optional)
Affinity is a group of affinity scheduling rules for the calico-windows-upgrade pods. If specified, this overrides any affinity that may be set on the calico-windows-upgrade DaemonSet. If omitted, the calico-windows-upgrade DaemonSet will use its default value for affinity. WARNING: Please note that this field will override the default calico-windows-upgrade DaemonSet affinity. |
nodeSelectormap[string]string |
(Optional)
NodeSelector is the calico-windows-upgrade pod’s scheduling constraints. If specified, each of the key/value pairs are added to the calico-windows-upgrade DaemonSet nodeSelector provided the key does not already exist in the object’s nodeSelector. If omitted, the calico-windows-upgrade DaemonSet will use its default value for nodeSelector. WARNING: Please note that this field will modify the default calico-windows-upgrade DaemonSet nodeSelector. |
tolerations[]Kubernetes core/v1.Toleration |
(Optional)
Tolerations is the calico-windows-upgrade pod’s tolerations. If specified, this overrides any tolerations that may be set on the calico-windows-upgrade DaemonSet. If omitted, the calico-windows-upgrade DaemonSet will use its default value for tolerations. WARNING: Please note that this field will override the default calico-windows-upgrade DaemonSet tolerations. |
(Appears on: CalicoWindowsUpgradeDaemonSetSpec)
CalicoWindowsUpgradeDaemonSetPodTemplateSpec is the calico-windows-upgrade DaemonSet’s PodTemplateSpec
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the pod’s metadata. |
specCalicoWindowsUpgradeDaemonSetPodSpec |
(Optional)
Spec is the calico-windows-upgrade DaemonSet’s PodSpec. |
(Appears on: CalicoWindowsUpgradeDaemonSet)
CalicoWindowsUpgradeDaemonSetSpec defines configuration for the calico-windows-upgrade DaemonSet.
| Field | Description |
|---|---|
minReadySecondsint32 |
(Optional)
MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should be ready without any of its container crashing, for it to be considered available. If specified, this overrides any minReadySeconds value that may be set on the calico-windows-upgrade DaemonSet. If omitted, the calico-windows-upgrade DaemonSet will use its default value for minReadySeconds. |
templateCalicoWindowsUpgradeDaemonSetPodTemplateSpec |
(Optional)
Template describes the calico-windows-upgrade DaemonSet pod that will be created. |
(Appears on: InstallationSpec)
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.
| Field | Description |
|---|---|
caCert[]byte |
Certificate of the authority that signs the CertificateSigningRequests in PEM format. |
signerNamestring |
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: |
keyAlgorithmstring |
(Optional)
Specify the algorithm used by pods to generate a key pair that is associated with the X.509 certificate request. Default: RSAWithSize2048 |
signatureAlgorithmstring |
(Optional)
Specify the algorithm used for the signature of the X.509 certificate request. Default: SHA256WithRSA |
string alias)string alias)(Appears on: ComponentResource)
ComponentName represents a single component.
One of: Node, Typha, KubeControllers
(Appears on: InstallationSpec)
Deprecated. Please use component resource config fields in Installation.Spec instead. The ComponentResource struct associates a ResourceRequirements with a component by name
| Field | Description |
|---|---|
componentNameComponentName |
ComponentName is an enum which identifies the component |
resourceRequirementsKubernetes core/v1.ResourceRequirements |
ResourceRequirements allows customization of limits and requests for compute resources such as cpu and memory. |
string alias)(Appears on: TigeraStatusCondition)
ConditionStatus represents the status of a particular condition. A condition may be one of: True, False, Unknown.
string alias)(Appears on: CalicoNetworkSpec)
ContainerIPForwardingType specifies whether the CNI config for container ip forwarding is enabled.
string alias)(Appears on: IPPool)
EncapsulationType is the type of encapsulation to use on an IP pool.
One of: IPIP, VXLAN, IPIPCrossSubnet, VXLANCrossSubnet, None
string alias)(Appears on: InstallationSpec)
string alias)(Appears on: CalicoNetworkSpec)
HostPortsType specifies host port support.
One of: Enabled, Disabled
string alias)(Appears on: IPAMSpec)
(Appears on: CNISpec)
IPAMSpec contains configuration for pod IP address management.
| Field | Description |
|---|---|
typeIPAMPluginType |
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 |
(Appears on: CalicoNetworkSpec)
| Field | Description |
|---|---|
cidrstring |
CIDR contains the address range for the IP Pool in classless inter-domain routing format. |
encapsulationEncapsulationType |
(Optional)
Encapsulation specifies the encapsulation type that will be used with the IP Pool. Default: IPIP |
natOutgoingNATOutgoingType |
(Optional)
NATOutgoing specifies if NAT will be enabled or disabled for outgoing traffic. Default: Enabled |
nodeSelectorstring |
(Optional)
NodeSelector specifies the node selector that will be set for the IP Pool. Default: ‘all()’ |
blockSizeint32 |
(Optional)
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) |
disableBGPExportbool |
(Optional)
DisableBGPExport specifies whether routes from this IP pool’s CIDR are exported over BGP. Default: false |
(Appears on: ImageSetSpec)
| Field | Description |
|---|---|
imagestring |
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 |
digeststring |
Digest is the image identifier that will be used for the Image.
The field should not include a leading |
(Appears on: ImageSet)
ImageSetSpec defines the desired state of ImageSet.
| Field | Description |
|---|---|
images[]Image |
Images is the list of images to use digests. All images that the operator will deploy must be specified. |
(Appears on: Installation, InstallationStatus)
InstallationSpec defines configuration for a Calico or Calico Enterprise installation.
| Field | Description |
|---|---|
variantProductVariant |
(Optional)
Variant is the product to install - one of Calico or TigeraSecureEnterprise Default: Calico |
registrystring |
(Optional)
Registry is the default Docker registry used for component Docker images.
If specified then the given value must end with a slash character ( Image format:
This option allows configuring the |
imagePathstring |
(Optional)
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:
This option allows configuring the |
imagePrefixstring |
(Optional)
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:
This option allows configuring the |
imagePullSecrets[]Kubernetes core/v1.LocalObjectReference |
(Optional)
ImagePullSecrets is an array of references to container registry pull secrets to use. These are applied to all images to be pulled. |
kubernetesProviderProvider |
(Optional)
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. |
cniCNISpec |
(Optional)
CNI specifies the CNI that will be used by this installation. |
calicoNetworkCalicoNetworkSpec |
(Optional)
CalicoNetwork specifies networking configuration options for Calico. |
typhaAffinityTyphaAffinity |
(Optional)
Deprecated. Please use Installation.Spec.TyphaDeployment instead. TyphaAffinity allows configuration of node affinity characteristics for Typha pods. |
controlPlaneNodeSelectormap[string]string |
(Optional)
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. |
controlPlaneTolerations[]Kubernetes core/v1.Toleration |
(Optional)
ControlPlaneTolerations specify tolerations which are then globally applied to all resources created by the operator. |
controlPlaneReplicasint32 |
(Optional)
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. |
nodeMetricsPortint32 |
(Optional)
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. |
typhaMetricsPortint32 |
(Optional)
TyphaMetricsPort specifies which port calico/typha serves prometheus metrics on. By default, metrics are not enabled. |
flexVolumePathstring |
(Optional)
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. |
kubeletVolumePluginPathstring |
(Optional)
KubeletVolumePluginPath optionally specifies enablement of Calico CSI plugin. If not specified, CSI will be enabled by default. If set to ‘None’, CSI will be disabled. Default: /var/lib/kubelet |
nodeUpdateStrategyKubernetes apps/v1.DaemonSetUpdateStrategy |
(Optional)
NodeUpdateStrategy can be used to customize the desired update strategy, such as the MaxUnavailable field. |
componentResources[]ComponentResource |
(Optional)
Deprecated. Please use CalicoNodeDaemonSet, TyphaDeployment, and KubeControllersDeployment. ComponentResources can be used to customize the resource requirements for each component. Node, Typha, and KubeControllers are supported for installations. |
certificateManagementCertificateManagement |
(Optional)
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. |
nonPrivilegedNonPrivilegedType |
(Optional)
NonPrivileged configures Calico to be run in non-privileged containers as non-root users where possible. |
calicoNodeDaemonSetCalicoNodeDaemonSet |
CalicoNodeDaemonSet configures the calico-node DaemonSet. If used in conjunction with the deprecated ComponentResources, then these overrides take precedence. |
calicoKubeControllersDeploymentCalicoKubeControllersDeployment |
CalicoKubeControllersDeployment configures the calico-kube-controllers Deployment. If used in conjunction with the deprecated ComponentResources, then these overrides take precedence. |
typhaDeploymentTyphaDeployment |
TyphaDeployment configures the typha Deployment. If used in conjunction with the deprecated ComponentResources or TyphaAffinity, then these overrides take precedence. |
calicoWindowsUpgradeDaemonSetCalicoWindowsUpgradeDaemonSet |
CalicoWindowsUpgradeDaemonSet configures the calico-windows-upgrade DaemonSet. |
fipsModeFIPSMode |
(Optional)
FIPSMode uses images and features only that are using FIPS 140-2 validated cryptographic modules and standards. Default: Disabled |
(Appears on: Installation)
InstallationStatus defines the observed state of the Calico or Calico Enterprise installation.
| Field | Description |
|---|---|
variantProductVariant |
Variant is the most recently observed installed variant - one of Calico or TigeraSecureEnterprise |
mtuint32 |
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. |
imageSetstring |
(Optional)
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. |
computedInstallationSpec |
(Optional)
Computed is the final installation including overlaid resources. |
conditions[]Kubernetes meta/v1.Condition |
(Optional)
Conditions represents the latest observed set of conditions for the component. A component may be one or more of Ready, Progressing, Degraded or other customer types. |
string alias)(Appears on: NodeAddressAutodetection)
KubernetesAutodetectionMethod is a method of detecting an IP address based on the Kubernetes API.
One of: NodeInternalIP
string alias)(Appears on: CalicoNetworkSpec)
LinuxDataplaneOption controls which dataplane is to be used on Linux nodes.
One of: Iptables, BPF
(Appears on: ApplicationLayerSpec)
| Field | Description |
|---|---|
collectLogsLogCollectionStatusType |
(Optional)
This setting enables or disable log collection. Allowed values are Enabled or Disabled. |
logIntervalSecondsint64 |
(Optional)
Interval in seconds for sending L7 log information for processing. Default: 5 sec |
logRequestsPerIntervalint64 |
(Optional)
Maximum number of unique L7 logs that are sent LogIntervalSeconds. Adjust this to limit the number of L7 logs sent per LogIntervalSeconds to felix for further processing, use negative number to ignore limits. Default: -1 |
string alias)(Appears on: LogCollectionSpec)
(Appears on: APIServerDeployment, APIServerDeploymentPodTemplateSpec, CalicoKubeControllersDeployment, CalicoKubeControllersDeploymentPodTemplateSpec, CalicoNodeDaemonSet, CalicoNodeDaemonSetPodTemplateSpec, CalicoWindowsUpgradeDaemonSet, CalicoWindowsUpgradeDaemonSetPodTemplateSpec, TyphaDeployment, TyphaDeploymentPodTemplateSpec)
Metadata contains the standard Kubernetes labels and annotations fields.
| Field | Description |
|---|---|
labelsmap[string]string |
(Optional)
Labels is a map of string keys and values that may match replicaset and service selectors. Each of these key/value pairs are added to the object’s labels provided the key does not already exist in the object’s labels. |
annotationsmap[string]string |
(Optional)
Annotations is a map of arbitrary non-identifying metadata. Each of these key/value pairs are added to the object’s annotations provided the key does not already exist in the object’s annotations. |
(Appears on: Monitor)
MonitorSpec defines the desired state of Tigera monitor.
(Appears on: Monitor)
MonitorStatus defines the observed state of Tigera monitor.
| Field | Description |
|---|---|
statestring |
State provides user-readable status. |
string alias)(Appears on: CalicoNetworkSpec)
MultiInterfaceMode describes the method of providing multiple pod interfaces.
One of: None, Multus
string alias)(Appears on: IPPool)
NATOutgoingType describe the type of outgoing NAT to use.
One of: Enabled, Disabled
(Appears on: CalicoNetworkSpec)
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.
| Field | Description |
|---|---|
firstFoundbool |
(Optional)
FirstFound uses default interface matching parameters to select an interface, performing best-effort filtering based on well-known interface names. |
kubernetesKubernetesAutodetectionMethod |
(Optional)
Kubernetes configures Calico to detect node addresses based on the Kubernetes API. |
interfacestring |
(Optional)
Interface enables IP auto-detection based on interfaces that match the given regex. |
skipInterfacestring |
(Optional)
SkipInterface enables IP auto-detection based on interfaces that do not match the given regex. |
canReachstring |
(Optional)
CanReach enables IP auto-detection based on which source address on the node is used to reach the specified IP or domain. |
cidrs[]string |
CIDRS enables IP auto-detection based on which addresses on the nodes are within one of the provided CIDRs. |
(Appears on: TyphaAffinity)
NodeAffinity is similar to *v1.NodeAffinity, but allows us to limit available schedulers.
| Field | Description |
|---|---|
preferredDuringSchedulingIgnoredDuringExecution[]Kubernetes core/v1.PreferredSchedulingTerm |
(Optional)
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. |
requiredDuringSchedulingIgnoredDuringExecutionKubernetes core/v1.NodeSelector |
(Optional)
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. |
string alias)(Appears on: InstallationSpec)
NonPrivilegedType specifies whether Calico runs as permissioned or not
One of: Enabled, Disabled
string alias)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
string alias)(Appears on: InstallationSpec, InstallationStatus)
ProductVariant represents the variant of the product.
One of: Calico, TigeraSecureEnterprise
string alias)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.
string alias)(Appears on: InstallationSpec)
Provider represents a particular provider or flavor of Kubernetes. Valid options are: EKS, GKE, AKS, RKE2, OpenShift, DockerEnterprise.
string alias)(Appears on: TigeraStatusCondition)
StatusConditionType is a type of condition that may apply to a particular component.
| Field | Description |
|---|---|
secretNamestring |
(Optional)
SecretName indicates the name of the secret in the tigera-operator namespace that contains the private key and certificate that the management cluster uses when it listens for incoming connections. When set to tigera-management-cluster-connection voltron will use the same cert bundle which Guardian client certs are signed with. When set to manager-tls, voltron will use the same cert bundle which Manager UI is served with. This cert bundle must be a publicly signed cert created by the user. Note that Tigera Operator will generate a self-signed manager-tls cert if one does not exist, and use of that cert will result in Guardian being unable to verify Voltron’s identity. If changed on a running cluster with connected managed clusters, all managed clusters will disconnect as they will no longer be able to verify Voltron’s identity. To reconnect existing managed clusters, change the tls.ca of the managed clusters’ ManagementClusterConnection resource. One of: tigera-management-cluster-connection, manager-tls Default: tigera-management-cluster-connection |
(Appears on: TigeraStatusStatus)
TigeraStatusCondition represents a condition attached to a particular component.
| Field | Description |
|---|---|
typeStatusConditionType |
The type of condition. May be Available, Progressing, or Degraded. |
statusConditionStatus |
The status of the condition. May be True, False, or Unknown. |
lastTransitionTimeKubernetes meta/v1.Time |
The timestamp representing the start time for the current status. |
reasonstring |
A brief reason explaining the condition. |
messagestring |
Optionally, a detailed message providing additional context. |
observedGenerationint64 |
(Optional)
observedGeneration represents the generation that the condition was set based upon. For instance, if generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. |
string alias)TigeraStatusReason represents the reason for a particular condition.
(Appears on: TigeraStatus)
TigeraStatusSpec defines the desired state of TigeraStatus
(Appears on: TigeraStatus)
TigeraStatusStatus defines the observed state of TigeraStatus
| Field | Description |
|---|---|
conditions[]TigeraStatusCondition |
Conditions represents the latest observed set of conditions for this component. A component may be one or more of Available, Progressing, or Degraded. |
(Appears on: InstallationSpec)
Deprecated. Please use TyphaDeployment instead. TyphaAffinity allows configuration of node affinity characteristics for Typha pods.
| Field | Description |
|---|---|
nodeAffinityNodeAffinity |
(Optional)
NodeAffinity describes node affinity scheduling rules for typha. |
(Appears on: InstallationSpec)
TyphaDeployment is the configuration for the typha Deployment.
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the Deployment. |
specTyphaDeploymentSpec |
(Optional)
Spec is the specification of the typha Deployment. |
(Appears on: TyphaDeploymentPodSpec)
TyphaDeploymentContainer is a typha Deployment container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the typha Deployment container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named typha Deployment container’s resources. If omitted, the typha Deployment will use its default value for this container’s resources. If used in conjunction with the deprecated ComponentResources, then this value takes precedence. |
(Appears on: TyphaDeploymentPodSpec)
TyphaDeploymentInitContainer is a typha Deployment init container.
| Field | Description |
|---|---|
namestring |
Name is an enum which identifies the typha Deployment init container by name. |
resourcesKubernetes core/v1.ResourceRequirements |
(Optional)
Resources allows customization of limits and requests for compute resources such as cpu and memory. If specified, this overrides the named typha Deployment init container’s resources. If omitted, the typha Deployment will use its default value for this init container’s resources. If used in conjunction with the deprecated ComponentResources, then this value takes precedence. |
(Appears on: TyphaDeploymentPodTemplateSpec)
TyphaDeploymentDeploymentPodSpec is the typha Deployment’s PodSpec.
| Field | Description |
|---|---|
initContainers[]TyphaDeploymentInitContainer |
(Optional)
InitContainers is a list of typha init containers. If specified, this overrides the specified typha Deployment init containers. If omitted, the typha Deployment will use its default values for its init containers. |
containers[]TyphaDeploymentContainer |
(Optional)
Containers is a list of typha containers. If specified, this overrides the specified typha Deployment containers. If omitted, the typha Deployment will use its default values for its containers. |
affinityKubernetes core/v1.Affinity |
(Optional)
Affinity is a group of affinity scheduling rules for the typha pods. If specified, this overrides any affinity that may be set on the typha Deployment. If omitted, the typha Deployment will use its default value for affinity. If used in conjunction with the deprecated TyphaAffinity, then this value takes precedence. WARNING: Please note that this field will override the default calico-typha Deployment affinity. |
nodeSelectormap[string]string |
NodeSelector is the calico-typha pod’s scheduling constraints. If specified, each of the key/value pairs are added to the calico-typha Deployment nodeSelector provided the key does not already exist in the object’s nodeSelector. If omitted, the calico-typha Deployment will use its default value for nodeSelector. WARNING: Please note that this field will modify the default calico-typha Deployment nodeSelector. |
tolerations[]Kubernetes core/v1.Toleration |
(Optional)
Tolerations is the typha pod’s tolerations. If specified, this overrides any tolerations that may be set on the typha Deployment. If omitted, the typha Deployment will use its default value for tolerations. WARNING: Please note that this field will override the default calico-typha Deployment tolerations. |
(Appears on: TyphaDeploymentSpec)
TyphaDeploymentPodTemplateSpec is the typha Deployment’s PodTemplateSpec
| Field | Description |
|---|---|
metadataMetadata |
(Optional)
Metadata is a subset of a Kubernetes object’s metadata that is added to the pod’s metadata. |
specTyphaDeploymentPodSpec |
(Optional)
Spec is the typha Deployment’s PodSpec. |
(Appears on: TyphaDeployment)
TyphaDeploymentSpec defines configuration for the typha Deployment.
| Field | Description |
|---|---|
minReadySecondsint32 |
(Optional)
MinReadySeconds is the minimum number of seconds for which a newly created Deployment pod should be ready without any of its container crashing, for it to be considered available. If specified, this overrides any minReadySeconds value that may be set on the typha Deployment. If omitted, the typha Deployment will use its default value for minReadySeconds. |
templateTyphaDeploymentPodTemplateSpec |
(Optional)
Template describes the typha Deployment pod that will be created. |