v1alpha1

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2024 License: Apache-2.0 Imports: 8 Imported by: 15

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group

Index

Constants

View Source
const (
	K8s                   KubernetesType = "k8s"
	OCP                                  = "ocp"
	EKS                                  = "eks"
	AKS                                  = "aks"
	GKE                                  = "gke"
	DefaultKubernetesType                = K8s
	Kind                  CloudProvider  = "kind"
	AWS                                  = "aws"
	GCP                                  = "gcp"
	Azure                                = "azure"
	Openstack                            = "openstack"
)

Variables

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

	// 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 (
	DefaultRepo                      = "quay.io/submariner"
	DefaultSubmarinerOperatorVersion = "0.19.0"
	DefaultSubmarinerVersion         = "0.19.0"
	DefaultLighthouseVersion         = "0.19.0"
)

Functions

This section is empty.

Types

type Broker

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

	Spec   BrokerSpec   `json:"spec,omitempty"`
	Status BrokerStatus `json:"status,omitempty"`
}

Broker is the Schema for the brokers API. +operator-sdk:csv:customresourcedefinitions:displayName="Submariner Broker",resources={{Deployment,v1,submariner-operator}}

func (*Broker) DeepCopy

func (in *Broker) DeepCopy() *Broker

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

func (*Broker) DeepCopyInto

func (in *Broker) DeepCopyInto(out *Broker)

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

func (*Broker) DeepCopyObject

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

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

type BrokerList

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

BrokerList contains a list of Broker.

func (*BrokerList) DeepCopy

func (in *BrokerList) DeepCopy() *BrokerList

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

func (*BrokerList) DeepCopyInto

func (in *BrokerList) DeepCopyInto(out *BrokerList)

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

func (*BrokerList) DeepCopyObject

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

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

type BrokerSpec

type BrokerSpec struct {

	// List of the components to be installed - any of [service-discovery, connectivity].
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Components"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	Components []string `json:"components,omitempty"`

	// List of domains to use for multi-cluster service discovery.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Default Custom Domains"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:advanced"}
	DefaultCustomDomains []string `json:"defaultCustomDomains,omitempty"`

	// GlobalCIDR supernet range for allocating GlobalCIDRs to each cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Globalnet CIDR Range"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:fieldDependency:globalnetEnabled:true","urn:alm:descriptor:com.tectonic.ui:advanced"}
	GlobalnetCIDRRange string `json:"globalnetCIDRRange,omitempty"`

	// ClustersetIP supernet range for allocating ClustersetIPCIDRs to each cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ClustersetIP CIDR Range"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:advanced"}
	// +optional
	ClustersetIPCIDRRange string `json:"clustersetIPCIDRRange,omitempty"`

	// Default cluster size for GlobalCIDR allocated to each cluster (amount of global IPs).
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Default Globalnet Cluster Size"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number","urn:alm:descriptor:com.tectonic.ui:fieldDependency:globalnetEnabled:true","urn:alm:descriptor:com.tectonic.ui:advanced"}
	DefaultGlobalnetClusterSize uint `json:"defaultGlobalnetClusterSize,omitempty"`

	// Enable support for Overlapping CIDRs in connecting clusters.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Globalnet"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	GlobalnetEnabled bool `json:"globalnetEnabled,omitempty"`

	// Enable ClustersetIP default for connecting clusters.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable ClustersetIP"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// +optional
	ClustersetIPEnabled bool `json:"clustersetIPEnabled,omitempty"`
}

BrokerSpec defines the desired state of Broker.

func (*BrokerSpec) DeepCopy

func (in *BrokerSpec) DeepCopy() *BrokerSpec

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

func (*BrokerSpec) DeepCopyInto

func (in *BrokerSpec) DeepCopyInto(out *BrokerSpec)

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

type BrokerStatus

type BrokerStatus struct {
}

BrokerStatus defines the observed state of Broker.

func (*BrokerStatus) DeepCopy

func (in *BrokerStatus) DeepCopy() *BrokerStatus

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

func (*BrokerStatus) DeepCopyInto

func (in *BrokerStatus) DeepCopyInto(out *BrokerStatus)

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

type CloudProvider

type CloudProvider string

type CoreDNSCustomConfig

