v1alpha1

package
v0.2.7-alpha.7.3 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2024 License: Apache-2.0 Imports: 18 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the robot v1alpha1 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: "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 SchemeGroupVersion = GroupVersion

SchemeGroupVersion is group version used to register these objects.

Functions

func DefaultRemoteIDERelayServerFields

func DefaultRemoteIDERelayServerFields(r *RobotDevSuite)

func GetRelayServerServiceDNS

func GetRelayServerServiceDNS(rs RelayServer, prefix, postfix string) string

DEPRECATE

func GetRelayServerServicePath

func GetRelayServerServicePath(rs RelayServer, postfix string) string

DEPRECATE

func GetRobotServiceDNS

func GetRobotServiceDNS(robot Robot, prefix, postfix string) string

DEPRECATE

func GetRobotServiceDNSWithNodePort

func GetRobotServiceDNSWithNodePort(robot Robot, prefix, port string) string

DEPRECATE

func GetRobotServicePath

func GetRobotServicePath(robot Robot, postfix string) string

DEPRECATE

func GetServiceDNS

func GetServiceDNS(obj metav1.Object, prefix, postfix string) string

func GetServiceDNSWithNodePort

func GetServiceDNSWithNodePort(obj metav1.Object, prefix, port string) string

func GetServicePath

func GetServicePath(obj metav1.Object, postfix string) string

func Resource

func Resource(resource string) schema.GroupResource

Types

type AdditionalConfig

type AdditionalConfig struct {
	// Config type is by default `Operator`. Other options are `Env` and `File`.
	// +kubebuilder:default=Operator
	ConfigType AdditionalConfigType `json:"configType,omitempty"`
	// Value of the corresponding config key.
	Value string `json:"value,omitempty"`
}

func (*AdditionalConfig) DeepCopy

func (in *AdditionalConfig) DeepCopy() *AdditionalConfig

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

func (*AdditionalConfig) DeepCopyInto

func (in *AdditionalConfig) DeepCopyInto(out *AdditionalConfig)

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

type AdditionalConfigType

type AdditionalConfigType string
const (
	AdditionalConfigTypeEnv      AdditionalConfigType = "Env"
	AdditionalConfigTypeOperator AdditionalConfigType = "Operator"
	AdditionalConfigTypeFile     AdditionalConfigType = "File"
)

type Application

type Application struct {
	// Application name.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Version of the application.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

func (*Application) DeepCopy

func (in *Application) DeepCopy() *Application

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

func (*Application) DeepCopyInto

func (in *Application) DeepCopyInto(out *Application)

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

type AttachedBuildObject

type AttachedBuildObject struct {
	// Reference to the BuildManager instance.
	Reference corev1.ObjectReference `json:"reference,omitempty"`
	// Status of attached BuildManager.
	Status BuildManagerStatus `json:"status,omitempty"`
}

func (*AttachedBuildObject) DeepCopy

func (in *AttachedBuildObject) DeepCopy() *AttachedBuildObject

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

func (*AttachedBuildObject) DeepCopyInto

func (in *AttachedBuildObject) DeepCopyInto(out *AttachedBuildObject)

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

type AttachedDevObject

type AttachedDevObject struct {
	// Reference to the RobotDevSuite instance.
	Reference corev1.ObjectReference `json:"reference,omitempty"`
	// Status of attached RobotDevSuite.
	Status RobotDevSuiteStatus `json:"status,omitempty"`
}

func (*AttachedDevObject) DeepCopy

func (in *AttachedDevObject) DeepCopy() *AttachedDevObject

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

func (*AttachedDevObject) DeepCopyInto

func (in *AttachedDevObject) DeepCopyInto(out *AttachedDevObject)

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

type AttachedLaunchObject

type AttachedLaunchObject struct {
	// Reference to the LaunchManager instance.
	Reference corev1.ObjectReference `json:"reference,omitempty"`
	// Status of attached LaunchManager.
	Status LaunchManagerStatus `json:"status,omitempty"`
}

func (*AttachedLaunchObject) DeepCopy

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

func (*AttachedLaunchObject) DeepCopyInto

func (in *AttachedLaunchObject) DeepCopyInto(out *AttachedLaunchObject)

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

type BridgePhase

type BridgePhase string
const (
	BridgePhaseCreatingService BridgePhase = "CreatingService"
	BridgePhaseCreatingPod     BridgePhase = "CreatingPod"
	BridgePhaseCreatingIngress BridgePhase = "CreatingIngress"
	BridgePhaseReady           BridgePhase = "Ready"
	BridgePhaseDeletingPod     BridgePhase = "DeletingPod"
	BridgePhaseDeletingService BridgePhase = "DeletingService"
)

type BuildManager

type BuildManager struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the BuildManager.
	Spec BuildManagerSpec `json:"spec,omitempty"`
	// Most recently observed status of the BuildManager.
	Status BuildManagerStatus `json:"status,omitempty"`
}

BuildManager is the Schema for the buildmanagers API

func (*BuildManager) DeepCopy

func (in *BuildManager) DeepCopy() *BuildManager

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

func (*BuildManager) DeepCopyInto

func (in *BuildManager) DeepCopyInto(out *BuildManager)

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

func (*BuildManager) DeepCopyObject

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

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

func (*BuildManager) Default

func (r *BuildManager) Default()

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

func (*BuildManager) GetConfigMapMetadata

func (buildmanager *BuildManager) GetConfigMapMetadata() *types.NamespacedName

func (*BuildManager) SetupWebhookWithManager

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

func (*BuildManager) ValidateCreate

func (r *BuildManager) ValidateCreate() error

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

func (*BuildManager) ValidateDelete

func (r *BuildManager) ValidateDelete() error

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

func (*BuildManager) ValidateUpdate

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

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

type BuildManagerList

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

BuildManagerList contains a list of BuildManager

func (*BuildManagerList) DeepCopy

func (in *BuildManagerList) DeepCopy() *BuildManagerList

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

func (*BuildManagerList) DeepCopyInto

func (in *BuildManagerList) DeepCopyInto(out *BuildManagerList)

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

func (*BuildManagerList) DeepCopyObject

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

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

type BuildManagerPhase

type BuildManagerPhase string
const (
	BuildManagerRobotNotFound            BuildManagerPhase = "RobotNotFound"
	BuildManagerWaitingForOtherResources BuildManagerPhase = "WaitingForOtherResources"
	BuildManagerCreatingConfigMap        BuildManagerPhase = "CreatingConfigMap"
	BuildManagerBuildingRobot            BuildManagerPhase = "BuildingRobot"
	BuildManagerReady                    BuildManagerPhase = "Ready"
	BuildManagerFailed                   BuildManagerPhase = "Failed"
	BuildManagerDeactivating             BuildManagerPhase = "Deactivating"
	BuildManagerInactive                 BuildManagerPhase = "Inactive"
)

type BuildManagerSpec

type BuildManagerSpec struct {
	// Defines the building steps.
	Steps []Step `json:"steps,omitempty"`
}

BuildManagerSpec defines the desired state of BuildManager.

func (*BuildManagerSpec) DeepCopy

func (in *BuildManagerSpec) DeepCopy() *BuildManagerSpec

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

func (*BuildManagerSpec) DeepCopyInto

func (in *BuildManagerSpec) DeepCopyInto(out *BuildManagerSpec)

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

type BuildManagerStatus

type BuildManagerStatus struct {
	// Phase of BuildManager.
	Phase BuildManagerPhase `json:"phase,omitempty"`
	// Indicates if the BuildManager is currently executing it's jobs.
	Active bool `json:"active,omitempty"`
	// Status of the ConfigMap that holds scripts.
	// If a script is specified inside `.spec.steps[k]`, they are mounted to the step jobs via this ConfigMap.
	ScriptConfigMapStatus OwnedResourceStatus `json:"scriptConfigMapStatus,omitempty"`
	// Statuses of the build steps.
	Steps []StepStatus `json:"steps,omitempty"`
}

BuildManagerStatus defines the observed state of BuildManager.

func (*BuildManagerStatus) DeepCopy

func (in *BuildManagerStatus) DeepCopy() *BuildManagerStatus

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

func (*BuildManagerStatus) DeepCopyInto

func (in *BuildManagerStatus) DeepCopyInto(out *BuildManagerStatus)

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

type ConnectionInfo

type ConnectionInfo struct {
	// URI of the discovery server.
	// Discovery server instance tries to ping this address to see if it's reachable.
	URI string `json:"uri,omitempty"`
	// IP of the discovery server.
	// IP is being obtained from the DNS name, which is being built according to the discovery server configuration.
	IP string `json:"ip,omitempty"`
	// Name of the config map that holds discovery server configuration.
	ConfigMapName string `json:"configMapName,omitempty"`
}

func (*ConnectionInfo) DeepCopy

func (in *ConnectionInfo) DeepCopy() *ConnectionInfo

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

func (*ConnectionInfo) DeepCopyInto

func (in *ConnectionInfo) DeepCopyInto(out *ConnectionInfo)

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

type DevSpaceImage

type DevSpaceImage struct {
	// Ubuntu distribution of the environment.
	// +kubebuilder:validation:Required
	UbuntuDistro string `json:"ubuntuDistro"`
	// Ubuntu desktop.
	// +kubebuilder:validation:Required
	Desktop string `json:"desktop"`
	// DevSpace image version.
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

func (*DevSpaceImage) DeepCopy

func (in *DevSpaceImage) DeepCopy() *DevSpaceImage

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

func (*DevSpaceImage) DeepCopyInto

func (in *DevSpaceImage) DeepCopyInto(out *DevSpaceImage)

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

type DiscoveryServer

type DiscoveryServer struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the DiscoveryServer.
	Spec DiscoveryServerSpec `json:"spec,omitempty"`
	// Most recently observed status of the DiscoveryServer.
	Status DiscoveryServerStatus `json:"status,omitempty"`
}

DiscoveryServer is a custom resource that connects Robots and Fleets both locally and geoghraphically in DDS (UDP multicast) level.

func (*DiscoveryServer) DeepCopy

func (in *DiscoveryServer) DeepCopy() *DiscoveryServer

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

func (*DiscoveryServer) DeepCopyInto

func (in *DiscoveryServer) DeepCopyInto(out *DiscoveryServer)

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

func (*DiscoveryServer) DeepCopyObject

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

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

func (*DiscoveryServer) Default added in v0.2.1

func (r *DiscoveryServer) Default()

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

func (*DiscoveryServer) GetDiscoveryServerConfigMapMetadata

func (discoveryServer *DiscoveryServer) GetDiscoveryServerConfigMapMetadata() *types.NamespacedName

func (*DiscoveryServer) GetDiscoveryServerPodMetadata

func (discoveryServer *DiscoveryServer) GetDiscoveryServerPodMetadata() *types.NamespacedName

func (*DiscoveryServer) GetDiscoveryServerServiceMetadata

func (discoveryServer *DiscoveryServer) GetDiscoveryServerServiceMetadata() *types.NamespacedName

func (*DiscoveryServer) SetupWebhookWithManager added in v0.2.1

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

func (*DiscoveryServer) ValidateCreate added in v0.2.1

func (r *DiscoveryServer) ValidateCreate() error

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

func (*DiscoveryServer) ValidateDelete added in v0.2.1

func (r *DiscoveryServer) ValidateDelete() error

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

func (*DiscoveryServer) ValidateUpdate added in v0.2.1

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

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

type DiscoveryServerInstanceStatus

type DiscoveryServerInstanceStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the DiscoveryServer instance.
	Status DiscoveryServerStatus `json:"status,omitempty"`
}

func (*DiscoveryServerInstanceStatus) DeepCopy

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

func (*DiscoveryServerInstanceStatus) DeepCopyInto

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

type DiscoveryServerInstanceType

type DiscoveryServerInstanceType string

Instance type can be either `Server` or `Client`.

const (
	DiscoveryServerInstanceTypeServer DiscoveryServerInstanceType = "Server"
	DiscoveryServerInstanceTypeClient DiscoveryServerInstanceType = "Client"
)

type DiscoveryServerList

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

DiscoveryServerList contains a list of DiscoveryServer

func (*DiscoveryServerList) DeepCopy

