Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the robot v1alpha1 API group +kubebuilder:object:generate=true +groupName=robot.roboscale.io
Index ¶
- Variables
- func DefaultRepositoryPaths(r *Robot)
- func Resource(resource string) schema.GroupResource
- type AttachedBuildObject
- type AttachedDevObject
- type AttachedLaunchObject
- type BridgeDistro
- type BridgePhase
- type BuildManager
- func (in *BuildManager) DeepCopy() *BuildManager
- func (in *BuildManager) DeepCopyInto(out *BuildManager)
- func (in *BuildManager) DeepCopyObject() runtime.Object
- func (r *BuildManager) Default()
- func (buildmanager *BuildManager) GetConfigMapMetadata() *types.NamespacedName
- func (r *BuildManager) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *BuildManager) ValidateCreate() error
- func (r *BuildManager) ValidateDelete() error
- func (r *BuildManager) ValidateUpdate(old runtime.Object) error
- type BuildManagerList
- type BuildManagerPhase
- type BuildManagerSpec
- type BuildManagerStatus
- type ConnectionInfo
- type DiscoveryServer
- func (in *DiscoveryServer) DeepCopy() *DiscoveryServer
- func (in *DiscoveryServer) DeepCopyInto(out *DiscoveryServer)
- func (in *DiscoveryServer) DeepCopyObject() runtime.Object
- func (r *DiscoveryServer) Default()
- func (discoveryServer *DiscoveryServer) GetDiscoveryServerConfigMapMetadata() *types.NamespacedName
- func (discoveryServer *DiscoveryServer) GetDiscoveryServerPodMetadata() *types.NamespacedName
- func (discoveryServer *DiscoveryServer) GetDiscoveryServerServiceMetadata() *types.NamespacedName
- func (r *DiscoveryServer) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *DiscoveryServer) ValidateCreate() error
- func (r *DiscoveryServer) ValidateDelete() error
- func (r *DiscoveryServer) ValidateUpdate(old runtime.Object) error
- type DiscoveryServerInstanceStatus
- type DiscoveryServerInstanceType
- type DiscoveryServerList
- type DiscoveryServerPhase
- type DiscoveryServerSpec
- type DiscoveryServerStatus
- type GPUMetrics
- type GPUUtilizationStatus
- type JobPhase
- type Launch
- type LaunchManager
- func (in *LaunchManager) DeepCopy() *LaunchManager
- func (in *LaunchManager) DeepCopyInto(out *LaunchManager)
- func (in *LaunchManager) DeepCopyObject() runtime.Object
- func (r *LaunchManager) Default()
- func (launchmanager *LaunchManager) GetLaunchPodMetadata() *types.NamespacedName
- func (r *LaunchManager) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *LaunchManager) ValidateCreate() error
- func (r *LaunchManager) ValidateDelete() error
- func (r *LaunchManager) ValidateUpdate(old runtime.Object) error
- type LaunchManagerList
- type LaunchManagerPhase
- type LaunchManagerSpec
- type LaunchManagerStatus
- type LaunchPodStatus
- type LaunchStatus
- type MetricsExporter
- func (in *MetricsExporter) DeepCopy() *MetricsExporter
- func (in *MetricsExporter) DeepCopyInto(out *MetricsExporter)
- func (in *MetricsExporter) DeepCopyObject() runtime.Object
- func (metricseexporter *MetricsExporter) GetMetricsExporterPodMetadata() *types.NamespacedName
- func (metricseexporter *MetricsExporter) GetMetricsExporterRoleBindingMetadata() *types.NamespacedName
- func (metricseexporter *MetricsExporter) GetMetricsExporterRoleMetadata() *types.NamespacedName
- func (metricseexporter *MetricsExporter) GetMetricsExporterServiceAccountMetadata() *types.NamespacedName
- type MetricsExporterList
- type MetricsExporterPhase
- type MetricsExporterSpec
- type MetricsExporterStatus
- type NetworkInterfaceLoad
- type NetworkLoadStatus
- type NetworkMetrics
- type OwnedPodStatus
- type OwnedResourceStatus
- type Prelaunch
- type RMWImplementation
- type ROSBridge
- func (in *ROSBridge) DeepCopy() *ROSBridge
- func (in *ROSBridge) DeepCopyInto(out *ROSBridge)
- func (in *ROSBridge) DeepCopyObject() runtime.Object
- func (rosbridge *ROSBridge) GetBridgePodMetadata() *types.NamespacedName
- func (rosbridge *ROSBridge) GetBridgeServiceMetadata() *types.NamespacedName
- func (rosbridge *ROSBridge) GetOwnerMetadata() *types.NamespacedName
- type ROSBridgeInstanceStatus
- type ROSBridgeList
- type ROSBridgeSpec
- type ROSBridgeStatus
- type ROSDistro
- type Repository
- type Resources
- type Robot
- func (in *Robot) DeepCopy() *Robot
- func (in *Robot) DeepCopyInto(out *Robot)
- func (in *Robot) DeepCopyObject() runtime.Object
- func (r *Robot) Default()
- func (robot *Robot) GetDiscoveryServerMetadata() *types.NamespacedName
- func (robot *Robot) GetLoaderJobMetadata() *types.NamespacedName
- func (robot *Robot) GetPVCEtcMetadata() *types.NamespacedName
- func (robot *Robot) GetPVCOptMetadata() *types.NamespacedName
- func (robot *Robot) GetPVCUsrMetadata() *types.NamespacedName
- func (robot *Robot) GetPVCVarMetadata() *types.NamespacedName
- func (robot *Robot) GetPVCWorkspaceMetadata() *types.NamespacedName
- func (robot *Robot) GetROSBridgeMetadata() *types.NamespacedName
- func (robot *Robot) GetRobotDevSuiteMetadata() *types.NamespacedName
- func (robot *Robot) GetWorkspaceByName(name string) (Workspace, error)
- func (robot *Robot) GetWorkspaceManagerMetadata() *types.NamespacedName
- func (r *Robot) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Robot) ValidateCreate() error
- func (r *Robot) ValidateDelete() error
- func (r *Robot) ValidateUpdate(old runtime.Object) error
- type RobotArtifact
- type RobotArtifactList
- type RobotDevSuite
- func (in *RobotDevSuite) DeepCopy() *RobotDevSuite
- func (in *RobotDevSuite) DeepCopyInto(out *RobotDevSuite)
- func (in *RobotDevSuite) DeepCopyObject() runtime.Object
- func (robotDevSuite *RobotDevSuite) GetRobotIDEMetadata() *types.NamespacedName
- func (robotDevSuite *RobotDevSuite) GetRobotVDIMetadata() *types.NamespacedName
- type RobotDevSuiteInstanceStatus
- type RobotDevSuiteList
- type RobotDevSuitePhase
- type RobotDevSuiteSpec
- type RobotDevSuiteStatus
- type RobotIDE
- func (in *RobotIDE) DeepCopy() *RobotIDE
- func (in *RobotIDE) DeepCopyInto(out *RobotIDE)
- func (in *RobotIDE) DeepCopyObject() runtime.Object
- func (r *RobotIDE) Default()
- func (robotide *RobotIDE) GetRobotIDEIngressMetadata() *types.NamespacedName
- func (robotide *RobotIDE) GetRobotIDEPodMetadata() *types.NamespacedName
- func (robotide *RobotIDE) GetRobotIDEServiceMetadata() *types.NamespacedName
- func (r *RobotIDE) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *RobotIDE) ValidateCreate() error
- func (r *RobotIDE) ValidateDelete() error
- func (r *RobotIDE) ValidateUpdate(old runtime.Object) error
- type RobotIDEList
- type RobotIDEPhase
- type RobotIDESpec
- type RobotIDEStatus
- type RobotList
- type RobotPhase
- type RobotSpec
- type RobotStatus
- type RobotVDI
- func (in *RobotVDI) DeepCopy() *RobotVDI
- func (in *RobotVDI) DeepCopyInto(out *RobotVDI)
- func (in *RobotVDI) DeepCopyObject() runtime.Object
- func (r *RobotVDI) Default()
- func (robotvdi *RobotVDI) GetRobotVDIIngressMetadata() *types.NamespacedName
- func (robotvdi *RobotVDI) GetRobotVDIPVCMetadata() *types.NamespacedName
- func (robotvdi *RobotVDI) GetRobotVDIPodMetadata() *types.NamespacedName
- func (robotvdi *RobotVDI) GetRobotVDIServiceTCPMetadata() *types.NamespacedName
- func (robotvdi *RobotVDI) GetRobotVDIServiceUDPMetadata() *types.NamespacedName
- func (r *RobotVDI) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *RobotVDI) ValidateCreate() error
- func (r *RobotVDI) ValidateDelete() error
- func (r *RobotVDI) ValidateUpdate(old runtime.Object) error
- type RobotVDIList
- type RobotVDIPhase
- type RobotVDISpec
- type RobotVDIStatus
- type RootDNSConfig
- type Run
- type Step
- type StepStatus
- type Storage
- type StorageClassConfig
- type TLSSecretReference
- type Usage
- type VolumeStatuses
- type Workspace
- type WorkspaceManager
- func (in *WorkspaceManager) DeepCopy() *WorkspaceManager
- func (in *WorkspaceManager) DeepCopyInto(out *WorkspaceManager)
- func (in *WorkspaceManager) DeepCopyObject() runtime.Object
- func (r *WorkspaceManager) Default()
- func (workspacemanager *WorkspaceManager) GetCleanupJobMetadata() *types.NamespacedName
- func (workspacemanager *WorkspaceManager) GetClonerJobMetadata() *types.NamespacedName
- func (r *WorkspaceManager) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *WorkspaceManager) ValidateCreate() error
- func (r *WorkspaceManager) ValidateDelete() error
- func (r *WorkspaceManager) ValidateUpdate(old runtime.Object) error
- type WorkspaceManagerInstanceStatus
- type WorkspaceManagerList
- type WorkspaceManagerPhase
- type WorkspaceManagerSpec
- type WorkspaceManagerStatus
Constants ¶
This section is empty.
Variables ¶
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 )
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func DefaultRepositoryPaths ¶
func DefaultRepositoryPaths(r *Robot)
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
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 ¶
func (in *AttachedLaunchObject) DeepCopy() *AttachedLaunchObject
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 BridgeDistro ¶
type BridgeDistro struct {
// If `true`, resources and workloads are created by ROSBridge.
Enabled bool `json:"enabled,omitempty"`
// ROS distribution for bridge.
Distro ROSDistro `json:"distro,omitempty"`
}
func (*BridgeDistro) DeepCopy ¶
func (in *BridgeDistro) DeepCopy() *BridgeDistro
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BridgeDistro.
func (*BridgeDistro) DeepCopyInto ¶
func (in *BridgeDistro) DeepCopyInto(out *BridgeDistro)
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" 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 {
// 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 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 ¶
func (in *DiscoveryServerInstanceStatus) DeepCopy() *DiscoveryServerInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveryServerInstanceStatus.
func (*DiscoveryServerInstanceStatus) DeepCopyInto ¶
func (in *DiscoveryServerInstanceStatus) DeepCopyInto(out *DiscoveryServerInstanceStatus)
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 {
// 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 provisioned in another cluster.
Reference corev1.ObjectReference `json:"reference,omitempty"`
// Cloud instance name that holds DiscoveryServer instance with `Server` type.
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"`
// Image for discovery server. Recommended to use images which has configured ROS 2.
Image string `json:"image,omitempty"`
// Entrypoint of the DiscoveryServer. Applied if the instance type is `Server`.
Args []string `json:"args,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 ¶
func (in *DiscoveryServerStatus) DeepCopy() *DiscoveryServerStatus
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 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 ¶
func (in *GPUUtilizationStatus) DeepCopy() *GPUUtilizationStatus
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 Launch ¶
type Launch struct {
// Cluster selector. If empty, launch pod will be created.
// If `robolaunch.io/cloud-instance` is specified only, launch will be running on the cloud instance.
// If `robolaunch.io/physical-instance` is specified only, launch will be running on the physical instance.
Selector map[string]string `json:"selector,omitempty"`
// Name of the workspace.
// Should be selected among the existing workspaces in WorkspaceManager's manifests.
// +kubebuilder:validation:Required
Workspace string `json:"workspace"`
// Name of the repository which includes the launchfile.
// +kubebuilder:validation:Required
Repository string `json:"repository"`
// 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"`
// Additional environment variables to set when launching ROS nodes.
Env []corev1.EnvVar `json:"env,omitempty"`
// Path to launchfile in repository. (eg. `linorobot/linorobot_gazebo/launch.py`)
// +kubebuilder:validation:Required
LaunchFilePath string `json:"launchFilePath"`
// Launch parameters.
Parameters map[string]string `json:"parameters,omitempty"`
// Command or script to run just before node's execution.
Prelaunch Prelaunch `json:"prelaunch,omitempty"`
// Launch container privilege.
Privileged bool `json:"privileged,omitempty"`
// Launch container resource limits.
Resources Resources `json:"resources,omitempty"`
}
Launch description of a repository.
func (*Launch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Launch.
func (*Launch) DeepCopyInto ¶
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 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"`
// Launch descriptions.
// Every object defined here generates a `ros2 launch` command in the specified workspace.
Launch map[string]Launch `json:"launch,omitempty"`
// Every object defined here generates a `ros2 run` command in the specified workspace.
Run map[string]Run `json:"run,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 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"`
}
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 ¶
func (in *MetricsExporterStatus) DeepCopy() *MetricsExporterStatus
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 ¶
func (in *NetworkInterfaceLoad) DeepCopy() *NetworkInterfaceLoad
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 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 Prelaunch ¶
type Prelaunch struct {
// Bash command to run before ROS node execution.
// +kubebuilder:validation:Required
Command string `json:"command"`
}
Prelaunch command or script is applied just before the node is started.
func (*Prelaunch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prelaunch.
func (*Prelaunch) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ROSBridge.
func (*ROSBridge) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ROSBridge) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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"`
}
func (*ROSBridgeInstanceStatus) DeepCopy ¶
func (in *ROSBridgeInstanceStatus) DeepCopy() *ROSBridgeInstanceStatus
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 bridge.
ROS BridgeDistro `json:"ros,omitempty"`
// Configurational parameters for ROS 2 bridge.
ROS2 BridgeDistro `json:"ros2,omitempty"`
// Image contains ROS/2 bridge packages.
Image string `json:"image,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 OwnedResourceStatus `json:"serviceStatus,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 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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Robot.
func (*Robot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Robot) DeepCopyObject ¶
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) GetWorkspaceManagerMetadata ¶ added in v0.1.5
func (robot *Robot) GetWorkspaceManagerMetadata() *types.NamespacedName
func (*Robot) SetupWebhookWithManager ¶
func (*Robot) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Robot) ValidateDelete ¶
ValidateDelete 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 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) GetRobotIDEMetadata ¶
func (robotDevSuite *RobotDevSuite) GetRobotIDEMetadata() *types.NamespacedName
func (*RobotDevSuite) GetRobotVDIMetadata ¶
func (robotDevSuite *RobotDevSuite) GetRobotVDIMetadata() *types.NamespacedName
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 ¶
func (in *RobotDevSuiteInstanceStatus) DeepCopy() *RobotDevSuiteInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RobotDevSuiteInstanceStatus.
func (*RobotDevSuiteInstanceStatus) DeepCopyInto ¶
func (in *RobotDevSuiteInstanceStatus) DeepCopyInto(out *RobotDevSuiteInstanceStatus)
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" 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"`
}
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 OwnedResourceStatus `json:"robotVDIStatus,omitempty"`
// Status of RobotIDE.
RobotIDEStatus OwnedResourceStatus `json:"robotIDEStatus,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RobotIDE.
func (*RobotIDE) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RobotIDE) DeepCopyObject ¶
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) GetRobotIDEIngressMetadata ¶
func (robotide *RobotIDE) GetRobotIDEIngressMetadata() *types.NamespacedName
func (*RobotIDE) GetRobotIDEPodMetadata ¶
func (robotide *RobotIDE) GetRobotIDEPodMetadata() *types.NamespacedName
func (*RobotIDE) GetRobotIDEServiceMetadata ¶
func (robotide *RobotIDE) GetRobotIDEServiceMetadata() *types.NamespacedName
func (*RobotIDE) SetupWebhookWithManager ¶
func (*RobotIDE) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*RobotIDE) ValidateDelete ¶
ValidateDelete 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" 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 OwnedResourceStatus `json:"serviceStatus,omitempty"`
// Status of Cloud IDE Ingress.
IngressStatus OwnedResourceStatus `json:"ingressStatus,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RobotList.
func (*RobotList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RobotList) DeepCopyObject ¶
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 {
// 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"`
// 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
// +kubebuilder:default=rmw_fastrtps_cpp
RMWImplementation RMWImplementation `json:"rmwImplementation"`
// 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"`
// Discovery server configurational parameters.
DiscoveryServerTemplate DiscoveryServerSpec `json:"discoveryServerTemplate,omitempty"`
// ROS bridge configurational parameters.
ROSBridgeTemplate ROSBridgeSpec `json:"rosBridgeTemplate,omitempty"`
// Robot development suite template
RobotDevSuiteTemplate RobotDevSuiteSpec `json:"robotDevSuiteTemplate,omitempty"`
// Workspace manager template to configure ROS 2 workspaces.
WorkspaceManagerTemplate WorkspaceManagerSpec `json:"workspaceManagerTemplate,omitempty"`
// [*alpha*] Build manager template for initial configuration.
BuildManagerTemplate BuildManagerSpec `json:"buildManagerTemplate,omitempty"`
// [*alpha*] Launch manager template for initial configuration.
LaunchManagerTemplates []LaunchManagerSpec `json:"launchManagerTemplates,omitempty"`
// [*alpha*] Switch to development mode if `true`.
Development bool `json:"development,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RobotSpec.
func (*RobotSpec) DeepCopyInto ¶
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"`
// Node that Robot uses. It is selected via tenancy labels.
NodeName string `json:"nodeName,omitempty"`
// Robot persists some of the directories of underlying OS inside persistent volumes.
// This field exposes persistent volume claims that dynamically provision PVs.
VolumeStatuses VolumeStatuses `json:"volumeStatuses,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*] Initial build manager creation status if exists.
InitialBuildManagerStatus OwnedResourceStatus `json:"initialBuildManagerStatus,omitempty"`
// [*alpha*] Initial launch manager creation status if exists.
InitialLaunchManagerStatuses []OwnedResourceStatus `json:"initialLaunchManagerStatuses,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RobotVDI.
func (*RobotVDI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RobotVDI) DeepCopyObject ¶
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) 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 (*RobotVDI) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*RobotVDI) ValidateDelete ¶
ValidateDelete 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" 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"`
}
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 OwnedResourceStatus `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"`
}
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 Run ¶ added in v0.2.4
type Run struct {
// Cluster selector. If empty, run pod will be created.
// If `robolaunch.io/cloud-instance` is specified only, run process will be running on the cloud instance.
// If `robolaunch.io/physical-instance` is specified only, run process will be running on the physical instance.
Selector map[string]string `json:"selector,omitempty"`
// Name of the workspace.
// Should be selected among the existing workspaces in WorkspaceManager's manifests.
// +kubebuilder:validation:Required
Workspace string `json:"workspace"`
// ROS 2 namespacing. May not be suitable for all executables.
// 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"`
// Additional environment variables to set when launching ROS nodes.
Env []corev1.EnvVar `json:"env,omitempty"`
// Package name in `ros2 run <package> <executable>`.
// +kubebuilder:validation:Required
Package string `json:"package"`
// Executable name in `ros2 run <package> <executable>`.
Executable string `json:"executable"`
// Run parameters.
Parameters map[string]string `json:"parameters,omitempty"`
// Command or script to run just before node's execution.
Prelaunch Prelaunch `json:"prelaunch,omitempty"`
// Launch container privilege.
Privileged bool `json:"privileged,omitempty"`
// Launch container resource limits.
Resources Resources `json:"resources,omitempty"`
}
Run description.
func (*Run) DeepCopy ¶ added in v0.2.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Run.
func (*Run) DeepCopyInto ¶ added in v0.2.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Step ¶
type Step struct {
// Cluster selector. If empty, step will be executed.
// If `robolaunch.io/cloud-instance` is specified only, step will be running on the cloud instance.
// If `robolaunch.io/physical-instance` is specified only, step will be running on the physical instance.
Selector map[string]string `json:"selector,omitempty"`
// Name of the step.
Name string `json:"name"`
// Name of the workspace.
// Should be selected among the existing workspaces in WorkspaceManager's manifests.
Workspace string `json:"workspace"`
// 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.
func (*Step) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
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 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 Usage ¶
type Usage struct {
// GPU usage information.
GPU GPUUtilizationStatus `json:"gpu,omitempty"`
// Network usage information.
Network NetworkLoadStatus `json:"network,omitempty"`
}
func (*Usage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Usage.
func (*Usage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeStatuses ¶
type VolumeStatuses struct {
// Holds PVC status of the `/var` directory of underlying OS.
Var OwnedResourceStatus `json:"varDir,omitempty"`
// Holds PVC status of the `/etc` directory of underlying OS.
Etc OwnedResourceStatus `json:"etcDir,omitempty"`
// Holds PVC status of the `/usr` directory of underlying OS.
Usr OwnedResourceStatus `json:"usrDir,omitempty"`
// Holds PVC status of the `/opt` directory of underlying OS.
Opt OwnedResourceStatus `json:"optDir,omitempty"`
// Holds PVC status of the workspaces directory of underlying OS.
Workspace OwnedResourceStatus `json:"workspaceDir,omitempty"`
}
func (*VolumeStatuses) DeepCopy ¶
func (in *VolumeStatuses) DeepCopy() *VolumeStatuses
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeStatuses.
func (*VolumeStatuses) DeepCopyInto ¶
func (in *VolumeStatuses) DeepCopyInto(out *VolumeStatuses)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workspace.
func (*Workspace) DeepCopyInto ¶
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
func (in *WorkspaceManagerInstanceStatus) DeepCopy() *WorkspaceManagerInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceManagerInstanceStatus.
func (*WorkspaceManagerInstanceStatus) DeepCopyInto ¶ added in v0.1.5
func (in *WorkspaceManagerInstanceStatus) DeepCopyInto(out *WorkspaceManagerInstanceStatus)
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
func (in *WorkspaceManagerList) DeepCopy() *WorkspaceManagerList
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
func (in *WorkspaceManagerSpec) DeepCopy() *WorkspaceManagerSpec
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
func (in *WorkspaceManagerStatus) DeepCopy() *WorkspaceManagerStatus
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.