type CoreDNSCustomConfig struct {
	// Name of the custom CoreDNS configmap.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CoreDNS Custom Config Name"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ConfigMapName string `json:"configMapName,omitempty"`

	// Namespace of the custom CoreDNS configmap.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CoreDNS Custom Config Namespace"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	Namespace string `json:"namespace,omitempty"`
}

func (*CoreDNSCustomConfig) DeepCopy

func (in *CoreDNSCustomConfig) DeepCopy() *CoreDNSCustomConfig

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

func (*CoreDNSCustomConfig) DeepCopyInto

func (in *CoreDNSCustomConfig) DeepCopyInto(out *CoreDNSCustomConfig)

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

type DaemonSetStatusWrapper

type DaemonSetStatusWrapper struct {
	LastResourceVersion       string                   `json:"lastResourceVersion,omitempty"`
	Status                    *appsv1.DaemonSetStatus  `json:"status,omitempty"`
	NonReadyContainerStates   *[]corev1.ContainerState `json:"nonReadyContainerStates,omitempty"`
	MismatchedContainerImages bool                     `json:"mismatchedContainerImages"`
}

func (*DaemonSetStatusWrapper) DeepCopy

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

func (*DaemonSetStatusWrapper) DeepCopyInto

func (in *DaemonSetStatusWrapper) DeepCopyInto(out *DaemonSetStatusWrapper)

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

type DeploymentInfo

type DeploymentInfo struct {
	KubernetesType        KubernetesType `json:"kubernetesType,omitempty"`
	KubernetesTypeVersion string         `json:"kubernetesTypeVersion,omitempty"`
	KubernetesVersion     string         `json:"kubernetesVersion,omitempty"`
	CloudProvider         CloudProvider  `json:"cloudProvider,omitempty"`
}

func (*DeploymentInfo) DeepCopy

func (in *DeploymentInfo) DeepCopy() *DeploymentInfo

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

func (*DeploymentInfo) DeepCopyInto

func (in *DeploymentInfo) DeepCopyInto(out *DeploymentInfo)

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

type HealthCheckSpec

type HealthCheckSpec struct {
	// Enable the connection health check.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Connection Health Checks"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	Enabled bool `json:"enabled,omitempty"`

	// The interval at which health check pings are sent.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Connection Health Check Interval"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number","urn:alm:descriptor:com.tectonic.ui:fieldDependency:connectionHealthCheck.enabled:true"}
	IntervalSeconds uint64 `json:"intervalSeconds,omitempty"`

	// The maximum number of packets lost at which the health checker will mark the connection as down.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Maximum Packet Loss"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number","urn:alm:descriptor:com.tectonic.ui:fieldDependency:connectionHealthCheck.enabled:true"}
	MaxPacketLossCount uint64 `json:"maxPacketLossCount,omitempty"`
}

func (*HealthCheckSpec) DeepCopy

func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec

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

func (*HealthCheckSpec) DeepCopyInto

func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)

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

type KubernetesType

type KubernetesType string

type LoadBalancerStatusWrapper

type LoadBalancerStatusWrapper struct {
	Status *corev1.LoadBalancerStatus `json:"status,omitempty"`
}

func (*LoadBalancerStatusWrapper) DeepCopy

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

func (*LoadBalancerStatusWrapper) DeepCopyInto

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

type ServiceDiscovery

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

	Spec   ServiceDiscoverySpec   `json:"spec,omitempty"`
	Status ServiceDiscoveryStatus `json:"status,omitempty"`
}

ServiceDiscovery is the Schema for the servicediscoveries API.

func (*ServiceDiscovery) DeepCopy

func (in *ServiceDiscovery) DeepCopy() *ServiceDiscovery

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

func (*ServiceDiscovery) DeepCopyInto

func (in *ServiceDiscovery) DeepCopyInto(out *ServiceDiscovery)

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

func (*ServiceDiscovery) DeepCopyObject

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

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

func (*ServiceDiscovery) UnmarshalJSON

func (sd *ServiceDiscovery) UnmarshalJSON(data []byte) error

type ServiceDiscoveryList

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

ServiceDiscoveryList contains a list of ServiceDiscovery.

func (*ServiceDiscoveryList) DeepCopy

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