func (in *DiscoveryServerList) DeepCopy() *DiscoveryServerList

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

func (*DiscoveryServerList) DeepCopyInto

func (in *DiscoveryServerList) DeepCopyInto(out *DiscoveryServerList)

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

func (*DiscoveryServerList) DeepCopyObject

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

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

type DiscoveryServerPhase

type DiscoveryServerPhase string
const (
	DiscoveryServerPhaseCreatingService       DiscoveryServerPhase = "CreatingService"
	DiscoveryServerPhaseCreatingPod           DiscoveryServerPhase = "CreatingPod"
	DiscoveryServerPhaseCreatingServiceExport DiscoveryServerPhase = "CreatingServiceExport"
	DiscoveryServerPhaseCreatingConfigMap     DiscoveryServerPhase = "CreatingConfigMap"
	DiscoveryServerPhaseReady                 DiscoveryServerPhase = "Ready"
	DiscoveryServerPhaseDeletingConfigMap     DiscoveryServerPhase = "DeletingConfigMap"
	DiscoveryServerPhaseDeletingPod           DiscoveryServerPhase = "DeletingPod"
	DiscoveryServerPhaseDeletingService       DiscoveryServerPhase = "DeletingService"
)

type DiscoveryServerSpec

type DiscoveryServerSpec struct {
	// +kubebuilder:validation:Enum=TCP;UDP
	Protocol string `json:"protocol,omitempty"`
	// ROS domain ID for robot. See https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=101
	DomainID int `json:"domainID"`
	// Instance type can be either `Server` or `Client`.
	// If `Server`, instance creates discovery server resources and workloads.
	// Other `Client` instances can connect to the `Server` instance.
	// If `Client`, instance tries to connect a `Server` instance and hold `Server` configuration in a ConfigMap.
	Type DiscoveryServerInstanceType `json:"type,omitempty"`
	// Reference to the `Server` instance.
	// It is used if `.spec.type` is `Client`.
	// Referenced object can be previously provisioned in another cluster.
	// In that case, cluster's name can be specified in `.spec.cluster` field.
	Reference corev1.ObjectReference `json:"reference,omitempty"`
	// Cloud instance name that holds DiscoveryServer instance with `Server` type.
	// Should be empty if the type is `Server` since it takes cloud instance's name automatically.
	// Should be set if the type is `Client`.
	Cluster string `json:"cluster,omitempty"`
	// If instance type is `Server`, it can be an arbitrary value.
	// If instance type is `Client`, it should be the same with Server's hostname.
	// Used for getting Server's IP over DNS.
	Hostname string `json:"hostname,omitempty"`
	// If instance type is `Server`, it can be an arbitrary value.
	// If instance type is `Client`, it should be the same with Server's subdomain.
	// Used for getting Server's IP over DNS.
	Subdomain string `json:"subdomain,omitempty"`
}

DiscoveryServerSpec defines the desired state of DiscoveryServer.

func (*DiscoveryServerSpec) DeepCopy

func (in *DiscoveryServerSpec) DeepCopy() *DiscoveryServerSpec

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

func (*DiscoveryServerSpec) DeepCopyInto

func (in *DiscoveryServerSpec) DeepCopyInto(out *DiscoveryServerSpec)

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

type DiscoveryServerStatus

type DiscoveryServerStatus struct {
	// Phase of the DiscoveryServer.
	Phase DiscoveryServerPhase `json:"phase,omitempty"`
	// Status of the DiscoveryServer service.
	ServiceStatus OwnedResourceStatus `json:"serviceStatus,omitempty"`
	// Status of the DiscoveryServer ServiceExport.
	ServiceExportStatus OwnedResourceStatus `json:"serviceExportStatus,omitempty"`
	// Status of the DiscoveryServer pod.
	PodStatus OwnedPodStatus `json:"podStatus,omitempty"`
	// Status of the DiscoveryServer config map.
	ConfigMapStatus OwnedResourceStatus `json:"configMapStatus,omitempty"`
	// Connection information.
	ConnectionInfo ConnectionInfo `json:"connectionInfo,omitempty"`
}

DiscoveryServerStatus defines the observed state of DiscoveryServer.

func (*DiscoveryServerStatus) DeepCopy

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

func (*DiscoveryServerStatus) DeepCopyInto

func (in *DiscoveryServerStatus) DeepCopyInto(out *DiscoveryServerStatus)

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

type EnvironmentConfig

type EnvironmentConfig struct {
	// Domain of the environment.
	// +kubebuilder:validation:Required
	Domain string `json:"domain"`
	// Application properties.
	// +kubebuilder:validation:Required
	Application Application `json:"application"`
	// DevSpace image properties.
	// +kubebuilder:validation:Required
	DevSpaceImage DevSpaceImage `json:"devspace"`
}

func (*EnvironmentConfig) DeepCopy

func (in *EnvironmentConfig) DeepCopy() *EnvironmentConfig

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

func (*EnvironmentConfig) DeepCopyInto

func (in *EnvironmentConfig) DeepCopyInto(out *EnvironmentConfig)

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

type GPUDevice

type GPUDevice struct {
	// GPU device name.
	Device string `json:"device,omitempty"`
	// GPU device UUID.
	UUID string `json:"uuid,omitempty"`
	// GPU device model.
	Model string `json:"model,omitempty"`
}

func (*GPUDevice) DeepCopy

func (in *GPUDevice) DeepCopy() *GPUDevice

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

func (*GPUDevice) DeepCopyInto

func (in *GPUDevice) DeepCopyInto(out *GPUDevice)

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

type GPUDeviceMetrics

type GPUDeviceMetrics struct {
	// GPU temperature (in C).
	Temp map[string]string `json:"temp,omitempty"`
	// Power draw (in W).
	PowerUsage map[string]string `json:"powerUsage,omitempty"`
	// GPU utilization (in %).
	GPUUtil map[string]string `json:"gpuUtil,omitempty"`
	// Memory utilization (in %).
	MemoryUtil map[string]string `json:"memoryUtil,omitempty"`
	// Framebuffer memory free (in MiB).
	FramebufferMemoryFree map[string]string `json:"fbMemoryFree,omitempty"`
	// Framebuffer memory used (in MiB).
	FramebufferMemoryUsed map[string]string `json:"fbMemoryUsed,omitempty"`
}

func (*GPUDeviceMetrics) DeepCopy

func (in *GPUDeviceMetrics) DeepCopy() *GPUDeviceMetrics

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

func (*GPUDeviceMetrics) DeepCopyInto

func (in *GPUDeviceMetrics) DeepCopyInto(out *GPUDeviceMetrics)

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

type GPUDeviceStatuses

type GPUDeviceStatuses struct {
	// DCGM endpoint.
	DCGMEndpoint string `json:"dcgmEndpoint,omitempty"`
	// Available GPU devices.
	Devices map[string]GPUDevice `json:"devices,omitempty"`
	// GPU device metrics from DCGM exporter.
	Metrics GPUDeviceMetrics `json:"metrics,omitempty"`
}

func (*GPUDeviceStatuses) DeepCopy

func (in *GPUDeviceStatuses) DeepCopy() *GPUDeviceStatuses

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

func (*GPUDeviceStatuses) DeepCopyInto

func (in *GPUDeviceStatuses) DeepCopyInto(out *GPUDeviceStatuses)

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

type GPUInstanceStatus

type GPUInstanceStatus struct {
	// Number of total virtual cores.
	Capacity string `json:"capacity,omitempty"`
	// Number of allocated virtual cores.
	// +kubebuilder:default="0"
	Allocated string `json:"allocated,omitempty"`
}

Current usage of GPU cores belongs to a GPU instance (eg. mig-1g.10gb).

func (*GPUInstanceStatus) DeepCopy

func (in *GPUInstanceStatus) DeepCopy() *GPUInstanceStatus

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

func (*GPUInstanceStatus) DeepCopyInto

func (in *GPUInstanceStatus) DeepCopyInto(out *GPUInstanceStatus)

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

type GPUMetrics

type GPUMetrics struct {
	// MetricsExporter watches volatile GPU usage in the host machine
	// if it's set to `true`.
	Track bool `json:"track,omitempty"`
	// Watching latency.
	Interval int `json:"interval,omitempty"`
}

func (*GPUMetrics) DeepCopy

func (in *GPUMetrics) DeepCopy() *GPUMetrics

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

func (*GPUMetrics) DeepCopyInto

func (in *GPUMetrics) DeepCopyInto(out *GPUMetrics)

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

type GPUUtilizationStatus

type GPUUtilizationStatus struct {
	// Volatile GPU utilization. Shows a percentage gathered from `nvidia-smi` command.
	Utilization string `json:"utilization,omitempty"`
	// Last update time.
	LastUpdateTimestamp string `json:"lastUpdateTimestamp,omitempty"`
}

func (*GPUUtilizationStatus) DeepCopy

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

func (*GPUUtilizationStatus) DeepCopyInto

func (in *GPUUtilizationStatus) DeepCopyInto(out *GPUUtilizationStatus)

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

type HostDirectory

type HostDirectory struct {
	Name      string `json:"name,omitempty"`
	HostPath  string `json:"hostPath,omitempty"`
	MountPath string `json:"internalPath,omitempty"`
}

func (*HostDirectory) DeepCopy

func (in *HostDirectory) DeepCopy() *HostDirectory

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

func (*HostDirectory) DeepCopyInto

func (in *HostDirectory) DeepCopyInto(out *HostDirectory)

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

type JobPhase

type JobPhase string
const (
	JobActive    JobPhase = "Active"
	JobSucceeded JobPhase = "Succeeded"
	JobFailed    JobPhase = "Failed"
)

type Launch

type Launch struct {
	// Selects the scope for launch.
	// +kubebuilder:validation:Required
	Scope Scope `json:"scope"`
	// Cluster selector.
	// If the current instance name is on the list, LaunchManager creates launch pods.
	Instances []string `json:"instances,omitempty"`
	// ROS 2 namespacing. May not be suitable for all launchfiles.
	// If used, all the node names and topic names should be defined relative, not absolute.
	// (eg. `cmd_vel` instead of /cmd_vel“)
	// +kubebuilder:validation:Required
	Namespacing bool `json:"namespacing,omitempty"`
	// Entrypoint configuration of launch.
	Entrypoint LaunchEntrypointConfig `json:"entrypoint,omitempty"`
	// General container configuration parameters.
	Container LaunchContainerConfig `json:"container,omitempty"`
}

Launch description of a repository.

func (*Launch) DeepCopy

func (in *Launch) DeepCopy() *Launch

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

func (*Launch) DeepCopyInto

func (in *Launch) DeepCopyInto(out *Launch)

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

type LaunchContainerConfig

type LaunchContainerConfig struct {
	// Additional environment variables to set when launching ROS nodes.
	Env []corev1.EnvVar `json:"env,omitempty"`
	// Launch container privilege.
	Privileged bool `json:"privileged,omitempty"`
	// Launch container resource limits.
	Resources Resources `json:"resources,omitempty"`
	// Launch processes connects an X11 socket if it's set to `true` and a target RobotVDI resource is set in labels with key `robolaunch.io/target-vdi`.
	// Applications that requires GUI can be executed such as rViz.
	Display bool `json:"display,omitempty"`
}

func (*LaunchContainerConfig) DeepCopy

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

func (*LaunchContainerConfig) DeepCopyInto

func (in *LaunchContainerConfig) DeepCopyInto(out *LaunchContainerConfig)

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

type LaunchEntrypointConfig

type LaunchEntrypointConfig struct {
	// Launching type. Can be `Launch`, `Run` or `Custom`.
	// +kubebuilder:validation:Enum=Launch;Run;Custom
	Type LaunchType `json:"type,omitempty"`
	// Package name. (eg. `robolaunch_cloudy_navigation`)
	// +kubebuilder:validation:Required
	Package string `json:"package,omitempty"`
	// Launchfile. (eg. `nav_launch.py`)
	// Required and used if the launch type is `Launch`.
	Launchfile string `json:"launchfile,omitempty"`
	// Executable file name. (eg. `webcam_pub.py`)
	// Required and used if the launch type is `Run`.
	Executable string `json:"executable,omitempty"`
	// If `true`, workspaces are not sourced by default.
	// Used if the launch type is `Custom`.
	DisableSourcingWorkspace bool `json:"disableSourcingWs,omitempty"`
	// Custom command to launch packages or start nodes.
	// Required if the launch type is `Custom`.
	Command string `json:"cmd,omitempty"`
	// Launch parameters.
	Parameters map[string]string `json:"parameters,omitempty"`
}

