Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the holodeck v1alpha1 API group +kubebuilder:object:generate=true +groupName=holodeck.nvidia.com
Index ¶
- Constants
- Variables
- type Auth
- type ContainerRuntime
- type ContainerRuntimeName
- type Environment
- type EnvironmentList
- type EnvironmentSpec
- type EnvironmentStatus
- type ExtraPortMapping
- type Image
- type Instance
- type Kubernetes
- type NVIDIAContainerToolkit
- type NVIDIADriver
- type Properties
- type Provider
- type VsphereVirtualMachine
Constants ¶
const ( // ProviderAWS means the infra provider is AWS ProviderAWS Provider = "aws" // ProviderVSphere means the infra provider is VSphere ProviderVSphere Provider = "vsphere" // ProviderSSH means the user already has a running instance // and wants to use it as the infra provider via SSH ProviderSSH Provider = "ssh" // Possible values for the Conditions field ConditionProgressing string = "Progressing" ConditionDegraded string = "Degraded" ConditionAvailable string = "Available" ConditionTerminated string = "Terminated" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "holodeck.nvidia.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Auth ¶
type Auth struct { // KeyName for the SSH connection KeyName string `json:"keyName"` // Username for the SSH connection Username string `json:"username"` // Path to the public key file on the local machine PublicKey string `json:"publicKey"` // Path to the private key file on the local machine PrivateKey string `json:"privateKey"` }
func (*Auth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.
func (*Auth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRuntime ¶
type ContainerRuntime struct { Install bool `json:"install"` // +kubebuilder:validation:Enum=docker;containerd;crio Name ContainerRuntimeName `json:"name"` // If not set the latest stable version will be used // +optional Version string `json:"version"` }
func (*ContainerRuntime) DeepCopy ¶
func (in *ContainerRuntime) DeepCopy() *ContainerRuntime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntime.
func (*ContainerRuntime) DeepCopyInto ¶
func (in *ContainerRuntime) DeepCopyInto(out *ContainerRuntime)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRuntimeName ¶
type ContainerRuntimeName string
const ( // ContainerRuntimeDocker means the container runtime is Docker ContainerRuntimeDocker ContainerRuntimeName = "docker" // ContainerRuntimeContainerd means the container runtime is Containerd ContainerRuntimeContainerd ContainerRuntimeName = "containerd" // ContainerRuntimeCrio means the container runtime is Crio ContainerRuntimeCrio ContainerRuntimeName = "crio" // ContainerRuntimeNone means the container runtime is not defined ContainerRuntimeNone ContainerRuntimeName = "" )
type Environment ¶
type Environment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EnvironmentSpec `json:"spec,omitempty"` Status EnvironmentStatus `json:"status,omitempty"` }
Environment is the Schema for the Holodeck Environment API
func (*Environment) DeepCopy ¶
func (in *Environment) DeepCopy() *Environment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Environment.
func (*Environment) DeepCopyInto ¶
func (in *Environment) DeepCopyInto(out *Environment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Environment) DeepCopyObject ¶
func (in *Environment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvironmentList ¶
type EnvironmentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Environment `json:"items"` }
EnvironmentList contains a list of Holodeck
func (*EnvironmentList) DeepCopy ¶
func (in *EnvironmentList) DeepCopy() *EnvironmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentList.
func (*EnvironmentList) DeepCopyInto ¶
func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvironmentList) DeepCopyObject ¶
func (in *EnvironmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvironmentSpec ¶
type EnvironmentSpec struct { // +kubebuilder:validation:Enum=aws;ssh Provider Provider `json:"provider"` Auth `json:"auth"` // Instance is required for AWS provider // +optional Instance `json:"instance"` // VsphereVirtualMachine is required for VSphere provider // +optional VsphereVirtualMachine `json:"VsphereVirtualMachine"` // +optional NVIDIADriver NVIDIADriver `json:"nvidiaDriver"` // +optional ContainerRuntime ContainerRuntime `json:"containerRuntime"` // +optional NVIDIAContainerToolkit NVIDIAContainerToolkit `json:"nvidiaContainerToolkit"` // +optional Kubernetes Kubernetes `json:"kubernetes"` }
EnvironmentSpec defines the desired state of infra provider
func (*EnvironmentSpec) DeepCopy ¶
func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentSpec.
func (*EnvironmentSpec) DeepCopyInto ¶
func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvironmentStatus ¶
type EnvironmentStatus struct { // +listType=map // +listMapKey=name Properties []Properties `json:"properties"` // Conditions represents the latest available observations of current state. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` }
EnvironmentStatus defines the observed state of the infra provider
func (*EnvironmentStatus) DeepCopy ¶
func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvironmentStatus.
func (*EnvironmentStatus) DeepCopyInto ¶
func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtraPortMapping ¶
type ExtraPortMapping struct { ContainerPort int `json:"containerPort"` HostPort int `json:"hostPort"` }
func (*ExtraPortMapping) DeepCopy ¶
func (in *ExtraPortMapping) DeepCopy() *ExtraPortMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraPortMapping.
func (*ExtraPortMapping) DeepCopyInto ¶
func (in *ExtraPortMapping) DeepCopyInto(out *ExtraPortMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct { // The architecture of the image. Architecture string `json:"architecture"` // The date and time the image was created. CreationDate *string `json:"creationDate"` // The description of the AMI that was provided during image creation. Description *string `json:"description"` // The ID of the AMI. ImageId *string `json:"imageId"` // The location of the AMI. ImageLocation *string `json:"imageLocation"` // The name of the AMI that was provided during image creation. Name *string `json:"name"` // The ID of the Amazon Web Services account that owns the image. OwnerId *string `json:"ownerId"` }
Describes an image or vm template.
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Instance ¶
type Instance struct { Type string `json:"type"` Image Image `json:"image"` Region string `json:"region"` // +optional IngresIpRanges []string `json:"ingressIpRanges"` // +optional HostUrl string `json:"hostUrl"` }
Instance defines and AWS instance
func (*Instance) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kubernetes ¶
type Kubernetes struct { Install bool `json:"install"` // KubeConfig is the path to the kubeconfig file on the local machine KubeConfig string `json:"kubeConfig"` KubernetesFeatures []string `json:"Features"` KubernetesVersion string `json:"Version"` KubernetesInstaller string `json:"Installer"` KubeletReleaseVersion string `json:"KubeletReleaseVersion"` Arch string `json:"Arch"` CniPluginsVersion string `json:"CniPluginsVersion"` CalicoVersion string `json:"CalicoVersion"` CrictlVersion string `json:"CrictlVersion"` K8sEndpointHost string `json:"K8sEndpointHost"` // A set of key=value pairs that describe feature gates for // alpha/experimental features K8sFeatureGates []string `json:"K8sFeatureGates"` // Kind exclusive KindConfig string `json:"kindConfig"` }
func (*Kubernetes) DeepCopy ¶
func (in *Kubernetes) DeepCopy() *Kubernetes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kubernetes.
func (*Kubernetes) DeepCopyInto ¶
func (in *Kubernetes) DeepCopyInto(out *Kubernetes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NVIDIAContainerToolkit ¶
type NVIDIAContainerToolkit struct { Install bool `json:"install"` // If not set the latest stable version will be used // +optional Version string `json:"version"` }
func (*NVIDIAContainerToolkit) DeepCopy ¶
func (in *NVIDIAContainerToolkit) DeepCopy() *NVIDIAContainerToolkit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NVIDIAContainerToolkit.
func (*NVIDIAContainerToolkit) DeepCopyInto ¶
func (in *NVIDIAContainerToolkit) DeepCopyInto(out *NVIDIAContainerToolkit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NVIDIADriver ¶
type NVIDIADriver struct { Install bool `json:"install"` // If not set the latest stable version will be used // +optional Version string `json:"version"` }
func (*NVIDIADriver) DeepCopy ¶
func (in *NVIDIADriver) DeepCopy() *NVIDIADriver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NVIDIADriver.
func (*NVIDIADriver) DeepCopyInto ¶
func (in *NVIDIADriver) DeepCopyInto(out *NVIDIADriver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Properties ¶
func (*Properties) DeepCopy ¶
func (in *Properties) DeepCopy() *Properties
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Properties.
func (*Properties) DeepCopyInto ¶
func (in *Properties) DeepCopyInto(out *Properties)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VsphereVirtualMachine ¶ added in v0.2.0
type VsphereVirtualMachine struct { VCenterURL string `json:"vCenterURL"` Datacenter string `json:"datacenter"` DataStore string `json:"dataStore"` Cluster string `json:"cluster"` Network string `json:"network"` VMFolder string `json:"vmFolder"` ResoursePool string `json:"resoursePool"` TemplateImage string `json:"templateImage"` }
VsphereVirtualMachine defines a VSphere VM
func (*VsphereVirtualMachine) DeepCopy ¶ added in v0.2.0
func (in *VsphereVirtualMachine) DeepCopy() *VsphereVirtualMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VsphereVirtualMachine.
func (*VsphereVirtualMachine) DeepCopyInto ¶ added in v0.2.0
func (in *VsphereVirtualMachine) DeepCopyInto(out *VsphereVirtualMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.