func (*ServiceDiscoveryList) DeepCopyInto

func (in *ServiceDiscoveryList) DeepCopyInto(out *ServiceDiscoveryList)

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

func (*ServiceDiscoveryList) DeepCopyObject

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

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

type ServiceDiscoverySpec

type ServiceDiscoverySpec struct {
	BrokerK8sApiServer       string `json:"brokerK8sApiServer"`
	BrokerK8sApiServerToken  string `json:"brokerK8sApiServerToken,omitempty"`
	BrokerK8sCA              string `json:"brokerK8sCA,omitempty"`
	BrokerK8sSecret          string `json:"brokerK8sSecret,omitempty"`
	BrokerK8sRemoteNamespace string `json:"brokerK8sRemoteNamespace"`
	ClusterID                string `json:"clusterID"`
	Namespace                string `json:"namespace"`
	Repository               string `json:"repository,omitempty"`
	Version                  string `json:"version,omitempty"`
	// +optional
	ClustersetIPCIDR       string `json:"clustersetIPCIDR,omitempty"`
	Debug                  bool   `json:"debug"`
	GlobalnetEnabled       bool   `json:"globalnetEnabled,omitempty"`
	BrokerK8sInsecure      bool   `json:"brokerK8sInsecure,omitempty"`
	HaltOnCertificateError bool   `json:"haltOnCertificateError,omitempty"`
	// +optional
	ClustersetIPEnabled bool                 `json:"clustersetIPEnabled,omitempty"`
	CoreDNSCustomConfig *CoreDNSCustomConfig `json:"coreDNSCustomConfig,omitempty"`
	// +listType=set
	CustomDomains  []string          `json:"customDomains,omitempty"`
	ImageOverrides map[string]string `json:"imageOverrides,omitempty"`
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

ServiceDiscoverySpec defines the desired state of ServiceDiscovery.

func (*ServiceDiscoverySpec) DeepCopy

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

func (*ServiceDiscoverySpec) DeepCopyInto

func (in *ServiceDiscoverySpec) DeepCopyInto(out *ServiceDiscoverySpec)

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

type ServiceDiscoveryStatus

type ServiceDiscoveryStatus struct {
	DeploymentInfo DeploymentInfo `json:"deploymentInfo,omitempty"`
}

ServiceDiscoveryStatus defines the observed state of ServiceDiscovery.

func (*ServiceDiscoveryStatus) DeepCopy

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

func (*ServiceDiscoveryStatus) DeepCopyInto

func (in *ServiceDiscoveryStatus) DeepCopyInto(out *ServiceDiscoveryStatus)

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

type Submariner

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

	Spec   SubmarinerSpec   `json:"spec,omitempty"`
	Status SubmarinerStatus `json:"status,omitempty"`
}

Submariner is the Schema for the submariners API. +operator-sdk:csv:customresourcedefinitions:displayName="Submariner",resources={{Deployment,v1,submariner-operator}}

func (*Submariner) DeepCopy

func (in *Submariner) DeepCopy() *Submariner

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

func (*Submariner) DeepCopyInto

func (in *Submariner) DeepCopyInto(out *Submariner)

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

func (*Submariner) DeepCopyObject

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

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

func (*Submariner) UnmarshalJSON

func (s *Submariner) UnmarshalJSON(data []byte) error

type SubmarinerList

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

SubmarinerList contains a list of Submariner.

func (*SubmarinerList) DeepCopy

func (in *SubmarinerList) DeepCopy() *SubmarinerList

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

func (*SubmarinerList) DeepCopyInto

func (in *SubmarinerList) DeepCopyInto(out *SubmarinerList)

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

func (*SubmarinerList) DeepCopyObject

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

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

type SubmarinerSpec