func (*LaunchEntrypointConfig) DeepCopy

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

func (*LaunchEntrypointConfig) DeepCopyInto

func (in *LaunchEntrypointConfig) DeepCopyInto(out *LaunchEntrypointConfig)

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

type LaunchManager

type LaunchManager struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the LaunchManager.
	Spec LaunchManagerSpec `json:"spec,omitempty"`
	// Most recently observed status of the LaunchManager.
	Status LaunchManagerStatus `json:"status,omitempty"`
}

LaunchManager is the Schema for the launchmanagers API

func (*LaunchManager) DeepCopy

func (in *LaunchManager) DeepCopy() *LaunchManager

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

func (*LaunchManager) DeepCopyInto

func (in *LaunchManager) DeepCopyInto(out *LaunchManager)

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

func (*LaunchManager) DeepCopyObject

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

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

func (*LaunchManager) Default

func (r *LaunchManager) Default()

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

func (*LaunchManager) GetLaunchPodMetadata

func (launchmanager *LaunchManager) GetLaunchPodMetadata() *types.NamespacedName

func (*LaunchManager) SetupWebhookWithManager

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

func (*LaunchManager) ValidateCreate

func (r *LaunchManager) ValidateCreate() error

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

func (*LaunchManager) ValidateDelete

func (r *LaunchManager) ValidateDelete() error

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

func (*LaunchManager) ValidateUpdate

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

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

type LaunchManagerList

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

LaunchManagerList contains a list of LaunchManager

func (*LaunchManagerList) DeepCopy

func (in *LaunchManagerList) DeepCopy() *LaunchManagerList

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

func (*LaunchManagerList) DeepCopyInto

func (in *LaunchManagerList) DeepCopyInto(out *LaunchManagerList)

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

func (*LaunchManagerList) DeepCopyObject

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

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

type LaunchManagerPhase

type LaunchManagerPhase string
const (
	LaunchManagerPhaseRobotNotFound LaunchManagerPhase = "RobotNotFound"
	LaunchManagerPhaseCreatingPod   LaunchManagerPhase = "CreatingPod"
	LaunchManagerPhaseLaunching     LaunchManagerPhase = "Launching"
	LaunchManagerPhaseReady         LaunchManagerPhase = "Ready"
	LaunchManagerPhaseDeactivating  LaunchManagerPhase = "Deactivating"
	LaunchManagerPhaseInactive      LaunchManagerPhase = "Inactive"
)

type LaunchManagerSpec

type LaunchManagerSpec struct {
	// Launch descriptions.
	// Every object defined here generates a launching command in the specified workspace.
	Launches map[string]Launch `json:"launches,omitempty"`
}

LaunchManagerSpec defines the desired state of LaunchManager.

func (*LaunchManagerSpec) DeepCopy

func (in *LaunchManagerSpec) DeepCopy() *LaunchManagerSpec

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

func (*LaunchManagerSpec) DeepCopyInto

func (in *LaunchManagerSpec) DeepCopyInto(out *LaunchManagerSpec)

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

type LaunchManagerStatus

type LaunchManagerStatus struct {
	// Phase of LaunchManager.
	Phase LaunchManagerPhase `json:"phase,omitempty"`
	// Indicates if the LaunchManager is attached to a Robot and actively running.
	Active bool `json:"active,omitempty"`
	// Collective statuses of launch pod and launch objects.
	LaunchPodStatus LaunchPodStatus `json:"launchPodStatus,omitempty"`
}

LaunchManagerStatus defines the observed state of LaunchManager.

func (*LaunchManagerStatus) DeepCopy

func (in *LaunchManagerStatus) DeepCopy() *LaunchManagerStatus

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

func (*LaunchManagerStatus) DeepCopyInto

func (in *LaunchManagerStatus) DeepCopyInto(out *LaunchManagerStatus)

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

type LaunchPodStatus

type LaunchPodStatus struct {
	// Launch pod status. Every LaunchManager creates one pod if active.
	Status OwnedPodStatus `json:"status,omitempty"`
	// Status of launch objects. Every launch object generates a `ros2 launch` command that will run as an entrypoint in a container.
	LaunchStatus map[string]LaunchStatus `json:"launchStatus,omitempty"`
}

func (*LaunchPodStatus) DeepCopy

func (in *LaunchPodStatus) DeepCopy() *LaunchPodStatus

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

func (*LaunchPodStatus) DeepCopyInto

func (in *LaunchPodStatus) DeepCopyInto(out *LaunchPodStatus)

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

type LaunchStatus

type LaunchStatus struct {
	// Inditaces if the launch process are actively running on cluster.
	// It may not be selected by launch cluster selectors.
	Active bool `json:"active,omitempty"`
	// Statuses of the containers of pods owned by LaunchManager.
	ContainerStatus corev1.ContainerStatus `json:"containerStatus,omitempty"`
}

func (*LaunchStatus) DeepCopy

func (in *LaunchStatus) DeepCopy() *LaunchStatus

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

func (*LaunchStatus) DeepCopyInto

func (in *LaunchStatus) DeepCopyInto(out *LaunchStatus)

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

type LaunchType

type LaunchType string
const (
	LaunchTypeLaunch LaunchType = "Launch"
	LaunchTypeRun    LaunchType = "Run"
	LaunchTypeCustom LaunchType = "Custom"
)

type MetricsExporter

type MetricsExporter struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the MetricsExporter.
	Spec MetricsExporterSpec `json:"spec,omitempty"`
	// Most recently observed status of the MetricsExporter.
	Status MetricsExporterStatus `json:"status,omitempty"`
}

MetricsExporter collects metrics from host machine and expose them from the Kubernetes API.

func (*MetricsExporter) DeepCopy

func (in *MetricsExporter) DeepCopy() *MetricsExporter

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

func (*MetricsExporter) DeepCopyInto

func (in *MetricsExporter) DeepCopyInto(out *MetricsExporter)

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

func (*MetricsExporter) DeepCopyObject

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

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

func (*MetricsExporter) GetMetricsExporterPodMetadata

func (metricseexporter *MetricsExporter) GetMetricsExporterPodMetadata() *types.NamespacedName

func (*MetricsExporter) GetMetricsExporterRoleBindingMetadata

func (metricseexporter *MetricsExporter) GetMetricsExporterRoleBindingMetadata() *types.NamespacedName

func (*MetricsExporter) GetMetricsExporterRoleMetadata

func (metricseexporter *MetricsExporter) GetMetricsExporterRoleMetadata() *types.NamespacedName

func (*MetricsExporter) GetMetricsExporterServiceAccountMetadata

func (metricseexporter *MetricsExporter) GetMetricsExporterServiceAccountMetadata() *types.NamespacedName

type MetricsExporterList

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

MetricsExporterList contains a list of MetricsExporter

func (*MetricsExporterList) DeepCopy

func (in *MetricsExporterList) DeepCopy() *MetricsExporterList

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

func (*MetricsExporterList) DeepCopyInto

func (in *MetricsExporterList) DeepCopyInto(out *MetricsExporterList)

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

func (*MetricsExporterList) DeepCopyObject

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

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

type MetricsExporterPhase

type MetricsExporterPhase string
const (
	MetricsExporterPhaseCreatingRole           MetricsExporterPhase = "CreatingRole"
	MetricsExporterPhaseCreatingServiceAccount MetricsExporterPhase = "CreatingServiceAccount"
	MetricsExporterPhaseCreatingRoleBinding    MetricsExporterPhase = "CreatingRoleBinding"
	MetricsExporterPhaseCreatingPod            MetricsExporterPhase = "CreatingPod"
	MetricsExporterPhaseReady                  MetricsExporterPhase = "Ready"
)

type MetricsExporterSpec

type MetricsExporterSpec struct {
	// Configurational parameters about GPU metrics collection.
	GPU GPUMetrics `json:"gpu,omitempty"`
	// Configurational parameters about network metrics collection.
	Network NetworkMetrics `json:"network,omitempty"`
	// Configurational parameters about storage metrics collection.
	Storage StorageMetrics `json:"storage,omitempty"`
}

MetricsExporterSpec defines the desired state of MetricsExporter.

func (*MetricsExporterSpec) DeepCopy

func (in *MetricsExporterSpec) DeepCopy() *MetricsExporterSpec

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

func (*MetricsExporterSpec) DeepCopyInto

func (in *MetricsExporterSpec) DeepCopyInto(out *MetricsExporterSpec)

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

type MetricsExporterStatus

type MetricsExporterStatus struct {
	// Phase of MetricsExporter.
	Phase MetricsExporterPhase `json:"phase,omitempty"`
	// Status of role created for main and sidecar applications.
	RoleStatus OwnedResourceStatus `json:"roleStatus,omitempty"`
	// Status of role binding created for main and sidecar applications.
	RoleBindingStatus OwnedResourceStatus `json:"roleBindingStatus,omitempty"`
	// Status of service account created for main and sidecar applications.
	ServiceAccountStatus OwnedResourceStatus `json:"saStatus,omitempty"`
	// Status of MetricsExporter pod.
	PodStatus OwnedResourceStatus `json:"podStatus,omitempty"`
	// Usage metrics.
	Usage Usage `json:"usage,omitempty"`
}

MetricsExporterStatus defines the observed state of MetricsExporter.

func (*MetricsExporterStatus) DeepCopy

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

func (*MetricsExporterStatus) DeepCopyInto

func (in *MetricsExporterStatus) DeepCopyInto(out *MetricsExporterStatus)

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

type NetworkInterfaceLoad

type NetworkInterfaceLoad struct {
	// Average load of incoming packets.
	IncomingLoad string `json:"in,omitempty"`
	// Average load of outgoing packets.
	OutgoingLoad string `json:"out,omitempty"`
}

func (*NetworkInterfaceLoad) DeepCopy

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

func (*NetworkInterfaceLoad) DeepCopyInto

func (in *NetworkInterfaceLoad) DeepCopyInto(out *NetworkInterfaceLoad)

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

type NetworkLoadStatus

type NetworkLoadStatus struct {
	// Loads values of network interfaces.
	Load map[string]NetworkInterfaceLoad `json:"load,omitempty"`
	// Last update time.
	LastUpdateTimestamp string `json:"lastUpdateTimestamp,omitempty"`
}

func (*NetworkLoadStatus) DeepCopy

func (in *NetworkLoadStatus) DeepCopy() *NetworkLoadStatus

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

func (*NetworkLoadStatus) DeepCopyInto

func (in *NetworkLoadStatus) DeepCopyInto(out *NetworkLoadStatus)

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

type NetworkMetrics

type NetworkMetrics struct {
	// MetricsExporter watches network loads in the host machine
	// if it's set to `true`.
	Track bool `json:"track,omitempty"`
	// Watching latency.
	Interval int `json:"interval,omitempty"`
	// Network interfaces which are desired to being watched.
	Interfaces []string `json:"interfaces,omitempty"`
}

func (*NetworkMetrics) DeepCopy

func (in *NetworkMetrics) DeepCopy() *NetworkMetrics

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

func (*NetworkMetrics) DeepCopyInto

func (in *NetworkMetrics) DeepCopyInto(out *NetworkMetrics)

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

type Notebook

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

	Spec   NotebookSpec   `json:"spec,omitempty"`
	Status NotebookStatus `json:"status,omitempty"`
}

Notebook is the Schema for the notebooks API.

func (*Notebook) DeepCopy

func (in *Notebook) DeepCopy() *Notebook

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

func (*Notebook) DeepCopyInto

func (in *Notebook) DeepCopyInto(out *Notebook)

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

func (*Notebook) DeepCopyObject

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

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

func (*Notebook) Default

func (r *Notebook) Default()

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

func (*Notebook) GetNotebookConfigMapMetadata

func (notebook *Notebook) GetNotebookConfigMapMetadata() *types.NamespacedName

