v1alpha1

package
v0.0.0-...-e7d8dfb Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the airflow v1alpha1 API group. +kubebuilder:object:generate=true +groupName=airflow.kubedoop.dev

Index

Constants

View Source
const (
	DefaultRepository      = "quay.io/zncdatadev"
	DefaultProductVersion  = "2.10.2"
	DefaultKubedoopVersion = "0.0.0-dev"
	DefaultProductName     = "airflow"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "airflow.kubedoop.dev", 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 AirflowCluster

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

	Spec   AirflowClusterSpec   `json:"spec,omitempty"`
	Status AirflowClusterStatus `json:"status,omitempty"`
}

AirflowCluster is the Schema for the airflowclusters API.

func (*AirflowCluster) DeepCopy

func (in *AirflowCluster) DeepCopy() *AirflowCluster

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

func (*AirflowCluster) DeepCopyInto

func (in *AirflowCluster) DeepCopyInto(out *AirflowCluster)

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

func (*AirflowCluster) DeepCopyObject

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

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

type AirflowClusterList

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

AirflowClusterList contains a list of AirflowCluster.

func (*AirflowClusterList) DeepCopy

func (in *AirflowClusterList) DeepCopy() *AirflowClusterList

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

func (*AirflowClusterList) DeepCopyInto

func (in *AirflowClusterList) DeepCopyInto(out *AirflowClusterList)

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

func (*AirflowClusterList) DeepCopyObject

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

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

type AirflowClusterSpec

type AirflowClusterSpec struct {
	// +kubebuilder:validation:Optional
	Image *ImageSpec `json:"image,omitempty"`

	// +kubebuilder:validation:Optional
	ClusterOperation *commonsv1alpha1.ClusterOperationSpec `json:"clusterOperation,omitempty"`

	// +kubebuilder:validation:Optional
	ClusterConfig *ClusterConfigSpec `json:"clusterConfig,omitempty"`

	// +kubebuilder:validation:Optional
	CeleryExecutors *CeleryExecutorsSpec `json:"celeryExecutors,omitempty"`

	// +kubebuilder:validation:Optional
	KubernetesExecutors *KubernetesExecutorsSpec `json:"kubernetesExecutors,omitempty"`

	// +kubebuilder:validation:Optional
	Schedulers *SchedulersSpec `json:"schedulers,omitempty"`

	// +kubebuilder:validation:Optional
	Webservers *WebserversSpec `json:"webservers,omitempty"`
}

AirflowClusterSpec defines the desired state of AirflowCluster.

func (*AirflowClusterSpec) DeepCopy

func (in *AirflowClusterSpec) DeepCopy() *AirflowClusterSpec

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

func (*AirflowClusterSpec) DeepCopyInto

func (in *AirflowClusterSpec) DeepCopyInto(out *AirflowClusterSpec)

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

type AirflowClusterStatus

type AirflowClusterStatus struct {
}

AirflowClusterStatus defines the observed state of AirflowCluster.

func (*AirflowClusterStatus) DeepCopy

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

func (*AirflowClusterStatus) DeepCopyInto

func (in *AirflowClusterStatus) DeepCopyInto(out *AirflowClusterStatus)

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

type AuthenticationSpec

type AuthenticationSpec struct {
	// +kubebuilder:validation:Optional
	AuthenticationClass string `json:"authenticationClass,omitempty"`

	// +kubebuilder:validation:Optional
	Oidc *authenticationv1alpha1.OidcSpec `json:"oidc,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=Registration;Login
	SyncRolesAt string `json:"syncRolesAt,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=true
	UserRegistration bool `json:"userRegistration,omitempty"`

	// +kubebuilder:validation:Optional
	UserRegistrationRole string `json:"userRegistrationRole,omitempty"`
}

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

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

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

type CeleryExecutorsSpec

type CeleryExecutorsSpec struct {
	RoleGroups                     map[string]RoleGroupSpec        `json:"roleGroups,omitempty"`
	RoleConfig                     *commonsv1alpha1.RoleConfigSpec `json:"roleConfig,omitempty"`
	Config                         *ConfigSpec                     `json:"config,omitempty"`
	*commonsv1alpha1.OverridesSpec `json:",inline"`
}

func (*CeleryExecutorsSpec) DeepCopy

func (in *CeleryExecutorsSpec) DeepCopy() *CeleryExecutorsSpec

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

func (*CeleryExecutorsSpec) DeepCopyInto

func (in *CeleryExecutorsSpec) DeepCopyInto(out *CeleryExecutorsSpec)

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

type ClusterConfigSpec

