v1alpha1

package
v0.0.0-...-064eaf4 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "operator.tkestack.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
)

Functions

This section is empty.

Types

type AWS

type AWS struct {
	// GatewayInstance represents type of gateways instance machine (default "m5n.large")
	// +optional
	// +kubebuilder:default=m5n.large
	GatewayInstance string `json:"gatewayInstance,omitempty"`

	// Gateways represents the count of worker nodes that will be used to deploy the Submariner gateway
	// component on the managed cluster.
	// +optional
	// +kubebuilder:default=1
	Gateways int `json:"gateways,omitempty"`
}

func (*AWS) DeepCopy

func (in *AWS) DeepCopy() *AWS

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

func (*AWS) DeepCopyInto

func (in *AWS) DeepCopyInto(out *AWS)

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

type BrokerConfig

type BrokerConfig struct {
	// PublicAPIServerURL represents public access kubernetes API server address.
	// +optional
	PublicAPIServerURL string `json:"publicAPIServerURL,omitempty"`
	// ConnectivityEnabled represents enable/disable multi-cluster pod connectivity.
	// +optional
	// +kubebuilder:default=true
	ConnectivityEnabled bool `json:"connectivityEnabled,omitempty"`
	// ServiceDiscoveryEnabled represents enable/disable multi-cluster service discovery.
	// +optional
	// +kubebuilder:default=false
	ServiceDiscoveryEnabled bool `json:"serviceDiscoveryEnabled,omitempty"`
	// GlobalnetEnable represents enable/disable overlapping CIDRs in connecting clusters (default disabled).
	// +optional
	// +kubebuilder:default=false
	GlobalnetEnable bool `json:"globalnetEnable,omitempty"`
	// GlobalnetCIDRRange represents global CIDR supernet range for allocating global CIDRs to each cluster.
	// +optional
	// +kubebuilder:default="242.0.0.0/8"
	GlobalnetCIDRRange string `json:"globalnetCIDRRange,omitempty"`
	// DefaultGlobalnetClusterSize represents default cluster size for global CIDR allocated to each cluster (amount of global IPs).
	// +optional
	// +kubebuilder:default=65336
	DefaultGlobalnetClusterSize uint `json:"defaultGlobalnetClusterSize,omitempty"`
	// DefaultCustomDomains represents list of domains to use for multicluster service discovery.
	// +optional
	DefaultCustomDomains []string `json:"defaultCustomDomains,omitempty"`
}

func (*BrokerConfig) DeepCopy

func (in *BrokerConfig) DeepCopy() *BrokerConfig

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

func (*BrokerConfig) DeepCopyInto

func (in *BrokerConfig) DeepCopyInto(out *BrokerConfig)

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

type CloudPrepareConfig

type CloudPrepareConfig struct {
	// CredentialsSecret is a reference to the secret with a certain cloud platform
	// credentials, the supported platform includes AWS, GCP, Azure, ROKS and OSD.
	// The knitnet-operator will use these credentials to prepare Submariner cluster
	// environment. If the submariner cluster environment requires knitnet-operator
	// preparation, this field should be specified.
	// +optional
	CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"`

	// Infra ID
	InfraID string `json:"infraID,omitempty"`
	// Regio
	Region string `json:"region,omitempty"`

	// AWS specific cloud prepare setup
	AWS `json:"aws,omitempty"`
}

func (*CloudPrepareConfig) DeepCopy

func (in *CloudPrepareConfig) DeepCopy() *CloudPrepareConfig

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

func (*CloudPrepareConfig) DeepCopyInto

func (in *CloudPrepareConfig) DeepCopyInto(out *CloudPrepareConfig)

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

type JoinConfig