func (*Notebook) GetNotebookCustomIngressMetadata

func (notebook *Notebook) GetNotebookCustomIngressMetadata() *types.NamespacedName

func (*Notebook) GetNotebookCustomServiceMetadata

func (notebook *Notebook) GetNotebookCustomServiceMetadata() *types.NamespacedName

func (*Notebook) GetNotebookIngressMetadata

func (notebook *Notebook) GetNotebookIngressMetadata() *types.NamespacedName

func (*Notebook) GetNotebookPodMetadata

func (notebook *Notebook) GetNotebookPodMetadata() *types.NamespacedName

func (*Notebook) GetNotebookServiceExportMetadata

func (notebook *Notebook) GetNotebookServiceExportMetadata() *types.NamespacedName

func (*Notebook) GetNotebookServiceMetadata

func (notebook *Notebook) GetNotebookServiceMetadata() *types.NamespacedName

func (*Notebook) SetupWebhookWithManager

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

func (*Notebook) ValidateCreate

func (r *Notebook) ValidateCreate() error

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

func (*Notebook) ValidateDelete

func (r *Notebook) ValidateDelete() error

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

func (*Notebook) ValidateUpdate

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

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

type NotebookList

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

NotebookList contains a list of Notebook.

func (*NotebookList) DeepCopy

func (in *NotebookList) DeepCopy() *NotebookList

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

func (*NotebookList) DeepCopyInto

func (in *NotebookList) DeepCopyInto(out *NotebookList)

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

func (*NotebookList) DeepCopyObject

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

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

type NotebookPhase

type NotebookPhase string
const (
	NotebookPhaseCreatingService           NotebookPhase = "CreatingService"
	NotebookPhaseCreatingPod               NotebookPhase = "CreatingPod"
	NotebookPhaseCreatingIngress           NotebookPhase = "CreatingIngress"
	NotebookPhaseCreatingCustomPortService NotebookPhase = "CreatingCustomPortService"
	NotebookPhaseCreatingCustomPortIngress NotebookPhase = "CreatingCustomPortIngress"
	NotebookPhaseCreatingConfigMap         NotebookPhase = "CreatingConfigMap"
	NotebookPhaseRunning                   NotebookPhase = "Running"
)

type NotebookSpec

type NotebookSpec struct {
	// Resource limitations of Notebook.
	Resources Resources `json:"resources,omitempty"`
	// Service type of Notebook. `ClusterIP` and `NodePort` is supported.
	// +kubebuilder:validation:Enum=ClusterIP;NodePort
	// +kubebuilder:default="NodePort"
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// If `true`, containers of Notebook will be privileged containers.
	// It can be used in physical instances where it's necessary to access
	// I/O devices on the host machine.
	// Not recommended to activate this field on cloud instances.
	Privileged bool `json:"privileged,omitempty"`
	// Notebook connects an X11 socket if it's set to `true` and a target Notebook resource is set in labels with key `robolaunch.io/target-vdi`.
	// Applications that requires GUI can be executed such as VLC.
	Display bool `json:"display,omitempty"`
	// [*alpha*] Notebook will create an Ingress resource if `true`.
	Ingress bool `json:"ingress,omitempty"`
}

NotebookSpec defines the desired state of Notebook.

func (*NotebookSpec) DeepCopy

func (in *NotebookSpec) DeepCopy() *NotebookSpec

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

func (*NotebookSpec) DeepCopyInto

func (in *NotebookSpec) DeepCopyInto(out *NotebookSpec)

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

type NotebookStatus

type NotebookStatus struct {
	// Phase of Notebook.
	Phase NotebookPhase `json:"phase,omitempty"`
	// Status of Notebook pod.
	PodStatus OwnedPodStatus `json:"podStatus,omitempty"`
	// Status of Notebook service.
	ServiceStatus OwnedServiceStatus `json:"serviceStatus,omitempty"`
	// Status of Notebook Ingress.
	IngressStatus OwnedResourceStatus `json:"ingressStatus,omitempty"`
	// Status of Notebook ServiceExport. Created only if the instance type is Physical Instance.
	ServiceExportStatus OwnedResourceStatus `json:"serviceExportStatus,omitempty"`
	// Status of Notebook service for custom ports. Created only if the robot has an additional config with key `IDE_CUSTOM_PORT_RANGE`.
	CustomPortServiceStatus OwnedServiceStatus `json:"customPortServiceStatus,omitempty"`
	// Status of Notebook ingress for custom ports service. Created only if the robot has an additional config with key `IDE_CUSTOM_PORT_RANGE` and `.spec.ingress` is `true`.
	CustomPortIngressStatus OwnedResourceStatus `json:"customPortIngressStatus,omitempty"`
	// Config map status. It's used to add background apps.
	ConfigMapStatus OwnedResourceStatus `json:"configMapStatus,omitempty"`
}

NotebookStatus defines the observed state of Notebook.

func (*NotebookStatus) DeepCopy

func (in *NotebookStatus) DeepCopy() *NotebookStatus

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

func (*NotebookStatus) DeepCopyInto

func (in *NotebookStatus) DeepCopyInto(out *NotebookStatus)

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

type OwnedPodStatus

type OwnedPodStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// IP of the pod.
	IP string `json:"ip,omitempty"`
}

func (*OwnedPodStatus) DeepCopy

func (in *OwnedPodStatus) DeepCopy() *OwnedPodStatus

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

func (*OwnedPodStatus) DeepCopyInto

func (in *OwnedPodStatus) DeepCopyInto(out *OwnedPodStatus)

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 OwnedRobotServiceStatus

type OwnedRobotServiceStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Address of the robot service that can be reached from outside.
	Connections map[string]string `json:"connections,omitempty"`
}

func (*OwnedRobotServiceStatus) DeepCopy

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

func (*OwnedRobotServiceStatus) DeepCopyInto

func (in *OwnedRobotServiceStatus) DeepCopyInto(out *OwnedRobotServiceStatus)

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

type OwnedServiceStatus

type OwnedServiceStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Connection URL.
	URLs map[string]string `json:"urls,omitempty"`
}

func (*OwnedServiceStatus) DeepCopy

func (in *OwnedServiceStatus) DeepCopy() *OwnedServiceStatus

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

func (*OwnedServiceStatus) DeepCopyInto

func (in *OwnedServiceStatus) DeepCopyInto(out *OwnedServiceStatus)

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

type PersistentDirectory

type PersistentDirectory struct {
	Path   string              `json:"path,omitempty"`
	Status OwnedResourceStatus `json:"status,omitempty"`
}

func (*PersistentDirectory) DeepCopy

func (in *PersistentDirectory) DeepCopy() *PersistentDirectory

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

func (*PersistentDirectory) DeepCopyInto

func (in *PersistentDirectory) DeepCopyInto(out *PersistentDirectory)

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

type RMWImplementation added in v0.1.7

type RMWImplementation string

RMW implementation chooses DDS vendor for ROS 2. Currently, only eProsima's FastDDS is supported. +kubebuilder:validation:Enum=rmw_fastrtps_cpp

const (
	// Cyclone DDS
	RMWImplementationCycloneDDS RMWImplementation = "rmw_cyclonedds_cpp"
	// FastDDS
	RMWImplementationFastRTPS RMWImplementation = "rmw_fastrtps_cpp"
	// Connext
	RMWImplementationConnext RMWImplementation = "rmw_connext_cpp"
	// Gurum DDS
	RMWImplementationGurumDDS RMWImplementation = "rmw_gurumdds_cpp"
)

type ROSBridge

type ROSBridge struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the ROSBridge.
	Spec ROSBridgeSpec `json:"spec,omitempty"`
	// Most recently observed status of the ROSBridge.
	Status ROSBridgeStatus `json:"status,omitempty"`
}

ROSBridge is a custom resource that provisions ROS/2 bridge resources and workloads. It could also convert ROS 2 topics to ROS topics using ROS 1 to 2 bridge. (see https://github.com/ros2/ros1_bridge)

func (*ROSBridge) DeepCopy

func (in *ROSBridge) DeepCopy() *ROSBridge

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

func (*ROSBridge) DeepCopyInto

func (in *ROSBridge) DeepCopyInto(out *ROSBridge)

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

func (*ROSBridge) DeepCopyObject

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

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

func (*ROSBridge) GetBridgeIngressMetadata

func (rosbridge *ROSBridge) GetBridgeIngressMetadata() *types.NamespacedName

func (*ROSBridge) GetBridgePodMetadata

func (rosbridge *ROSBridge) GetBridgePodMetadata() *types.NamespacedName

func (*ROSBridge) GetBridgeServiceMetadata

func (rosbridge *ROSBridge) GetBridgeServiceMetadata() *types.NamespacedName

func (*ROSBridge) GetOwnerMetadata

func (rosbridge *ROSBridge) GetOwnerMetadata() *types.NamespacedName

type ROSBridgeInstanceStatus

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

func (*ROSBridgeInstanceStatus) DeepCopy

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

func (*ROSBridgeInstanceStatus) DeepCopyInto

func (in *ROSBridgeInstanceStatus) DeepCopyInto(out *ROSBridgeInstanceStatus)

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

type ROSBridgeList

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

ROSBridgeList contains a list of ROSBridge

func (*ROSBridgeList) DeepCopy

func (in *ROSBridgeList) DeepCopy() *ROSBridgeList

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

func (*ROSBridgeList) DeepCopyInto

func (in *ROSBridgeList) DeepCopyInto(out *ROSBridgeList)

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

func (*ROSBridgeList) DeepCopyObject

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

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

type ROSBridgeSpec

type ROSBridgeSpec struct {
	// Configurational parameters for ROS 2 bridge.
	Distro ROSDistro `json:"distro,omitempty"`
	// Service type of ROSBridge. `ClusterIP` and `NodePort` is supported.
	// +kubebuilder:validation:Enum=ClusterIP;NodePort
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// [*alpha*] ROSBridge will create an Ingress resource if `true`.
	Ingress bool `json:"ingress,omitempty"`
}

ROSBridgeSpec defines the desired state of ROSBridge.

func (*ROSBridgeSpec) DeepCopy

func (in *ROSBridgeSpec) DeepCopy() *ROSBridgeSpec

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

func (*ROSBridgeSpec) DeepCopyInto

func (in *ROSBridgeSpec) DeepCopyInto(out *ROSBridgeSpec)

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

type ROSBridgeStatus

type ROSBridgeStatus struct {
	// Phase of ROSBridge.
	Phase BridgePhase `json:"phase,omitempty"`
	// Status of ROSBridge pod.
	PodStatus OwnedResourceStatus `json:"podStatus,omitempty"`
	// Status of ROSBridge service.
	ServiceStatus OwnedServiceStatus `json:"serviceStatus,omitempty"`
	// Status of ROSBridge Ingress.
	IngressStatus OwnedResourceStatus `json:"ingressStatus,omitempty"`
}

ROSBridgeStatus defines the observed state of ROSBridge.

func (*ROSBridgeStatus) DeepCopy

func (in *ROSBridgeStatus) DeepCopy() *ROSBridgeStatus

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

func (*ROSBridgeStatus) DeepCopyInto

func (in *ROSBridgeStatus) DeepCopyInto(out *ROSBridgeStatus)

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

type ROSDistro

type ROSDistro string

ROS 2 distribution selection. Currently supported distributions are Humble, Foxy, Galactic. +kubebuilder:validation:Enum=foxy;galactic;humble

const (
	// ROS Melodic Morenia
	ROSDistroMelodic ROSDistro = "melodic"
	// ROS Noetic Ninjemys
	ROSDistroNoetic ROSDistro = "noetic"
	// ROS 2 Foxy Fitzroy
	ROSDistroFoxy ROSDistro = "foxy"
	// ROS 2 Galactic Geochelone
	ROSDistroGalactic ROSDistro = "galactic"
	// ROS 2 Humble Hawksbill
	ROSDistroHumble ROSDistro = "humble"
)

type RelayServer

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

	Spec   RelayServerSpec   `json:"spec,omitempty"`
	Status RelayServerStatus `json:"status,omitempty"`
}

RelayServer is the Schema for the relayservers API

func (*RelayServer) DeepCopy

func (in *RelayServer) DeepCopy() *RelayServer

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