type ClusterConfigSpec struct {
	// +kubebuilder:validation:Optional
	Authentication []AuthenticationSpec `json:"authentication,omitempty"`

	// airflow credentials secret name
	// The secret should contain the following keys:
	// 	- adminUser.username
	// 	- adminUser.firstusername
	// 	- adminUser.lastname
	// 	- adminUser.email
	// 	- adminUser.password
	// 	- connections.SecretKey	# Flask app secret key, eg: openssl rand -hex 30
	// 	- connections.sqlalchemyDatabaseUri	# SQLAlchemy database URI, currently only supports postgresql in product container image
	// 	- connections.celeryResultBackend	# Celery result backend, Only needed if using celery workers
	// 	- connections.celeryBrokerUrl	# Celery broker URL, Only needed if using celery workers
	// +kubebuilder:validation:Required
	Credentials string `json:"credentialsSecret"`

	// +kubebuilder:validation:Optional
	DagsGitSync []DagsGitSyncSpec `json:"dagsGitSync,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// +kubebuilder:validation:Type=boolean
	ExposeConfig bool `json:"exposeConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// +kubebuilder:validation:Type=boolean
	LoadExamples bool `json:"loadExamples,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=cluster-internal;external-unstable;external-stable
	ListenerClass constants.ListenerClass `json:"listenerClass,omitempty"`

	// +kubebuilder:validation:Optional
	VectorAggregatorConfigMapName string `json:"vectorAggregatorConfigMapName,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:validation:Type=object
	Volumes []k8sruntime.RawExtension `json:"volumes,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:validation:Type=object
	VolumeMounts []k8sruntime.RawExtension `json:"volumeMounts,omitempty"`
}

func (*ClusterConfigSpec) DeepCopy

func (in *ClusterConfigSpec) DeepCopy() *ClusterConfigSpec

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

func (*ClusterConfigSpec) DeepCopyInto

func (in *ClusterConfigSpec) DeepCopyInto(out *ClusterConfigSpec)

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

type ConfigSpec

type ConfigSpec struct {
	*commonsv1alpha1.RoleGroupConfigSpec `json:",inline"`
}

func (*ConfigSpec) DeepCopy

func (in *ConfigSpec) DeepCopy() *ConfigSpec

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

func (*ConfigSpec) DeepCopyInto

func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)

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

type DagsGitSyncSpec

type DagsGitSyncSpec struct {
	// +kubebuilder:validation:Optional
	Branch string `json:"branch,omitempty"`

	// +kubebuilder:validation:Optional
	CrdentialsSecret string `json:"crdentialsSecretName,omitempty"`

	// +kubebuilder:validation:Optional
	Depth *int8 `json:"depth,omitempty"`

	// +kubebuilder:validation:Optional
	GitFolder string `json:"gitFolder,omitempty"`

	// +kubebuilder:validation:Optional
	GitSyncConf map[string]string `json:"gitSyncConf,omitempty"`

	// +kubebuilder:validation:Required
	Repo string `json:"repo"`

	// The sync interval in seconds, default is 30 seconds
	// +kubebuilder:validation:Optional
	Wait *int16 `json:"wait,omitempty"`
}

func (*DagsGitSyncSpec) DeepCopy

func (in *DagsGitSyncSpec) DeepCopy() *DagsGitSyncSpec

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

func (*DagsGitSyncSpec) DeepCopyInto

func (in *DagsGitSyncSpec) DeepCopyInto(out *DagsGitSyncSpec)

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

type ImageSpec

type ImageSpec struct {
	// +kubebuilder:validation:Optional
	Custom string `json:"custom,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=quay.io/zncdatadev
	Repo string `json:"repo,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="0.0.0-dev"
	KubedoopVersion string `json:"kubedoopVersion,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="2.10.2"
	ProductVersion string `json:"productVersion,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=IfNotPresent
	PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`

	// +kubebuilder:validation:Optional
	PullSecretName string `json:"pullSecretName,omitempty"`
}

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type KubernetesExecutorsSpec

type KubernetesExecutorsSpec struct {
	RoleConfig                           *commonsv1alpha1.RoleConfigSpec `json:"roleConfig,omitempty"`
	Config                               *ConfigSpec                     `json:"config,omitempty"`
	*commonsv1alpha1.OverridesSpec       `json:",inline"`
	*commonsv1alpha1.RoleGroupConfigSpec `json:",inline"`
}

func (*KubernetesExecutorsSpec) DeepCopy

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

func (*KubernetesExecutorsSpec) DeepCopyInto

func (in *KubernetesExecutorsSpec) DeepCopyInto(out *KubernetesExecutorsSpec)

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

type RoleGroupSpec

type RoleGroupSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	Replicas                       *int32      `json:"replicas"`
	Config                         *ConfigSpec `json:"config,omitempty"`
	*commonsv1alpha1.OverridesSpec `json:",inline"`
}

func (*RoleGroupSpec) DeepCopy

func (in *RoleGroupSpec) DeepCopy() *RoleGroupSpec

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

func (*RoleGroupSpec) DeepCopyInto

func (in *RoleGroupSpec) DeepCopyInto(out *RoleGroupSpec)

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

type RoleName

type RoleName string
const (
	SchedulersRoleName          RoleName = "schedulers"
	WebserversRoleName          RoleName = "webservers"
	CeleryExecutorsRoleName     RoleName = "celeryexecutors"
	KubernetesExecutorsRoleName RoleName = "kubernetesexecutors"
)

type SchedulersSpec

type SchedulersSpec struct {
	RoleGroups                     map[string]RoleGroupSpec        `json:"roleGroups,omitempty"`
	RoleConfig                     *commonsv1alpha1.RoleConfigSpec `json:"roleConfig,omitempty"`
	Config                         *ConfigSpec                     `json:"config,omitempty"`
	*commonsv1alpha1.OverridesSpec `json:",inline"`
}

func (*SchedulersSpec) DeepCopy

func (in *SchedulersSpec) DeepCopy() *SchedulersSpec

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

func (*SchedulersSpec) DeepCopyInto

func (in *SchedulersSpec) DeepCopyInto(out *SchedulersSpec)

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

type WebserversSpec

type WebserversSpec struct {
	RoleGroups                     map[string]RoleGroupSpec        `json:"roleGroups,omitempty"`
	RoleConfig                     *commonsv1alpha1.RoleConfigSpec `json:"roleConfig,omitempty"`
	Config                         *ConfigSpec                     `json:"config,omitempty"`
	*commonsv1alpha1.OverridesSpec `json:",inline"`
}

func (*WebserversSpec) DeepCopy

func (in *WebserversSpec) DeepCopy() *WebserversSpec

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

func (*WebserversSpec) DeepCopyInto

func (in *WebserversSpec) DeepCopyInto(out *WebserversSpec)

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