type SubmarinerSpec struct {

	// Type of broker (must be "k8s").
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Broker"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden"}
	Broker string `json:"broker"`

	// The broker API URL.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Broker API Server"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	BrokerK8sApiServer string `json:"brokerK8sApiServer"`

	// The broker API Token.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Broker API Token"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:password"}
	BrokerK8sApiServerToken string `json:"brokerK8sApiServerToken,omitempty"`

	// The broker certificate authority.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Broker API CA"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:password"}
	BrokerK8sCA string `json:"brokerK8sCA,omitempty"`

	BrokerK8sSecret string `json:"brokerK8sSecret,omitempty"`

	// The Broker namespace.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Broker Remote Namespace"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	BrokerK8sRemoteNamespace string `json:"brokerK8sRemoteNamespace"`

	// Cable driver implementation - any of [libreswan, wireguard, vxlan].
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Cable Driver"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:libreswan","urn:alm:descriptor:com.tectonic.ui:select:vxlan","urn:alm:descriptor:com.tectonic.ui:select:wireguard"}
	CableDriver string `json:"cableDriver,omitempty"`

	// The IPsec Pre-Shared Key which must be identical in all route agents across the cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="IPsec Pre-Shared Key"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:password"}
	CeIPSecPSK string `json:"ceIPSecPSK,omitempty"`

	CeIPSecPSKSecret string `json:"ceIPSecPSKSecret,omitempty"`

	// The cluster CIDR.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Cluster CIDR"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ClusterCIDR string `json:"clusterCIDR"`

	// The cluster ID used to identify the tunnels.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Cluster ID"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ClusterID string `json:"clusterID"`

	ColorCodes string `json:"colorCodes,omitempty"`

	// The image repository.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Repository"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:advanced"}
	Repository string `json:"repository,omitempty"`

	// The service CIDR.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Service CIDR"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ServiceCIDR string `json:"serviceCIDR"`

	// The Global CIDR super-net range for allocating GlobalCIDRs to each cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Global CIDR"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:advanced"}
	GlobalCIDR string `json:"globalCIDR,omitempty"`

	// ClustersetIP CIDR for allocating ClustersetIPs to exported services.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="ClustersetIP CIDR"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:advanced"}
	// +optional
	ClustersetIPCIDR string `json:"clustersetIPCIDR,omitempty"`

	// The namespace in which to deploy the submariner operator.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Namespace"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	Namespace string `json:"namespace"`

	// The image tag.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Version"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text","urn:alm:descriptor:com.tectonic.ui:advanced"}
	Version string `json:"version,omitempty"`

	// The IPsec IKE port (500 usually).
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="IPsec IKE Port"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number"}
	CeIPSecIKEPort int `json:"ceIPSecIKEPort,omitempty"`

	// The IPsec NAT traversal port (4500 usually).
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="IPsec NATT Port"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:number","urn:alm:descriptor:com.tectonic.ui:fieldDependency:natEnabled:true"}
	CeIPSecNATTPort int `json:"ceIPSecNATTPort,omitempty"`

	// Enable logging IPsec debugging information.
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="IPsec Debug"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch","urn:alm:descriptor:com.tectonic.ui:advanced"}
	CeIPSecDebug bool `json:"ceIPSecDebug"`

	// Enable this cluster as a preferred server for data-plane connections.
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="IPsec Preferred Server"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch","urn:alm:descriptor:com.tectonic.ui:advanced"}
	CeIPSecPreferredServer bool `json:"ceIPSecPreferredServer,omitempty"`

	// Force UDP encapsulation for IPsec.
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="IPsec Force UDP Encapsulation"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch","urn:alm:descriptor:com.tectonic.ui:advanced"}
	CeIPSecForceUDPEncaps bool `json:"ceIPSecForceUDPEncaps,omitempty"`

	// Enable operator debugging.
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Debug"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch","urn:alm:descriptor:com.tectonic.ui:advanced"}
	Debug bool `json:"debug"`

	// Enable NAT between clusters.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable NAT"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	NatEnabled bool `json:"natEnabled"`

	AirGappedDeployment bool `json:"airGappedDeployment,omitempty"`

	// Enable automatic Load Balancer in front of the gateways.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Load Balancer"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	LoadBalancerEnabled bool `json:"loadBalancerEnabled,omitempty"`

	// Enable support for Service Discovery (Lighthouse).
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable Service Discovery"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	ServiceDiscoveryEnabled bool `json:"serviceDiscoveryEnabled,omitempty"`

	BrokerK8sInsecure bool `json:"brokerK8sInsecure,omitempty"`

	// Halt on certificate error (so the pod gets restarted).
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Halt (and restart) on certificate error"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	HaltOnCertificateError bool `json:"haltOnCertificateError,omitempty"`

	// Enable ClustersetIP default for services exported on this cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable ClustersetIP default"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:booleanSwitch"}
	// +optional
	ClustersetIPEnabled bool `json:"clustersetIPEnabled,omitempty"`

	// Name of the custom CoreDNS configmap to configure forwarding to Lighthouse.
	// It should be in <namespace>/<name> format where <namespace> is optional and defaults to kube-system.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="CoreDNS Custom Config"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	CoreDNSCustomConfig *CoreDNSCustomConfig `json:"coreDNSCustomConfig,omitempty"`

	// List of domains to use for multi-cluster service discovery.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Custom Domains"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	// +listType=set
	CustomDomains []string `json:"customDomains,omitempty"`

	// Override component images.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Image Overrides"
	//nolint:lll // Markers can't be wrapped
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:hidden","urn:alm:descriptor:com.tectonic.ui:advanced"}
	ImageOverrides map[string]string `json:"imageOverrides,omitempty"`

	// The gateway connection health check.
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Connection Health Check"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:advanced"}
	// +optional
	ConnectionHealthCheck *HealthCheckSpec `json:"connectionHealthCheck,omitempty"`
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

