v1alpha2

package
v0.2.7-alpha.6 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the robot v1alpha2 API group +kubebuilder:object:generate=true +groupName=robot.roboscale.io

Index

Constants

This section is empty.

Variables

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

	// 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 LaunchContainer

type LaunchContainer struct {
	// Replica number of the stateful set.
	Replicas *int32 `json:"replicas"`
	// Single container configuration for stateful set.
	Container corev1.Container `json:"container,omitempty"`
}

func (*LaunchContainer) DeepCopy

func (in *LaunchContainer) DeepCopy() *LaunchContainer

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

func (*LaunchContainer) DeepCopyInto

func (in *LaunchContainer) DeepCopyInto(out *LaunchContainer)

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

type OwnedPVCStatus

type OwnedPVCStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the ROS2Bridge instance.
	Status corev1.PersistentVolumeClaimStatus `json:"status,omitempty"`
}

func (*OwnedPVCStatus) DeepCopy

func (in *OwnedPVCStatus) DeepCopy() *OwnedPVCStatus

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

func (*OwnedPVCStatus) DeepCopyInto

func (in *OwnedPVCStatus) DeepCopyInto(out *OwnedPVCStatus)

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

type OwnedResourceStatus

type OwnedResourceStatus struct {
	// Shows if the owned resource is created.
	Created bool `json:"created"`
	// Reference to the owned resource.
	Reference corev1.ObjectReference `json:"reference,omitempty"`
	// Phase of the owned resource.
	Phase string `json:"phase,omitempty"`
}

Generic status for any owned resource.

func (*OwnedResourceStatus) DeepCopy

func (in *OwnedResourceStatus) DeepCopy() *OwnedResourceStatus

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

func (*OwnedResourceStatus) DeepCopyInto

func (in *OwnedResourceStatus) DeepCopyInto(out *OwnedResourceStatus)

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

type OwnedStatefulSetStatus

type OwnedStatefulSetStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the ROS2Bridge instance.
	Status appsv1.StatefulSetStatus `json:"status,omitempty"`
	// Container statuses.
	ContainerStatuses []corev1.ContainerStatus `json:"containerStatuses,omitempty"`
}

func (*OwnedStatefulSetStatus) DeepCopy

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

func (*OwnedStatefulSetStatus) DeepCopyInto

func (in *OwnedStatefulSetStatus) DeepCopyInto(out *OwnedStatefulSetStatus)

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

type ROS2Bridge

type ROS2Bridge struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the ROS2Bridge.
	Spec ROS2BridgeSpec `json:"spec,omitempty"`
	// Most recently observed status of the ROS2Bridge.
	Status ROS2BridgeStatus `json:"status,omitempty"`
}

ROS2Bridge is the Schema for the ros2bridges API

func (*ROS2Bridge) DeepCopy

func (in *ROS2Bridge) DeepCopy() *ROS2Bridge

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

func (*ROS2Bridge) DeepCopyInto

func (in *ROS2Bridge) DeepCopyInto(out *ROS2Bridge)

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

func (*ROS2Bridge) DeepCopyObject

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

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

func (*ROS2Bridge) Default

func (r *ROS2Bridge) Default()

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

func (*ROS2Bridge) GetROS2BridgeIngressMetadata

func (ros2bridge *ROS2Bridge) GetROS2BridgeIngressMetadata() *types.NamespacedName

func (*ROS2Bridge) GetROS2BridgePodMetadata

func (ros2bridge *ROS2Bridge) GetROS2BridgePodMetadata() *types.NamespacedName

func (*ROS2Bridge) GetROS2BridgeServiceMetadata

func (ros2bridge *ROS2Bridge) GetROS2BridgeServiceMetadata() *types.NamespacedName

func (*ROS2Bridge) SetupWebhookWithManager

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

func (*ROS2Bridge) ValidateCreate

func (r *ROS2Bridge) ValidateCreate() error

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

func (*ROS2Bridge) ValidateDelete

func (r *ROS2Bridge) ValidateDelete() error

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

func (*ROS2Bridge) ValidateUpdate

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

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

type ROS2BridgeInstanceStatus

type ROS2BridgeInstanceStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the ROS2Bridge instance.
	Status ROS2BridgeStatus `json:"status,omitempty"`
	// Address of the robot service that can be reached from outside.
	Connection string `json:"connection,omitempty"`
}

func (*ROS2BridgeInstanceStatus) DeepCopy

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

func (*ROS2BridgeInstanceStatus) DeepCopyInto