func (*RelayServer) DeepCopyInto

func (in *RelayServer) DeepCopyInto(out *RelayServer)

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

func (*RelayServer) DeepCopyObject

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

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

func (*RelayServer) GetRelayServerIngressMetadata

func (relayserver *RelayServer) GetRelayServerIngressMetadata() *types.NamespacedName

func (*RelayServer) GetRelayServerPodMetadata

func (relayserver *RelayServer) GetRelayServerPodMetadata() *types.NamespacedName

func (*RelayServer) GetRelayServerServiceMetadata

func (relayserver *RelayServer) GetRelayServerServiceMetadata() *types.NamespacedName

type RelayServerList

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

RelayServerList contains a list of RelayServer

func (*RelayServerList) DeepCopy

func (in *RelayServerList) DeepCopy() *RelayServerList

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

func (*RelayServerList) DeepCopyInto

func (in *RelayServerList) DeepCopyInto(out *RelayServerList)

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

func (*RelayServerList) DeepCopyObject

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

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

type RelayServerPhase

type RelayServerPhase string
const (
	RelayServerPhaseCreatingService RelayServerPhase = "CreatingService"
	RelayServerPhaseCreatingPod     RelayServerPhase = "CreatingPod"
	RelayServerPhaseCreatingIngress RelayServerPhase = "CreatingIngress"
	RelayServerPhaseReady           RelayServerPhase = "Ready"
	RelayServerPhaseDeletingPod     RelayServerPhase = "DeletingPod"
	RelayServerPhaseDeletingService RelayServerPhase = "DeletingService"
)

type RelayServerSpec

type RelayServerSpec struct {
	// Hostname of the remote pod.
	Hostname string `json:"hostname,omitempty"`
	// Subdomain of the remote pod. It's also same with remote service's name.
	Subdomain string `json:"subdomain,omitempty"`
	// Remote instance name.
	InstanceName string `json:"instanceName,omitempty"`
	// Remote namespace.
	RemoteNamespace string `json:"remoteNamespace,omitempty"`
	// Remote port.
	RemotePort int `json:"remotePort,omitempty"`
	// [*alpha*] Root DNS configuration.
	RootDNSConfig RootDNSConfig `json:"rootDNSConfig,omitempty"`
	// [*alpha*] TLS secret reference.
	TLSSecretReference TLSSecretReference `json:"tlsSecretRef,omitempty"`
}

RelayServerSpec defines the desired state of RelayServer.

func (*RelayServerSpec) DeepCopy

func (in *RelayServerSpec) DeepCopy() *RelayServerSpec

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

func (*RelayServerSpec) DeepCopyInto

func (in *RelayServerSpec) DeepCopyInto(out *RelayServerSpec)

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

type RelayServerStatus

type RelayServerStatus struct {
	// Phase of RelayServer.
	Phase RelayServerPhase `json:"phase,omitempty"`
	// Status of RelayServer pod.
	PodStatus OwnedResourceStatus `json:"podStatus,omitempty"`
	// Status of RelayServer service.
	ServiceStatus OwnedServiceStatus `json:"serviceStatus,omitempty"`
	// Status of RelayServer Ingress.
	IngressStatus OwnedResourceStatus `json:"ingressStatus,omitempty"`
}

RelayServerStatus defines the observed state of RelayServer.

func (*RelayServerStatus) DeepCopy

func (in *RelayServerStatus) DeepCopy() *RelayServerStatus

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

func (*RelayServerStatus) DeepCopyInto

func (in *RelayServerStatus) DeepCopyInto(out *RelayServerStatus)

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

type Repository

type Repository struct {
	// Base URL of the repository.
	// +kubebuilder:validation:Required
	URL string `json:"url"`
	// Branch of the repository to clone.
	// +kubebuilder:validation:Required
	Branch string `json:"branch"`
	// [*Autofilled*] Absolute path of repository
	Path string `json:"path,omitempty"`
	// [*Autofilled*] User or organization, maintainer of repository
	Owner string `json:"owner,omitempty"`
	// [*Autofilled*] Repository name
	Repo string `json:"repo,omitempty"`
	// [*Autofilled*] Hash of last commit
	Hash string `json:"hash,omitempty"`
}

Repository description.

func (*Repository) DeepCopy

func (in *Repository) DeepCopy() *Repository

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

func (*Repository) DeepCopyInto

func (in *Repository) DeepCopyInto(out *Repository)

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

type Resources

type Resources struct {
	// GPU instance that will be allocated. eg. nvidia.com/mig-1g.5gb. Defaults to "nvidia.com/gpu".
	// +kubebuilder:default="nvidia.com/gpu"
	GPUInstance string `json:"gpuInstance,omitempty"`
	// GPU core number that will be allocated.
	GPUCore int `json:"gpuCore,omitempty"`
	// CPU resource limit.
	// +kubebuilder:validation:Pattern=`^([0-9])+(m)$`
	CPU string `json:"cpu,omitempty"`
	// Memory resource limit.
	// +kubebuilder:validation:Pattern=`^([0-9])+(Mi|Gi)$`
	Memory string `json:"memory,omitempty"`
}

VDI resource limits.

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

type Robot

type Robot struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the Robot.
	Spec RobotSpec `json:"spec,omitempty"`
	// Most recently observed status of the Robot.
	Status RobotStatus `json:"status,omitempty"`
}

Robot is the custom resource that contains ROS 2 components (Workloads, Cloud VDI, Cloud IDE, ROS Bridge, Configurational Resources), robolaunch Robot instances can be decomposed and distributed to both cloud instances and physical instances using federation.

func (*Robot) DeepCopy

func (in *Robot) DeepCopy() *Robot

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

func (*Robot) DeepCopyInto

func (in *Robot) DeepCopyInto(out *Robot)

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

func (*Robot) DeepCopyObject

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

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

func (*Robot) Default

func (r *Robot) Default()

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

func (*Robot) GetDiscoveryServerMetadata

func (robot *Robot) GetDiscoveryServerMetadata() *types.NamespacedName

func (*Robot) GetLoaderJobMetadata

func (robot *Robot) GetLoaderJobMetadata() *types.NamespacedName

func (*Robot) GetPVCEtcMetadata

func (robot *Robot) GetPVCEtcMetadata() *types.NamespacedName

func (*Robot) GetPVCOptMetadata

func (robot *Robot) GetPVCOptMetadata() *types.NamespacedName

func (*Robot) GetPVCUsrMetadata

func (robot *Robot) GetPVCUsrMetadata() *types.NamespacedName

func (*Robot) GetPVCVarMetadata

func (robot *Robot) GetPVCVarMetadata() *types.NamespacedName

func (*Robot) GetPVCWorkspaceMetadata

func (robot *Robot) GetPVCWorkspaceMetadata() *types.NamespacedName

func (*Robot) GetROSBridgeMetadata

func (robot *Robot) GetROSBridgeMetadata() *types.NamespacedName

func (*Robot) GetRobotDevSuiteMetadata

func (robot *Robot) GetRobotDevSuiteMetadata() *types.NamespacedName

func (*Robot) GetWorkspaceByName added in v0.1.5

func (robot *Robot) GetWorkspaceByName(name string) (Workspace, error)

func (*Robot) GetWorkspaceManagerMetadata added in v0.1.5

func (robot *Robot) GetWorkspaceManagerMetadata() *types.NamespacedName

func (*Robot) SetupWebhookWithManager

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

func (*Robot) ValidateCreate

func (r *Robot) ValidateCreate() error

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

func (*Robot) ValidateDelete

func (r *Robot) ValidateDelete() error

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

func (*Robot) ValidateUpdate

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

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

type RobotArtifact

type RobotArtifact struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Holds Robot's `.spec`.
	Template RobotSpec `json:"template,omitempty"`
}

RobotArtifact is a non-functional resource that holds Robot's specifications. It is used to define Robot templates.

func (*RobotArtifact) DeepCopy

func (in *RobotArtifact) DeepCopy() *RobotArtifact

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

func (*RobotArtifact) DeepCopyInto

func (in *RobotArtifact) DeepCopyInto(out *RobotArtifact)

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

func (*RobotArtifact) DeepCopyObject

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

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

type RobotArtifactList

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

RobotArtifactList contains a list of RobotArtifact

func (*RobotArtifactList) DeepCopy

func (in *RobotArtifactList) DeepCopy() *RobotArtifactList

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

func (*RobotArtifactList) DeepCopyInto

func (in *RobotArtifactList) DeepCopyInto(out *RobotArtifactList)

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

func (*RobotArtifactList) DeepCopyObject

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

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

type RobotConfig

type RobotConfig struct {
	// ROS 2 distributions to be used. You can select multiple distributions if they are supported in the same underlying OS.
	// (eg. `foxy` and `galactic` are supported in Ubuntu Focal, so they can be used together but both cannot be used with `humble`)
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=2
	Distributions []ROSDistro `json:"distributions,omitempty"`
	// RMW implementation selection. Robot operator currently supports only FastRTPS. See https://docs.ros.org/en/foxy/How-To-Guides/Working-with-multiple-RMW-implementations.html.
	// +kubebuilder:validation:Required
	RMWImplementation RMWImplementation `json:"rmwImplementation,omitempty"`
	// ROS domain ID for robot. See https://docs.ros.org/en/foxy/Concepts/About-Domain-ID.html.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=101
	DomainID int `json:"domainID"`
	// Discovery server configurational parameters.
	DiscoveryServerTemplate DiscoveryServerSpec `json:"discoveryServerTemplate,omitempty"`
	// If enabled, ROSBridge object will be created.
	BridgeEnabled bool `json:"bridgeEnabled,omitempty"`
	// ROS bridge configurational parameters.
	ROSBridgeTemplate ROSBridgeSpec `json:"rosBridgeTemplate,omitempty"`
}

func (*RobotConfig) DeepCopy

func (in *RobotConfig) DeepCopy() *RobotConfig

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

func (*RobotConfig) DeepCopyInto

func (in *RobotConfig) DeepCopyInto(out *RobotConfig)

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

type RobotDevSuite

type RobotDevSuite struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the RobotDevSuite.
	Spec RobotDevSuiteSpec `json:"spec,omitempty"`
	// Most recently observed status of the RobotDevSuite.
	Status RobotDevSuiteStatus `json:"status,omitempty"`
}

RobotDevSuite is a custom resource that creates dynamically configured development environments for robots.

func (*RobotDevSuite) DeepCopy

func (in *RobotDevSuite) DeepCopy() *RobotDevSuite

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

func (*RobotDevSuite) DeepCopyInto

func (in *RobotDevSuite) DeepCopyInto(out *RobotDevSuite)

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

func (*RobotDevSuite) DeepCopyObject

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

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

func (*RobotDevSuite) Default

func (r *RobotDevSuite) Default()

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

func (*RobotDevSuite) GetNotebookMetadata

func (robotDevSuite *RobotDevSuite) GetNotebookMetadata() *types.NamespacedName

func (*RobotDevSuite) GetRemoteIDERelayServerMetadata

func (robotDevSuite *RobotDevSuite) GetRemoteIDERelayServerMetadata() *types.NamespacedName

func (*RobotDevSuite) GetRobotIDEMetadata

func (robotDevSuite *RobotDevSuite) GetRobotIDEMetadata() *types.NamespacedName

func (*RobotDevSuite) GetRobotVDIMetadata

func (robotDevSuite *RobotDevSuite) GetRobotVDIMetadata() *types.NamespacedName

func (*RobotDevSuite) SetupWebhookWithManager

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

func (*RobotDevSuite) ValidateCreate

func (r *RobotDevSuite) ValidateCreate() error

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

func (*RobotDevSuite) ValidateDelete

func (r *RobotDevSuite) ValidateDelete() error

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

func (*RobotDevSuite) ValidateUpdate

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

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

type RobotDevSuiteInstanceStatus

type RobotDevSuiteInstanceStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the RobotDevSuite instance.
	Status RobotDevSuiteStatus `json:"status,omitempty"`
}

func (*RobotDevSuiteInstanceStatus) DeepCopy

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

func (*RobotDevSuiteInstanceStatus) DeepCopyInto

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

type RobotDevSuiteList

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

