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 Kernel
- type Kubernetes
- type NVIDIAContainerToolkit
- type NVIDIADriver
- type Properties
- type Provider
Constants ¶
const ( // ProviderAWS means the infra provider is AWS ProviderAWS Provider = "aws" // 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"`
Spec EnvironmentSpec `json:"spec"`
Status EnvironmentStatus `json:"status"`
}
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"`
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"`
// +optional
Kernel Kernel `json:"kernel"`
// +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 Kernel ¶ added in v0.2.8
type Kernel struct {
// Version specifies the kernel version to install
// If not set, no kernel changes will be made
// +optional
Version string `json:"version,omitempty"`
}
Kernel defines the kernel configuration
func (*Kernel) DeepCopy ¶ added in v0.2.8
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kernel.
func (*Kernel) DeepCopyInto ¶ added in v0.2.8
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"`
// KubeAdmConfig is the path to the KubeAdmConfig file on the local machine
// +optional
KubeAdmConfig string `json:"kubeAdmConfig"`
// 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"`
// EnableCDI enables the Container Device Interface (CDI) in the selected
// container runtime.
// +optional
EnableCDI bool `json:"enableCDI"`
}
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"`
// Branch specifies the driver branch.
// If a version is specified, this takes precedence.
// +optional
Branch string `json:"branch"`
// 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.