func (in *ROS2BridgeInstanceStatus) DeepCopyInto(out *ROS2BridgeInstanceStatus)

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

type ROS2BridgeList

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

ROS2BridgeList contains a list of ROS2Bridge

func (*ROS2BridgeList) DeepCopy

func (in *ROS2BridgeList) DeepCopy() *ROS2BridgeList

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

func (*ROS2BridgeList) DeepCopyInto

func (in *ROS2BridgeList) DeepCopyInto(out *ROS2BridgeList)

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

func (*ROS2BridgeList) DeepCopyObject

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

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

type ROS2BridgePhase

type ROS2BridgePhase string
const (
	ROS2BridgePhaseCreatingService ROS2BridgePhase = "CreatingService"
	ROS2BridgePhaseCreatingPod     ROS2BridgePhase = "CreatingPod"
	ROS2BridgePhaseCreatingIngress ROS2BridgePhase = "CreatingIngress"
	ROS2BridgePhaseReady           ROS2BridgePhase = "Ready"
	ROS2BridgePhaseDeletingPod     ROS2BridgePhase = "DeletingPod"
	ROS2BridgePhaseDeletingService ROS2BridgePhase = "DeletingService"
)

type ROS2BridgeSpec

type ROS2BridgeSpec struct {
	// Configurational parameters for ROS 2 bridge.
	// +kubebuilder:validation:Required
	Distro robotv1alpha1.ROSDistro `json:"distro"`
	// Object reference to DiscoveryServer.
	DiscoveryServerReference corev1.ObjectReference `json:"discoveryServerRef,omitempty"`
	// Service type of ROS2Bridge. `ClusterIP` and `NodePort` is supported.
	// +kubebuilder:validation:Enum=ClusterIP;NodePort
	// +kubebuilder:default=ClusterIP
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// ROS2Bridge will create an Ingress resource if `true`.
	Ingress bool `json:"ingress,omitempty"`
	// Name of the TLS secret.
	TLSSecretName string `json:"tlsSecretName,omitempty"`
}

ROS2BridgeSpec defines the desired state of ROS2Bridge.

func (*ROS2BridgeSpec) DeepCopy

func (in *ROS2BridgeSpec) DeepCopy() *ROS2BridgeSpec

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

func (*ROS2BridgeSpec) DeepCopyInto

func (in *ROS2BridgeSpec) DeepCopyInto(out *ROS2BridgeSpec)

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

type ROS2BridgeStatus

type ROS2BridgeStatus struct {
	// Phase of ROS2Bridge.
	Phase ROS2BridgePhase `json:"phase,omitempty"`
	// Connection info obtained from DiscoveryServer.
	ConnectionInfo robotv1alpha1.ConnectionInfo `json:"connectionInfo,omitempty"`
	// Status of ROS2Bridge pod.
	PodStatus robotv1alpha1.OwnedResourceStatus `json:"podStatus,omitempty"`
	// Status of ROS2Bridge service.
	ServiceStatus robotv1alpha1.OwnedServiceStatus `json:"serviceStatus,omitempty"`
	// Status of ROS2Bridge Ingress.
	IngressStatus robotv1alpha1.OwnedResourceStatus `json:"ingressStatus,omitempty"`
}

ROS2BridgeStatus defines the observed state of ROS2Bridge.

func (*ROS2BridgeStatus) DeepCopy

func (in *ROS2BridgeStatus) DeepCopy() *ROS2BridgeStatus

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

func (*ROS2BridgeStatus) DeepCopyInto

func (in *ROS2BridgeStatus) DeepCopyInto(out *ROS2BridgeStatus)

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

type ROS2Workload

type ROS2Workload struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the ROS2Workload.
	Spec ROS2WorkloadSpec `json:"spec,omitempty"`
	// Most recently observed status of the ROS2Workload.
	Status ROS2WorkloadStatus `json:"status,omitempty"`
}

ROS2Workload is the Schema for the ros2workloads API

func (*ROS2Workload) DeepCopy

func (in *ROS2Workload) DeepCopy() *ROS2Workload

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

func (*ROS2Workload) DeepCopyInto

func (in *ROS2Workload) DeepCopyInto(out *ROS2Workload)

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

func (*ROS2Workload) DeepCopyObject

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

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

func (*ROS2Workload) Default

func (r *ROS2Workload) Default()

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

func (*ROS2Workload) GetDiscoveryServerMetadata

func (ros2Workload *ROS2Workload) GetDiscoveryServerMetadata() *types.NamespacedName

func (*ROS2Workload) GetPersistentVolumeClaimMetadata

