v1

package
v0.9.13 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Go imports

Go imports

Package v1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=tango.tango-controls.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "tango.tango-controls.org", Version: "v1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type DatabaseDS

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

	Spec   DatabaseDSSpec   `json:"spec,omitempty"`
	Status DatabaseDSStatus `json:"status,omitempty"`
}

DatabaseDS is the Schema for the databaseds API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Components",type="integer",JSONPath=".status.replicas",description="The number of Components Requested in the DatabaseDS",priority=0 +kubebuilder:printcolumn:name="Succeeded",type="integer",JSONPath=".status.succeeded",description="The number of Components Launched in the DatabaseDS",priority=0 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The number of Components Requested in the DatabaseDS",priority=0 +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state",description="Status of the DatabaseDS",priority=0 +kubebuilder:printcolumn:name="TangoDB",type="string",JSONPath=".status.tangodb",description=" TangoDB details of the DatabaseDS",priority=1 +kubebuilder:printcolumn:name="DS",type="string",JSONPath=".status.ds",description=" DS details of the DatabaseDS",priority=1 +kubebuilder:printcolumn:name="Resources",type="string",JSONPath=".status.resources",description=" Resource details of the DatabaseDS",priority=1

func (*DatabaseDS) DeepCopy

func (in *DatabaseDS) DeepCopy() *DatabaseDS

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

func (*DatabaseDS) DeepCopyInto

func (in *DatabaseDS) DeepCopyInto(out *DatabaseDS)

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

func (*DatabaseDS) DeepCopyObject

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

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

func (*DatabaseDS) Default

func (r *DatabaseDS) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*DatabaseDS) SetupWebhookWithManager

func (r *DatabaseDS) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DatabaseDS) ValidateCreate

func (r *DatabaseDS) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*DatabaseDS) ValidateDelete

func (r *DatabaseDS) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*DatabaseDS) ValidateUpdate

func (r *DatabaseDS) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DatabaseDSList

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

DatabaseDSList contains a list of DatabaseDS

func (*DatabaseDSList) DeepCopy

func (in *DatabaseDSList) DeepCopy() *DatabaseDSList

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

func (*DatabaseDSList) DeepCopyInto

func (in *DatabaseDSList) DeepCopyInto(out *DatabaseDSList)

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

func (*DatabaseDSList) DeepCopyObject

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

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

type DatabaseDSSpec

type DatabaseDSSpec struct {

	// Enable Load Balancer for external access to DatabaseDS
	// +optional
	EnableLoadBalancer bool `json:"enableLoadBalancer,omitempty"`

	// Disable Network Policies
	// +optional
	DisablePolicies bool `json:"disablepolicies,omitempty"`

	// Enable the creation of a PV for the DatabaseDS
	// +optional
	UsePV bool `json:"usePV,omitempty"`

	// DatabaseDS  resource name that is the Tango DatabaseDS the DS will run as: optional, defaults to Name
	DatabaseDS string `json:"databaseds,omitempty"`

	// Source image to deploy DatabaseDS from - default: artefact.skao.int/ska-tango-images-tango-databaseds-alpine:0.3.0, registry.gitlab.com/tango-controls/docker/tango-db:5.16
	DDSImage string `json:"dsimage,omitempty"`

	// DatabaseDS TC config that get's loaded at DS boot - FQ file name, HTTP URL, or full config body .json: optional
	Config string `json:"config,omitempty"`

	// Source image to deploy Tango DB from - default: artefact.skao.int/ska-tango-images-tango-db:10.4.14, registry.gitlab.com/tango-controls/docker/mysql:5.16-mysql-8-1
	DBImage string `json:"dbimage,omitempty"`

	// Kubernetes cluster domain default cluster.local
	//+kubebuilder:default=cluster.local
	//+optional
	ClusterDomain string `json:"clusterDomain,omitempty"`

	// Pull Policy for image - default: IfNotPresent
	//+optional
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// OmniOrb Port default 10000
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:default=10000
	//+optional
	Port int32 `json:"orbport,omitempty"`

	// Tango DB DB name - default: tango
	DBDb string `json:"dbdb,omitempty"`

	// Tango DB Root Password - default: secret
	DBRootPw string `json:"dbrootpw,omitempty"`

	// Tango DB User - default: tango
	DBUser string `json:"dbuser,omitempty"`

	// Tango DB User Password - default: tango
	DBPassword string `json:"dbpassword,omitempty"`

	//TangoDB StorageClass - default: standard
	//+optional
	TangoDBStorageClass string `json:"tangoDBStorageClass,omitempty"`

	// Specifies the Volumes.
	//+optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// Specifies the VolumeMounts.
	//+optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// Specifies the Environment variables.
	//+optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Specifies the Pull Secrets.
	//+optional
	PullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// Specifies the NodeSelector configuration.
	//+optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Specifies the Affinity configuration.
	//+optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Specifies the Toleration configuration.
	//+optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Specifies the Environment variables.
	//+optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

DatabaseDSSpec defines the desired state of DatabaseDS

func (*DatabaseDSSpec) DeepCopy

func (in *DatabaseDSSpec) DeepCopy() *DatabaseDSSpec

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

func (*DatabaseDSSpec) DeepCopyInto

func (in *DatabaseDSSpec) DeepCopyInto(out *DatabaseDSSpec)

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

type DatabaseDSStatus

type DatabaseDSStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Replicas  int32  `json:"replicas"`
	Succeeded int32  `json:"succeeded"`
	State     string `json:"state"`
	Resources string `json:"resources"`
	TangoDB   string `json:"tangodb"`
	DS        string `json:"ds"`
}