RobotDevSuiteList contains a list of RobotDevSuite.

func (*RobotDevSuiteList) DeepCopy

func (in *RobotDevSuiteList) DeepCopy() *RobotDevSuiteList

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

func (*RobotDevSuiteList) DeepCopyInto

func (in *RobotDevSuiteList) DeepCopyInto(out *RobotDevSuiteList)

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

func (*RobotDevSuiteList) DeepCopyObject

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

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

type RobotDevSuitePhase

type RobotDevSuitePhase string
const (
	RobotDevSuitePhaseRobotNotFound                   RobotDevSuitePhase = "RobotNotFound"
	RobotDevSuitePhaseCreatingRobotVDI                RobotDevSuitePhase = "CreatingRobotVDI"
	RobotDevSuitePhaseCreatingRobotIDE                RobotDevSuitePhase = "CreatingRobotIDE"
	RobotDevSuitePhaseCreatingNotebook                RobotDevSuitePhase = "CreatingNotebook"
	RobotDevSuitePhaseCreatingRelayServerForRemoteIDE RobotDevSuitePhase = "CreatingRelayServerForRemoteIDE"
	RobotDevSuitePhaseRunning                         RobotDevSuitePhase = "Running"
	RobotDevSuitePhaseDeactivating                    RobotDevSuitePhase = "Deactivating"
	RobotDevSuitePhaseInactive                        RobotDevSuitePhase = "Inactive"
)

type RobotDevSuiteSpec

type RobotDevSuiteSpec struct {
	// If `true`, a Cloud VDI will be provisioned inside development suite.
	VDIEnabled bool `json:"vdiEnabled,omitempty"`
	// Configurational parameters of RobotVDI. Applied if `.spec.vdiEnabled` is set to `true`.
	RobotVDITemplate RobotVDISpec `json:"robotVDITemplate,omitempty"`
	// If `true`, a Cloud IDE will be provisioned inside development suite.
	IDEEnabled bool `json:"ideEnabled,omitempty"`
	// Configurational parameters of RobotIDE. Applied if `.spec.ideEnabled` is set to `true`.
	RobotIDETemplate RobotIDESpec `json:"robotIDETemplate,omitempty"`
	// If `true`, a Notebook will be provisioned inside development suite.
	NotebookEnabled bool `json:"notebookEnabled,omitempty"`
	// Configurational parameters of Notebook. Applied if `.spec.notebookEnabled` is set to `true`.
	NotebookTemplate NotebookSpec `json:"notebookTemplate,omitempty"`
	// If `true`, a relay server for remote Cloud IDE will be provisioned inside development suite.
	RemoteIDEEnabled bool `json:"remoteIDEEnabled,omitempty"`
	// Configurational parameters of remote IDE. Applied if `.spec.remoteIDEEnabled` is set to `true`.
	RemoteIDERelayServerTemplate RelayServerSpec `json:"remoteIDERelayServerTemplate,omitempty"`
}

RobotDevSuiteSpec defines the desired state of RobotDevSuite.

func (*RobotDevSuiteSpec) DeepCopy

func (in *RobotDevSuiteSpec) DeepCopy() *RobotDevSuiteSpec

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

func (*RobotDevSuiteSpec) DeepCopyInto

func (in *RobotDevSuiteSpec) DeepCopyInto(out *RobotDevSuiteSpec)

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

type RobotDevSuiteStatus

type RobotDevSuiteStatus struct {
	// Phase of RobotDevSuite.
	Phase RobotDevSuitePhase `json:"phase,omitempty"`
	// Status of RobotVDI.
	RobotVDIStatus OwnedRobotServiceStatus `json:"robotVDIStatus,omitempty"`
	// Status of RobotIDE.
	RobotIDEStatus OwnedRobotServiceStatus `json:"robotIDEStatus,omitempty"`
	// Status of Notebook.
	NotebookStatus OwnedRobotServiceStatus `json:"notebookStatus,omitempty"`
	// Status of remote Cloud IDE RelayServer. Created only if the instance type is Physical Instance.
	RemoteIDERelayServerStatus OwnedRobotServiceStatus `json:"remoteIDERelayServerStatus,omitempty"`
	// [*alpha*] Indicates if RobotDevSuite is attached to a Robot and actively provisioned it's resources.
	Active bool `json:"active,omitempty"`
}

RobotDevSuiteStatus defines the observed state of RobotDevSuite.

func (*RobotDevSuiteStatus) DeepCopy

func (in *RobotDevSuiteStatus) DeepCopy() *RobotDevSuiteStatus

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

func (*RobotDevSuiteStatus) DeepCopyInto

func (in *RobotDevSuiteStatus) DeepCopyInto(out *RobotDevSuiteStatus)

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

type RobotIDE

type RobotIDE struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the RobotIDE.
	Spec RobotIDESpec `json:"spec,omitempty"`
	// Most recently observed status of the RobotIDE.
	Status RobotIDEStatus `json:"status,omitempty"`
}

RobotIDE creates and manages Cloud IDE resources and workloads.

func (*RobotIDE) DeepCopy

func (in *RobotIDE) DeepCopy() *RobotIDE

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

func (*RobotIDE) DeepCopyInto

func (in *RobotIDE) DeepCopyInto(out *RobotIDE)

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

func (*RobotIDE) DeepCopyObject

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

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

func (*RobotIDE) Default

func (r *RobotIDE) Default()

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

func (*RobotIDE) GetRobotIDEConfigMapMetadata

func (robotide *RobotIDE) GetRobotIDEConfigMapMetadata() *types.NamespacedName

func (*RobotIDE) GetRobotIDECustomIngressMetadata

func (robotide *RobotIDE) GetRobotIDECustomIngressMetadata() *types.NamespacedName

func (*RobotIDE) GetRobotIDECustomServiceMetadata

func (robotide *RobotIDE) GetRobotIDECustomServiceMetadata() *types.NamespacedName

func (*RobotIDE) GetRobotIDEIngressMetadata

func (robotide *RobotIDE) GetRobotIDEIngressMetadata() *types.NamespacedName

func (*RobotIDE) GetRobotIDEPodMetadata

func (robotide *RobotIDE) GetRobotIDEPodMetadata() *types.NamespacedName

func (*RobotIDE) GetRobotIDEServiceExportMetadata

func (robotide *RobotIDE) GetRobotIDEServiceExportMetadata() *types.NamespacedName

func (*RobotIDE) GetRobotIDEServiceMetadata

func (robotide *RobotIDE) GetRobotIDEServiceMetadata() *types.NamespacedName

func (*RobotIDE) SetupWebhookWithManager

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

func (*RobotIDE) ValidateCreate

func (r *RobotIDE) ValidateCreate() error

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

func (*RobotIDE) ValidateDelete

func (r *RobotIDE) ValidateDelete() error

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

func (*RobotIDE) ValidateUpdate

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

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

type RobotIDEList

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

RobotIDEList contains a list of RobotIDE.

func (*RobotIDEList) DeepCopy

func (in *RobotIDEList) DeepCopy() *RobotIDEList

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

func (*RobotIDEList) DeepCopyInto

func (in *RobotIDEList) DeepCopyInto(out *RobotIDEList)

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

func (*RobotIDEList) DeepCopyObject

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

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

type RobotIDEPhase

type RobotIDEPhase string
const (
	RobotIDEPhaseCreatingService           RobotIDEPhase = "CreatingService"
	RobotIDEPhaseCreatingPod               RobotIDEPhase = "CreatingPod"
	RobotIDEPhaseCreatingIngress           RobotIDEPhase = "CreatingIngress"
	RobotIDEPhaseCreatingCustomPortService RobotIDEPhase = "CreatingCustomPortService"
	RobotIDEPhaseCreatingCustomPortIngress RobotIDEPhase = "CreatingCustomPortIngress"
	RobotIDEPhaseCreatingConfigMap         RobotIDEPhase = "CreatingConfigMap"
	RobotIDEPhaseRunning                   RobotIDEPhase = "Running"
)

type RobotIDESpec

type RobotIDESpec struct {
	// Resource limitations of Cloud IDE.
	Resources Resources `json:"resources,omitempty"`
	// Service type of Cloud IDE. `ClusterIP` and `NodePort` is supported.
	// +kubebuilder:validation:Enum=ClusterIP;NodePort
	// +kubebuilder:default="NodePort"
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// If `true`, containers of RobotIDE will be privileged containers.
	// It can be used in physical instances where it's necessary to access
	// I/O devices on the host machine.
	// Not recommended to activate this field on cloud instances.
	Privileged bool `json:"privileged,omitempty"`
	// Cloud IDE connects an X11 socket if it's set to `true` and a target RobotVDI resource is set in labels with key `robolaunch.io/target-vdi`.
	// Applications that requires GUI can be executed such as rViz.
	Display bool `json:"display,omitempty"`
	// [*alpha*] RobotIDE will create an Ingress resource if `true`.
	Ingress bool `json:"ingress,omitempty"`
}

RobotIDESpec defines the desired state of RobotIDE.

func (*RobotIDESpec) DeepCopy

func (in *RobotIDESpec) DeepCopy() *RobotIDESpec

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

func (*RobotIDESpec) DeepCopyInto

func (in *RobotIDESpec) DeepCopyInto(out *RobotIDESpec)

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

type RobotIDEStatus

type RobotIDEStatus struct {
	// Phase of RobotIDE.
	Phase RobotIDEPhase `json:"phase,omitempty"`
	// Status of Cloud IDE pod.
	PodStatus OwnedPodStatus `json:"podStatus,omitempty"`
	// Status of Cloud IDE service.
	ServiceStatus OwnedServiceStatus `json:"serviceStatus,omitempty"`
	// Status of Cloud IDE Ingress.
	IngressStatus OwnedResourceStatus `json:"ingressStatus,omitempty"`
	// Status of Cloud IDE ServiceExport. Created only if the instance type is Physical Instance.
	ServiceExportStatus OwnedResourceStatus `json:"serviceExportStatus,omitempty"`
	// Status of Cloud IDE service for custom ports. Created only if the robot has an additional config with key `IDE_CUSTOM_PORT_RANGE`.
	CustomPortServiceStatus OwnedServiceStatus `json:"customPortServiceStatus,omitempty"`
	// Status of Cloud IDE ingress for custom ports service. Created only if the robot has an additional config with key `IDE_CUSTOM_PORT_RANGE` and `.spec.ingress` is `true`.
	CustomPortIngressStatus OwnedResourceStatus `json:"customPortIngressStatus,omitempty"`
	// Config map status. It's used to add background apps.
	ConfigMapStatus OwnedResourceStatus `json:"configMapStatus,omitempty"`
}

RobotIDEStatus defines the observed state of RobotIDE.

func (*RobotIDEStatus) DeepCopy

func (in *RobotIDEStatus) DeepCopy() *RobotIDEStatus

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

func (*RobotIDEStatus) DeepCopyInto

func (in *RobotIDEStatus) DeepCopyInto(out *RobotIDEStatus)

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

type RobotList

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

RobotList contains a list of Robot

func (*RobotList) DeepCopy

func (in *RobotList) DeepCopy() *RobotList

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

func (*RobotList) DeepCopyInto

func (in *RobotList) DeepCopyInto(out *RobotList)

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

func (*RobotList) DeepCopyObject

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

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

type RobotPhase

type RobotPhase string
const (
	RobotPhaseCreatingEnvironment      RobotPhase = "CreatingEnvironment"
	RobotPhaseCreatingDiscoveryServer  RobotPhase = "CreatingDiscoveryServer"
	RobotPhaseConfiguringEnvironment   RobotPhase = "ConfiguringEnvironment"
	RobotPhaseCreatingBridge           RobotPhase = "CreatingBridge"
	RobotPhaseCreatingDevelopmentSuite RobotPhase = "CreatingDevelopmentSuite"
	RobotPhaseConfiguringWorkspaces    RobotPhase = "ConfiguringWorkspaces"
	RobotPhaseEnvironmentReady         RobotPhase = "EnvironmentReady"
	RobotPhaseBuilding                 RobotPhase = "Building"
	RobotPhaseBuilt                    RobotPhase = "Built"
	RobotPhaseLaunching                RobotPhase = "Launching"
	RobotPhaseRunning                  RobotPhase = "Running"
	RobotPhaseDeletingBridge           RobotPhase = "DeletingBridge"
	RobotPhaseDeletingDiscoveryServer  RobotPhase = "DeletingDiscoveryServer"
	RobotPhaseDeletingLoaderJob        RobotPhase = "DeletingLoaderJob"
	RobotPhaseDeletingVolumes          RobotPhase = "DeletingVolumes"

	RobotPhaseFailed RobotPhase = "Failed"
)