func (ros2Workload *ROS2Workload) GetPersistentVolumeClaimMetadata(key int) *types.NamespacedName

func (*ROS2Workload) GetROS2BridgeMetadata

func (ros2Workload *ROS2Workload) GetROS2BridgeMetadata() *types.NamespacedName

func (*ROS2Workload) GetStatefulSetMetadata

func (ros2Workload *ROS2Workload) GetStatefulSetMetadata(key int) *types.NamespacedName

func (*ROS2Workload) SetupWebhookWithManager

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

func (*ROS2Workload) ValidateCreate

func (r *ROS2Workload) ValidateCreate() error

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

func (*ROS2Workload) ValidateDelete

func (r *ROS2Workload) ValidateDelete() error

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

func (*ROS2Workload) ValidateUpdate

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

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

type ROS2WorkloadList

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

ROS2WorkloadList contains a list of ROS2Workload

func (*ROS2WorkloadList) DeepCopy

func (in *ROS2WorkloadList) DeepCopy() *ROS2WorkloadList

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

func (*ROS2WorkloadList) DeepCopyInto

func (in *ROS2WorkloadList) DeepCopyInto(out *ROS2WorkloadList)

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

func (*ROS2WorkloadList) DeepCopyObject

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

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

type ROS2WorkloadPhase

type ROS2WorkloadPhase string
const (
	ROS2WorkloadPhaseCreatingDiscoveryServer ROS2WorkloadPhase = "CreatingDiscoveryServer"
	ROS2WorkloadPhaseCreatingROS2Bridge      ROS2WorkloadPhase = "CreatingROS2Bridge"
	ROS2WorkloadPhaseCreatingPVCs            ROS2WorkloadPhase = "CreatingPVCs"
	ROS2WorkloadPhaseCreatingStatefulSets    ROS2WorkloadPhase = "CreatingStatefulSets"
	ROS2WorkloadPhaseReady                   ROS2WorkloadPhase = "Ready"
)

type ROS2WorkloadSpec

type ROS2WorkloadSpec struct {
	// Discovery server configurational parameters.
	// +kubebuilder:validation:Required
	DiscoveryServerTemplate robotv1alpha1.DiscoveryServerSpec `json:"discoveryServerTemplate"`
	// ROS 2 Bridge configurational parameters.
	// +kubebuilder:validation:Required
	ROS2BridgeTemplate ROS2BridgeSpec `json:"ros2BridgeTemplate,omitempty"`
	// Volume templates for ROS 2 workload.
	// For each volume template, operator will create a PersistentVolumeClaim
	// that can be mounted to the ROS 2 workload.
	VolumeClaimTemplates []corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplates,omitempty"`
	// Configurational parameters for containers that will be encapsulated within the ROS 2 workload StatefulSet.
	LaunchContainers []LaunchContainer `json:"launchContainers,omitempty"`
}

ROS2WorkloadSpec defines the desired state of ROS2Workload.

func (*ROS2WorkloadSpec) DeepCopy

func (in *ROS2WorkloadSpec) DeepCopy() *ROS2WorkloadSpec

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

func (*ROS2WorkloadSpec) DeepCopyInto

func (in *ROS2WorkloadSpec) DeepCopyInto(out *ROS2WorkloadSpec)

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

type ROS2WorkloadStatus

type ROS2WorkloadStatus struct {
	// Phase of ROS2Workload. It sums the general status of ROS 2 workload(s).
	Phase ROS2WorkloadPhase `json:"phase,omitempty"`
	// Discovery server instance status.
	DiscoveryServerStatus robotv1alpha1.DiscoveryServerInstanceStatus `json:"discoveryServerStatus,omitempty"`
	// ROS 2 Bridge instance status.
	ROS2BridgeStatus ROS2BridgeInstanceStatus `json:"ros2BridgeStatus,omitempty"`
	// Statuses of owned PersistentVolumeClaims.
	PVCStatuses []OwnedPVCStatus `json:"pvcStatuses,omitempty"`
	// Status of owned StatefulSet and containers.
	StatefulSetStatuses []OwnedStatefulSetStatus `json:"statefulSetStatuses,omitempty"`
}

ROS2WorkloadStatus defines the observed state of ROS2Workload.

func (*ROS2WorkloadStatus) DeepCopy

func (in *ROS2WorkloadStatus) DeepCopy() *ROS2WorkloadStatus

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

func (*ROS2WorkloadStatus) DeepCopyInto

func (in *ROS2WorkloadStatus) DeepCopyInto(out *ROS2WorkloadStatus)

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