DatabaseDSStatus defines the observed state of DatabaseDS

func (*DatabaseDSStatus) DeepCopy

func (in *DatabaseDSStatus) DeepCopy() *DatabaseDSStatus

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

func (*DatabaseDSStatus) DeepCopyInto

func (in *DatabaseDSStatus) DeepCopyInto(out *DatabaseDSStatus)

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

type DeviceServer

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

	Spec   DeviceServerSpec   `json:"spec,omitempty"`
	Status DeviceServerStatus `json:"status,omitempty"`
}

DeviceServer is the Schema for the deviceservers API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Components",type="integer",JSONPath=".status.replicas",description="The number of Components Requested in the DeviceServer",priority=0 +kubebuilder:printcolumn:name="Succeeded",type="integer",JSONPath=".status.succeeded",description="The number of Components Launched in the DeviceServer",priority=0 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The number of Components Requested in the DeviceServer",priority=0 +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state",description="Status of the DeviceServer",priority=0 +kubebuilder:printcolumn:name="Resources",type="string",JSONPath=".status.resources",description=" Resource details of the DeviceServer",priority=1

func (*DeviceServer) DeepCopy

func (in *DeviceServer) DeepCopy() *DeviceServer

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

func (*DeviceServer) DeepCopyInto

func (in *DeviceServer) DeepCopyInto(out *DeviceServer)

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

func (*DeviceServer) DeepCopyObject

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

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

func (*DeviceServer) Default

func (r *DeviceServer) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*DeviceServer) SetupWebhookWithManager

func (r *DeviceServer) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DeviceServer) ValidateCreate

func (r *DeviceServer) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*DeviceServer) ValidateDelete

func (r *DeviceServer) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*DeviceServer) ValidateUpdate

func (r *DeviceServer) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DeviceServerList

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

DeviceServerList contains a list of DeviceServer

func (*DeviceServerList) DeepCopy

func (in *DeviceServerList) DeepCopy() *DeviceServerList

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

func (*DeviceServerList) DeepCopyInto

func (in *DeviceServerList) DeepCopyInto(out *DeviceServerList)

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

func (*DeviceServerList) DeepCopyObject

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

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

type DeviceServerSpec