type RobotSpec

type RobotSpec struct {
	// Determines the object type.
	// If "Environment", operator will provision an environment according to the specifications. (`.spec.environment`)
	// If "Robot", operator will provision an environment specialized for ROS 2 according to the specifications. (`.spec.robot`)
	Type Type `json:"type,omitempty"`
	// Holds robot's configuration.
	// Applied if `.spec.type` is `Robot` and must be `nil` otherwise.
	// +kubebuilder:validation:Optional
	RobotConfig RobotConfig `json:"robot,omitempty"`
	// Holds environment's configuration.
	// Applied if `.spec.type` is `Environment` and must be `nil` otherwise.
	// +kubebuilder:validation:Optional
	EnvironmentConfig EnvironmentConfig `json:"environment,omitempty"`
	// Total storage amount to persist via Robot. Unit of measurement is MB. (eg. `10240` corresponds 10 GB)
	// This amount is being shared between different components.
	Storage Storage `json:"storage,omitempty"`
	// Robot development suite template
	RobotDevSuiteTemplate RobotDevSuiteSpec `json:"robotDevSuiteTemplate,omitempty"`
	// Workspace manager template to configure ROS 2 workspaces.
	WorkspaceManagerTemplate WorkspaceManagerSpec `json:"workspaceManagerTemplate,omitempty"`
	// Key value pairs that operator uses to extend configuration.
	AdditionalConfigs map[string]AdditionalConfig `json:"additionalConfigs,omitempty"`
	// [*alpha*] Root DNS configuration.
	RootDNSConfig RootDNSConfig `json:"rootDNSConfig,omitempty"`
	// [*alpha*] TLS secret reference.
	TLSSecretReference TLSSecretReference `json:"tlsSecretRef,omitempty"`
}

RobotSpec defines the desired state of Robot.

func (*RobotSpec) DeepCopy

func (in *RobotSpec) DeepCopy() *RobotSpec

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

func (*RobotSpec) DeepCopyInto

func (in *RobotSpec) DeepCopyInto(out *RobotSpec)

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

type RobotStatus

type RobotStatus struct {
	// Phase of Robot. It sums the general status of Robot.
	Phase RobotPhase `json:"phase,omitempty"`
	// Main image of Robot. It is derived either from the specifications or determined directly over labels.
	Image string `json:"image,omitempty"`
	// User ID of robolaunch user in image.
	UID int64 `json:"uid,omitempty"`
	// Node that Robot uses. It is selected via tenancy labels.
	NodeName string `json:"nodeName,omitempty"`
	// [*alpha*] Status of PVCs of persistent directories.
	PersistentDirectories []PersistentDirectory `json:"persistentDirs,omitempty"`
	// [*alpha*] List of directories mounted from host.
	HostDirectories []HostDirectory `json:"hostDirs,omitempty"`
	// Discovery server instance status.
	DiscoveryServerStatus DiscoveryServerInstanceStatus `json:"discoveryServerStatus,omitempty"`
	// ROS bridge instance status.
	ROSBridgeStatus ROSBridgeInstanceStatus `json:"rosBridgeStatus,omitempty"`
	// Status of loader job that configures environment.
	LoaderJobStatus OwnedResourceStatus `json:"loaderJobStatus,omitempty"`
	// Workspace manager instance status if exists.
	WorkspaceManagerStatus WorkspaceManagerInstanceStatus `json:"workspaceManagerStatus,omitempty"`
	// Robot development suite instance status.
	RobotDevSuiteStatus RobotDevSuiteInstanceStatus `json:"robotDevSuiteStatus,omitempty"`
	// Attached build object information.
	// A BuildManager can be attached with a label on it with key `robolaunch.io/target-robot`
	// and value of the target robot's name.
	// Robot sorts the BuildManagers targeted itself, and picks the last created object to process.
	AttachedBuildObject AttachedBuildObject `json:"attachedBuildObject,omitempty"`
	// Attached launch object information.
	// A LaunchManager can be attached with a label on it with key `robolaunch.io/target-robot`
	// and value of the target robot's name.
	// Multiple LaunchManager could work together if they targeted the same Robot.
	AttachedLaunchObjects []AttachedLaunchObject `json:"attachedLaunchObjects,omitempty"`
	// [*alpha*] Attached dev object information.
	AttachedDevObjects []AttachedDevObject `json:"attachedDevObjects,omitempty"`
}

RobotStatus defines the observed state of Robot.

func (*RobotStatus) DeepCopy

func (in *RobotStatus) DeepCopy() *RobotStatus

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

func (*RobotStatus) DeepCopyInto

func (in *RobotStatus) DeepCopyInto(out *RobotStatus)

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

type RobotVDI

type RobotVDI struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the RobotVDI.
	Spec RobotVDISpec `json:"spec,omitempty"`
	// Most recently observed status of the RobotVDI.
	Status RobotVDIStatus `json:"status,omitempty"`
}

RobotVDI creates and manages Cloud VDI resources and workloads.

func (*RobotVDI) DeepCopy

func (in *RobotVDI) DeepCopy() *RobotVDI

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

func (*RobotVDI) DeepCopyInto

func (in *RobotVDI) DeepCopyInto(out *RobotVDI)

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

func (*RobotVDI) DeepCopyObject

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

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

func (*RobotVDI) Default

func (r *RobotVDI) Default()

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

func (*RobotVDI) GetRobotVDICustomIngressMetadata

func (robotvdi *RobotVDI) GetRobotVDICustomIngressMetadata() *types.NamespacedName

func (*RobotVDI) GetRobotVDICustomServiceMetadata

func (robotvdi *RobotVDI) GetRobotVDICustomServiceMetadata() *types.NamespacedName

func (*RobotVDI) GetRobotVDIIngressMetadata

func (robotvdi *RobotVDI) GetRobotVDIIngressMetadata() *types.NamespacedName

func (*RobotVDI) GetRobotVDIPVCMetadata

func (robotvdi *RobotVDI) GetRobotVDIPVCMetadata() *types.NamespacedName

func (*RobotVDI) GetRobotVDIPodMetadata

func (robotvdi *RobotVDI) GetRobotVDIPodMetadata() *types.NamespacedName

func (*RobotVDI) GetRobotVDIServiceTCPMetadata

func (robotvdi *RobotVDI) GetRobotVDIServiceTCPMetadata() *types.NamespacedName

func (*RobotVDI) GetRobotVDIServiceUDPMetadata

func (robotvdi *RobotVDI) GetRobotVDIServiceUDPMetadata() *types.NamespacedName

func (*RobotVDI) SetupWebhookWithManager

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

func (*RobotVDI) ValidateCreate

func (r *RobotVDI) ValidateCreate() error

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

func (*RobotVDI) ValidateDelete

func (r *RobotVDI) ValidateDelete() error

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

func (*RobotVDI) ValidateUpdate

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

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

type RobotVDIList

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

RobotVDIList contains a list of RobotVDI.

func (*RobotVDIList) DeepCopy

func (in *RobotVDIList) DeepCopy() *RobotVDIList

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

func (*RobotVDIList) DeepCopyInto

func (in *RobotVDIList) DeepCopyInto(out *RobotVDIList)

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

func (*RobotVDIList) DeepCopyObject

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

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

type RobotVDIPhase

type RobotVDIPhase string
const (
	RobotVDIPhaseCreatingPVC               RobotVDIPhase = "CreatingPVC"
	RobotVDIPhaseCreatingTCPService        RobotVDIPhase = "CreatingTCPService"
	RobotVDIPhaseCreatingUDPService        RobotVDIPhase = "CreatingUDPService"
	RobotVDIPhaseCreatingPod               RobotVDIPhase = "CreatingPod"
	RobotVDIPhaseCreatingIngress           RobotVDIPhase = "CreatingIngress"
	RobotVDIPhaseCreatingCustomPortService RobotVDIPhase = "CreatingCustomPortService"
	RobotVDIPhaseCreatingCustomPortIngress RobotVDIPhase = "CreatingCustomPortIngress"
	RobotVDIPhaseRunning                   RobotVDIPhase = "Running"
)

type RobotVDISpec

type RobotVDISpec struct {
	// Resource limitations of Cloud IDE.
	Resources Resources `json:"resources,omitempty"`
	// Service type of Cloud IDE. `ClusterIP` and `NodePort` is supported.
	// +kubebuilder:validation:Enum=ClusterIP;NodePort
	// +kubebuilder:default="NodePort"
	ServiceType corev1.ServiceType `json:"serviceType,omitempty"`
	// If `true`, containers of RobotIDE will be privileged containers.
	// It can be used in physical instances where it's necessary to access
	// I/O devices on the host machine.
	// Not recommended to activate this field on cloud instances.
	Privileged bool `json:"privileged,omitempty"`
	// NAT1TO1 option for Cloud VDI.
	NAT1TO1 string `json:"nat1to1,omitempty"`
	// UDP port range to used in WebRTC connections.
	// +kubebuilder:validation:Pattern=`^([0-9])+-([0-9])+$`
	// +kubebuilder:validation:Required
	WebRTCPortRange string `json:"webrtcPortRange,omitempty"`
	// VDI screen resolution options. Default is `2048x1152`.
	// +kubebuilder:validation:Enum="2048x1152";"1920x1080";"1600x1200"
	// +kubebuilder:default="2048x1152"
	Resolution string `json:"resolution,omitempty"`
	// [*alpha*] RobotIDE will create an Ingress resource if `true`.
	Ingress bool `json:"ingress,omitempty"`
	// If true, VDI uses plain h264 instead of nvh264enc.
	DisableNVENC bool `json:"disableNvenc,omitempty"`
}

RobotVDISpec defines the desired state of RobotVDI.

func (*RobotVDISpec) DeepCopy

func (in *RobotVDISpec) DeepCopy() *RobotVDISpec

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

func (*RobotVDISpec) DeepCopyInto

func (in *RobotVDISpec) DeepCopyInto(out *RobotVDISpec)

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

type RobotVDIStatus

type RobotVDIStatus struct {
	// Phase of RobotVDI.
	Phase RobotVDIPhase `json:"phase,omitempty"`
	// Status of Cloud VDI pod.
	PodStatus OwnedPodStatus `json:"podStatus,omitempty"`
	// Status of Cloud VDI TCP service.
	ServiceTCPStatus OwnedServiceStatus `json:"serviceTCPStatus,omitempty"`
	// Status of Cloud VDI UDP service.
	ServiceUDPStatus OwnedResourceStatus `json:"serviceUDPStatus,omitempty"`
	// Status of Cloud VDI Ingress.
	IngressStatus OwnedResourceStatus `json:"ingressStatus,omitempty"`
	// Status of Cloud VDI persistent volume claim.
	// This PVC dynamically provisions a volume that is a shared
	// between RobotVDI workloads and other workloads that requests
	// display.
	PVCStatus OwnedResourceStatus `json:"pvcStatus,omitempty"`
	// Status of Cloud IDE service for custom ports. Created only if the robot has an additional config with key `IDE_CUSTOM_PORT_RANGE`.
	CustomPortServiceStatus OwnedServiceStatus `json:"customPortServiceStatus,omitempty"`
	// Status of Cloud IDE ingress for custom ports service. Created only if the robot has an additional config with key `IDE_CUSTOM_PORT_RANGE` and `.spec.ingress` is `true`.
	CustomPortIngressStatus OwnedResourceStatus `json:"customPortIngressStatus,omitempty"`
}

RobotVDIStatus defines the observed state of RobotVDI.

func (*RobotVDIStatus) DeepCopy

func (in *RobotVDIStatus) DeepCopy() *RobotVDIStatus

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

func (*RobotVDIStatus) DeepCopyInto

func (in *RobotVDIStatus) DeepCopyInto(out *RobotVDIStatus)

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