type JoinConfig struct {
	// ClusterID used to identify the tunnels.
	ClusterID string `json:"clusterID"`
	// ServiceCIDR represents service CIDR.
	// +optional
	ServiceCIDR string `json:"serviceCIDR,omitempty"`
	// ClusterCIDR represents cluster CIDR.
	// +optional
	ClusterCIDR string `json:"clusterCIDR,omitempty"`
	// GlobalCIDR represents global CIDR to be allocated to the cluster.
	// +optional
	GlobalnetCIDR string `json:"globalnetCIDR,omitempty"`
	// Repository represents image repository.
	// +optional
	Repository string `json:"repository,omitempty"`
	// ImageVersion represents image version.
	// +optional
	ImageVersion string `json:"imageVersion,omitempty"`
	// NattPort represents IPsec NAT-T port (default 4500).
	// +optional
	// +kubebuilder:default=4500
	NattPort int `json:"nattPort,omitempty"`
	// IkePort represents IPsec IKE port (default 500).
	// +optional
	// +kubebuilder:default=500
	IkePort int `json:"ikePort,omitempty"`
	// PreferredServer represents enable/disable this cluster as a preferred server for data-plane connections.
	// +optional
	// +kubebuilder:default=false
	PreferredServer bool `json:"preferredServer,omitempty"`
	// ForceUDPEncaps represents force UDP encapsulation for IPSec.
	// +optional
	// +kubebuilder:default=false
	ForceUDPEncaps bool `json:"forceUDPEncaps,omitempty"`
	// NatTraversal represents enable NAT traversal for IPsec
	// +optional
	// +kubebuilder:default=true
	NatTraversal bool `json:"natTraversal,omitempty"`
	// GlobalnetEnabled represents enable/disable Globalnet for this cluster.
	// +optional
	// +kubebuilder:default=false
	GlobalnetEnabled bool `json:"globalnetEnabled,omitempty"`
	// IpsecDebug represents enable/disable IPsec debugging (verbose logging).
	// +optional
	// +kubebuilder:default=false
	IpsecDebug bool `json:"ipsecDebug,omitempty"`
	// SubmarinerDebug represents enable/disable submariner pod debugging (verbose logging in the deployed pods).
	// +optional
	// +kubebuilder:default=false
	SubmarinerDebug bool `json:"submarinerDebug,omitempty"`
	// LabelGateway represents enable/disable label gateways.
	// +optional
	// +kubebuilder:default=true
	LabelGateway bool `json:"labelGateway,omitempty"`
	// LoadBalancerEnabled represents enable/disable automatic LoadBalancer in front of the gateways.
	// +optional
	// +kubebuilder:default=false
	LoadBalancerEnabled bool `json:"loadBalancerEnabled,omitempty"`
	// CableDriver represents cable driver implementation.
	// +optional
	CableDriver string `json:"cableDriver,omitempty"`
	// GlobalnetClusterSize represents cluster size for GlobalCIDR allocated to this cluster (amount of global IPs).
	// +optional
	// +kubebuilder:default=0
	GlobalnetClusterSize uint `json:"globalnetClusterSize,omitempty"`
	// CustomDomains represents list of domains to use for multicluster service discovery.
	// +optional
	CustomDomains []string `json:"customDomains,omitempty"`
	// ImageOverrideArr represents override component image.
	// +optional
	ImageOverrideArr []string `json:"imageOverrideArr,omitempty"`
	// HealthCheckEnable represents enable/disable gateway health check.
	// +optional
	// +kubebuilder:default=true
	HealthCheckEnable bool `json:"healthCheckEnable,omitempty"`
	// HealthCheckInterval represents interval in seconds between health check packets.
	// +optional
	// +kubebuilder:default=1
	HealthCheckInterval uint64 `json:"healthCheckInterval,omitempty"`
	// HealthCheckMaxPacketLossCount represents maximum number of packets lost before the connection is marked as down.
	// +optional
	// +kubebuilder:default=5
	HealthCheckMaxPacketLossCount uint64 `json:"healthCheckMaxPacketLossCount,omitempty"`
	// CorednsCustomConfigMap represents 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
	// +optional
	CorednsCustomConfigMap string `json:"corednsCustomConfigMap,omitempty"`
}

func (*JoinConfig) DeepCopy

func (in *JoinConfig) DeepCopy() *JoinConfig

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

func (*JoinConfig) DeepCopyInto

func (in *JoinConfig) DeepCopyInto(out *JoinConfig)

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

type Knitnet

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

	Spec   KnitnetSpec   `json:"spec,omitempty"`
	Status KnitnetStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=knitnets,shortName=fb,scope=Namespaced +kubebuilder:printcolumn:name="Age",type=date,JSONPath=.metadata.creationTimestamp +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=.status.phase,description="Current Cluster Phase" +kubebuilder:printcolumn:name="Created At",type=string,JSONPath=.metadata.creationTimestamp Knitnet is the Schema for the knitnets API

func (*Knitnet) DeepCopy

func (in *Knitnet) DeepCopy() *Knitnet

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

func (*Knitnet) DeepCopyInto

func (in *Knitnet) DeepCopyInto(out *Knitnet)

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

func (*Knitnet) DeepCopyObject

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

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

type KnitnetList

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

KnitnetList contains a list of Knitnet

func (*KnitnetList) DeepCopy

func (in *KnitnetList) DeepCopy() *KnitnetList

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

func (*KnitnetList) DeepCopyInto

func (in *KnitnetList) DeepCopyInto(out *KnitnetList)

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

func (*KnitnetList) DeepCopyObject

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

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

type KnitnetSpec

type KnitnetSpec struct {

	// Action represents deploy broker or join cluster to broker
	// +optional
	// +kubebuilder:default=broker
	// +kubebuilder:validation:Enum=broker;join;all
	Action string `json:"action,omitempty"`

	// BrokerConfig represents the broker cluster configuration of the Submariner.
	// +optional
	BrokerConfig `json:"brokerConfig,omitempty"`

	// JoinConfig represents the managed cluster join configuration of the Submariner.
	// +optional
	JoinConfig `json:"joinConfig,omitempty"`

	// CloudPrepareConfig represents the prepare config for the cloud vendor.
	// +optional
	CloudPrepareConfig `json:"cloudPrepareConfig,omitempty"`
}

KnitnetSpec defines the desired state of Knitnet

func (*KnitnetSpec) DeepCopy

func (in *KnitnetSpec) DeepCopy() *KnitnetSpec

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

func (*KnitnetSpec) DeepCopyInto

func (in *KnitnetSpec) DeepCopyInto(out *KnitnetSpec)

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

type KnitnetStatus

type KnitnetStatus struct {

	// Phase is the knitnet operator running phase.
	// +optional
	Phase Phase `json:"phase,omitempty"`
}

KnitnetStatus defines the observed state of Knitnet

func (*KnitnetStatus) DeepCopy

func (in *KnitnetStatus) DeepCopy() *KnitnetStatus

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

func (*KnitnetStatus) DeepCopyInto

func (in *KnitnetStatus) DeepCopyInto(out *KnitnetStatus)

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

type Phase

type Phase string

Phase is the phase of the installation.

const (
	PhaseRunning Phase = "Running"
	PhaseFailed  Phase = "Failed"
)

Jump to

Keyboard shortcuts

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