type DeviceServerSpec struct {

	// Disable Network Policies
	//+optional
	DisablePolicies bool `json:"disablepolicies,omitempty"`

	// DeviceServer databaseds resource name that is the Tango DatabaseDS the DeviceServer will run against: mandatory
	DatabaseDS string `json:"databaseds"`

	// External DeviceServer DNS name or IP address - must be supplied if ExternalDeviceServer is set
	// Make the deviceServer an external device only - this will only deploy the Service type ExternalName and pass DS config to TangoDB
	// +optional
	ExternalDeviceServer string `json:"externalDeviceServer,omitempty"`

	// Enable Load Balancer for external access to DatabaseDS
	// +optional
	EnableLoadBalancer bool `json:"enableLoadBalancer,omitempty"`

	// Specify Direct Connection to TANGO_HOST in DatabaseDS config option
	//+optional
	DirectConnection bool `json:"directConnection,omitempty"`

	// DeviceServer config for this job - FQ file name, HTTP URL, or full config body .json: mandatory
	Config string `json:"config"`

	// DeviceServer name: mandatory
	DSName string `json:"dsname"`

	// DeviceServer script for this job - FQ file name or full script body either .py or .ipynb: mandatory
	//+optional
	Script string `json:"script"`

	// DeviceServer script for this job - FQ file name or full script body either .py or .ipynb: mandatory
	//+optional
	Command string `json:"command"`

	// DeviceServer lifecycle PostStart
	//+optional
	PostStart string `json:"postStart"`

	// DeviceServer lifecycle PreStop
	//+optional
	PreStop string `json:"preStop"`

	// Arguments to pass to app boot - default:
	Args string `json:"args,omitempty"`

	// Source image to deploy cluster from - default: artefact.skao.int/ska-tango-images-tango-pytango-alpine:0.3.1
	Image string `json:"image,omitempty"`

	// Pull Policy for image - default: IfNotPresent
	//+optional
	ImagePullPolicy string `json:"imagePullPolicy,omitempty"`

	// Specifies the DeviceServers that must be started before this one.
	//+optional
	DependsOn []string `json:"dependsOn,omitempty"`

	// OmniOrb IP default false
	//+kubebuilder:default=false
	//+optional
	LegacyCompatibility bool `json:"legacycompatibility,omitempty"`

	// OmniOrb Port default 45450
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:default=45450
	//+optional
	OrbPort int32 `json:"orbport,omitempty"`

	// ZMQ Heartbeat Port default 45460
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:default=45460
	//+optional
	HeartbeatPort int32 `json:"heartbeatport,omitempty"`

	// Kubernetes cluster domain default cluster.local
	//+kubebuilder:default=cluster.local
	//+optional
	ClusterDomain string `json:"clusterDomain,omitempty"`

	// ZMQ Event Port default 45470
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:default=45470
	//+optional
	EventPort int32 `json:"eventport,omitempty"`

	// Specifies the Volumes.
	//+optional
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// Specifies the VolumeMounts.
	//+optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// Specifies the Environment variables.
	//+optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// Specifies the Pull Secrets.
	//+optional
	PullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// Specifies the NodeSelector configuration.
	//+optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Specifies the Affinity configuration.
	//+optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Specifies the Toleration configuration.
	//+optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Specifies the Environment variables.
	//+optional
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

DeviceServerSpec defines the desired state of DeviceServer

func (*DeviceServerSpec) DeepCopy

func (in *DeviceServerSpec) DeepCopy() *DeviceServerSpec

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

func (*DeviceServerSpec) DeepCopyInto

func (in *DeviceServerSpec) DeepCopyInto(out *DeviceServerSpec)

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

type DeviceServerStatus

type DeviceServerStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Replicas  int32  `json:"replicas"`
	Succeeded int32  `json:"succeeded"`
	State     string `json:"state"`
	Resources string `json:"resources"`
}

DeviceServerStatus defines the observed state of DeviceServer

func (*DeviceServerStatus) DeepCopy

func (in *DeviceServerStatus) DeepCopy() *DeviceServerStatus

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

func (*DeviceServerStatus) DeepCopyInto

func (in *DeviceServerStatus) DeepCopyInto(out *DeviceServerStatus)

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