SubmarinerSpec defines the desired state of Submariner.

func (*SubmarinerSpec) DeepCopy

func (in *SubmarinerSpec) DeepCopy() *SubmarinerSpec

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

func (*SubmarinerSpec) DeepCopyInto

func (in *SubmarinerSpec) DeepCopyInto(out *SubmarinerSpec)

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

type SubmarinerStatus

type SubmarinerStatus struct {

	// The current NAT status.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="NAT Enabled"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	NatEnabled bool `json:"natEnabled"`

	AirGappedDeployment bool `json:"airGappedDeployment,omitempty"`

	ColorCodes string `json:"colorCodes,omitempty"`

	// The current cluster ID.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Cluster ID"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ClusterID string `json:"clusterID"`

	// The current service CIDR.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Service CIDR"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ServiceCIDR string `json:"serviceCIDR,omitempty"`

	// The current cluster CIDR.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Cluster CIDR"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ClusterCIDR string `json:"clusterCIDR,omitempty"`

	// The current global CIDR.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Global CIDR"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	GlobalCIDR string `json:"globalCIDR,omitempty"`

	// The current clustersetIP CIDR.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="ClustersetIP CIDR"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	ClustersetIPCIDR string `json:"clustersetIPCIDR,omitempty"`

	// The current network plugin.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Network Plugin"
	// +operator-sdk:csv:customresourcedefinitions:type=status,xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	NetworkPlugin string `json:"networkPlugin,omitempty"`

	// The status of the gateway DaemonSet.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Gateway DaemonSet Status"
	GatewayDaemonSetStatus DaemonSetStatusWrapper `json:"gatewayDaemonSetStatus,omitempty"`

	// The status of the route agent DaemonSet.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Route Agent DaemonSet Status"
	RouteAgentDaemonSetStatus DaemonSetStatusWrapper `json:"routeAgentDaemonSetStatus,omitempty"`

	// The status of the Globalnet DaemonSet.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Globalnet DaemonSet Status"
	GlobalnetDaemonSetStatus DaemonSetStatusWrapper `json:"globalnetDaemonSetStatus,omitempty"`

	// The status of the load balancer DaemonSet.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Load Balancer DaemonSet Status"
	LoadBalancerStatus LoadBalancerStatusWrapper `json:"loadBalancerStatus,omitempty"`

	// Status of the gateways in the cluster.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Gateways"
	Gateways *[]submv1.GatewayStatus `json:"gateways,omitempty"`

	// Information about the deployment.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Deployment Information"
	DeploymentInfo DeploymentInfo `json:"deploymentInfo,omitempty"`

	// The image version in use by the various Submariner DaemonSets and Deployments.
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Version"
	Version string `json:"version,omitempty"`
}

SubmarinerStatus defines the observed state of Submariner.

func (*SubmarinerStatus) DeepCopy

func (in *SubmarinerStatus) DeepCopy() *SubmarinerStatus

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

func (*SubmarinerStatus) DeepCopyInto

func (in *SubmarinerStatus) DeepCopyInto(out *SubmarinerStatus)

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