type RootDNSConfig

type RootDNSConfig struct {
	// [*alpha*] Root DNS name..
	// +kubebuilder:validation:Required
	Host string `json:"host"`
}

func (*RootDNSConfig) DeepCopy

func (in *RootDNSConfig) DeepCopy() *RootDNSConfig

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

func (*RootDNSConfig) DeepCopyInto

func (in *RootDNSConfig) DeepCopyInto(out *RootDNSConfig)

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

type Scope

type Scope struct {
	// Type of the scope.
	// Allowed scopes are `Workspace` and `Path`.
	// +kubebuilder:validation:Enum=Workspace;Path
	ScopeType ScopeType `json:"scopeType"`
	// Name of the workspace.
	// Should be selected among the existing workspaces in WorkspaceManager's manifests.
	// It's being applied if the scope type is `Workspace`.
	Workspace string `json:"workspace,omitempty"`
	// Absolute path of the directory.
	// It's being applied if the scope type is `Path`.
	Path string `json:"path,omitempty"`
}

func (*Scope) DeepCopy

func (in *Scope) DeepCopy() *Scope

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

func (*Scope) DeepCopyInto

func (in *Scope) DeepCopyInto(out *Scope)

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

type ScopeType

type ScopeType string
const (
	ScopeTypeWorkspace ScopeType = "Workspace"
	ScopeTypePath      ScopeType = "Path"
)

type Step

type Step struct {
	// Selects the scope for BuildManager step.
	Scope Scope `json:"scope"`
	// Cluster selector.
	// If the current instance name is on the list, BuildManager creates building jobs.
	Instances []string `json:"instances,omitempty"`
	// Name of the step.
	Name string `json:"name"`
	// Bash command to run.
	// Assume that your command will be `/bin/bash -c <COMMAND>`.
	// Use logical operators (eg. `&&`) and pipes if the multiple dependent commands will be executed.
	Command string `json:"command,omitempty"`
	// Bash script to run.
	Script string `json:"script,omitempty"`
	// Environment variables for step.
	Env []corev1.EnvVar `json:"env,omitempty"`
}

Step is a command or script to execute when building a robot. Either `command` or `script` should be specified for each step.

func (*Step) DeepCopy

func (in *Step) DeepCopy() *Step

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

func (*Step) DeepCopyInto

func (in *Step) DeepCopyInto(out *Step)

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

type StepStatus

type StepStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the step.
	Step Step `json:"step,omitempty"`
}

func (*StepStatus) DeepCopy

func (in *StepStatus) DeepCopy() *StepStatus

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

func (*StepStatus) DeepCopyInto

func (in *StepStatus) DeepCopyInto(out *StepStatus)

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

type Storage

type Storage struct {
	// Specifies how much storage will be allocated in total. Use MB as a unit of measurement. (eg. `10240` is equal to 10 GB)
	// +kubebuilder:default=10000
	Amount int `json:"amount,omitempty"`
	// Storage class selection for robot's volumes.
	StorageClassConfig StorageClassConfig `json:"storageClassConfig,omitempty"`
}

Robot's resource limitations.

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type StorageClassConfig

type StorageClassConfig struct {
	// Storage class name.
	Name string `json:"name,omitempty"`
	// PVC access modes. Currently, only `ReadWriteOnce` is supported.
	AccessMode corev1.PersistentVolumeAccessMode `json:"accessMode,omitempty"`
}

Storage class configuration for a volume type.

func (*StorageClassConfig) DeepCopy

func (in *StorageClassConfig) DeepCopy() *StorageClassConfig

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

func (*StorageClassConfig) DeepCopyInto

func (in *StorageClassConfig) DeepCopyInto(out *StorageClassConfig)

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

type StorageMetrics

type StorageMetrics struct {
	// MetricsExporter watches storage usage in the host machine
	// if it's set to `true`.
	Track bool `json:"track,omitempty"`
	// Watching latency.
	Interval int `json:"interval,omitempty"`
}

func (*StorageMetrics) DeepCopy

func (in *StorageMetrics) DeepCopy() *StorageMetrics

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

func (*StorageMetrics) DeepCopyInto

func (in *StorageMetrics) DeepCopyInto(out *StorageMetrics)

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

type StorageStatus

type StorageStatus struct {
	// Usage values of filesystems.
	Usage map[string]StorageUsage `json:"usage,omitempty"`
	// Last update time.
	LastUpdateTimestamp string `json:"lastUpdateTimestamp,omitempty"`
}

func (*StorageStatus) DeepCopy

func (in *StorageStatus) DeepCopy() *StorageStatus

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

func (*StorageStatus) DeepCopyInto

func (in *StorageStatus) DeepCopyInto(out *StorageStatus)

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

type StorageUsage

type StorageUsage struct {
	// Size of the filesystem.
	Size string `json:"size,omitempty"`
	// Size of the used parts of a filesystem.
	Used string `json:"used,omitempty"`
	// Usage percentage of a filesystem.
	Percentage string `json:"percentage,omitempty"`
	// Directory that the filesystem mounted on.
	MountedOn string `json:"mountedOn,omitempty"`
}

func (*StorageUsage) DeepCopy

func (in *StorageUsage) DeepCopy() *StorageUsage

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

func (*StorageUsage) DeepCopyInto

func (in *StorageUsage) DeepCopyInto(out *StorageUsage)

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

type TLSSecretReference

type TLSSecretReference struct {
	// [*alpha*] TLS secret object name.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// [*alpha*] TLS secret object namespace.
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`
}

func (*TLSSecretReference) DeepCopy

func (in *TLSSecretReference) DeepCopy() *TLSSecretReference

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

func (*TLSSecretReference) DeepCopyInto

func (in *TLSSecretReference) DeepCopyInto(out *TLSSecretReference)

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

type Type

type Type string
const (
	TypeEnvironment Type = "Environment"
	TypeRobot       Type = "Robot"
)

type Usage

type Usage struct {
	// GPU device information.
	GPUDeviceStatuses GPUDeviceStatuses `json:"gpuDeviceStatuses,omitempty"`
	// GPU virtual cores.
	GPUInstanceUsage map[string]GPUInstanceStatus `json:"gpuInstanceUsage,omitempty"`
	// Network usage information.
	Network NetworkLoadStatus `json:"network,omitempty"`
	// Storage usage information
	Storage StorageStatus `json:"storage,omitempty"`
}

func (*Usage) DeepCopy

func (in *Usage) DeepCopy() *Usage

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

func (*Usage) DeepCopyInto

func (in *Usage) DeepCopyInto(out *Usage)

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

type Workspace

type Workspace struct {
	// Name of workspace. If a workspace's name is `my_ws`, it's absolute path is `/home/workspaces/my_ws`.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	Distro ROSDistro `json:"distro"`
	// Repositories to clone inside workspace's `src` directory.
	Repositories map[string]Repository `json:"repositories"`
}

Workspace description. Each robot should contain at least one workspace. A workspace should contain at least one repository in it.

func (*Workspace) DeepCopy

func (in *Workspace) DeepCopy() *Workspace

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

func (*Workspace) DeepCopyInto

func (in *Workspace) DeepCopyInto(out *Workspace)

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

type WorkspaceManager added in v0.1.5

type WorkspaceManager struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the WorkspaceManager.
	Spec WorkspaceManagerSpec `json:"spec,omitempty"`
	// Most recently observed status of the WorkspaceManager.
	Status WorkspaceManagerStatus `json:"status,omitempty"`
}

WorkspaceManager configures the ROS 2 workspaces and repositories by executing Kubernetes jobs.

func (*WorkspaceManager) DeepCopy added in v0.1.5

func (in *WorkspaceManager) DeepCopy() *WorkspaceManager

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

func (*WorkspaceManager) DeepCopyInto added in v0.1.5

func (in *WorkspaceManager) DeepCopyInto(out *WorkspaceManager)

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

func (*WorkspaceManager) DeepCopyObject added in v0.1.5

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

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

func (*WorkspaceManager) Default added in v0.1.5

func (r *WorkspaceManager) Default()

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

func (*WorkspaceManager) GetCleanupJobMetadata added in v0.1.5

func (workspacemanager *WorkspaceManager) GetCleanupJobMetadata() *types.NamespacedName

func (*WorkspaceManager) GetClonerJobMetadata added in v0.1.5

func (workspacemanager *WorkspaceManager) GetClonerJobMetadata() *types.NamespacedName

func (*WorkspaceManager) SetupWebhookWithManager added in v0.1.5

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

func (*WorkspaceManager) ValidateCreate added in v0.1.5

func (r *WorkspaceManager) ValidateCreate() error

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

func (*WorkspaceManager) ValidateDelete added in v0.1.5

func (r *WorkspaceManager) ValidateDelete() error

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

func (*WorkspaceManager) ValidateUpdate added in v0.1.5

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

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

type WorkspaceManagerInstanceStatus added in v0.1.5

type WorkspaceManagerInstanceStatus struct {
	// Generic status for any owned resource.
	Resource OwnedResourceStatus `json:"resource,omitempty"`
	// Status of the WorkspaceManager instance.
	Status WorkspaceManagerStatus `json:"status,omitempty"`
}

func (*WorkspaceManagerInstanceStatus) DeepCopy added in v0.1.5

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

func (*WorkspaceManagerInstanceStatus) DeepCopyInto added in v0.1.5

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

type WorkspaceManagerList added in v0.1.5

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

WorkspaceManagerList contains a list of WorkspaceManager

func (*WorkspaceManagerList) DeepCopy added in v0.1.5

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

func (*WorkspaceManagerList) DeepCopyInto added in v0.1.5

func (in *WorkspaceManagerList) DeepCopyInto(out *WorkspaceManagerList)

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

func (*WorkspaceManagerList) DeepCopyObject added in v0.1.5

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

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

type WorkspaceManagerPhase added in v0.1.5

type WorkspaceManagerPhase string
const (
	WorkspaceManagerPhaseConfiguringWorkspaces WorkspaceManagerPhase = "ConfiguringWorkspaces"
	WorkspaceManagerPhaseReady                 WorkspaceManagerPhase = "Ready"
	WorkspaceManagerPhaseFailed                WorkspaceManagerPhase = "Failed"
)

type WorkspaceManagerSpec added in v0.1.5

type WorkspaceManagerSpec struct {
	// Global path of workspaces. It's fixed to `/root/workspaces` path.
	WorkspacesPath string `json:"workspacesPath,omitempty"`
	// Workspace definitions of robot.
	// Multiple ROS 2 workspaces can be configured over this field.
	// +kubebuilder:validation:MinItems=1
	Workspaces []Workspace `json:"workspaces,omitempty"`
	// WorkspaceManager is triggered if this field is set to `true`.
	// Then the workspaces are being configured again while backing up the old configurations.
	// This field is often used by operator.
	UpdateNeeded bool `json:"updateNeeded,omitempty"`
}

WorkspaceManagerSpec defines the desired state of WorkspaceManager.

func (*WorkspaceManagerSpec) DeepCopy added in v0.1.5

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

func (*WorkspaceManagerSpec) DeepCopyInto added in v0.1.5

func (in *WorkspaceManagerSpec) DeepCopyInto(out *WorkspaceManagerSpec)

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

type WorkspaceManagerStatus added in v0.1.5

type WorkspaceManagerStatus struct {
	// Phase of WorkspaceManager.
	Phase WorkspaceManagerPhase `json:"phase,omitempty"`
	// Status of cloner job.
	ClonerJobStatus OwnedResourceStatus `json:"clonerJobStatus,omitempty"`
	// Status of cleanup jobs that runs while reconfiguring workspaces.
	CleanupJobStatus OwnedResourceStatus `json:"cleanupJobStatus,omitempty"`
	// Incremental version of workspace configuration map.
	// Used to determine changes in configuration.
	Version int `json:"version,omitempty"`
}

WorkspaceManagerStatus defines the observed state of WorkspaceManager.

func (*WorkspaceManagerStatus) DeepCopy added in v0.1.5

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

func (*WorkspaceManagerStatus) DeepCopyInto added in v0.1.5

func (in *WorkspaceManagerStatus) DeepCopyInto(out *WorkspaceManagerStatus)

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