Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the infra v1 API group. +kubebuilder:object:generate=true +groupName=infra.exalsius.ai
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infra.exalsius.ai", Version: "v1"} // 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 AWSSpec ¶
type AWSSpec struct {
// Replicas is the number of AWS instances to create.
Replicas int32 `json:"replicas"`
// AMI is the ID of the AWS Machine Image.
AMI string `json:"ami"`
// Region is the AWS region.
Region string `json:"region,omitempty"`
// InstanceType is the type of the AWS instance.
InstanceType string `json:"instanceType"`
// SSHKeyName is the name of the SSH key to use for the AWS instances.
SSHKeyName string `json:"sshKeyName"`
// IAMInstanceProfile is the IAM instance profile to use for the AWS instances.
IAMInstanceProfile string `json:"iamInstanceProfile"`
}
func (*AWSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSpec.
func (*AWSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureSpec ¶
type AzureSpec struct {
// Region is the Azure region.
Region string `json:"region"`
}
func (*AzureSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSpec.
func (*AzureSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Colony ¶
type Colony struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ColonySpec `json:"spec,omitempty"`
Status ColonyStatus `json:"status,omitempty"`
}
Colony is the Schema for the colonies API.
func (*Colony) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Colony.
func (*Colony) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Colony) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ColonyCluster ¶
type ColonyCluster struct {
// Name is the name of the cluster.
ClusterName string `json:"clusterName"`
// DockerEnabled indicates if the docker provider is enabled.
// This should be only used for local development and testing.
DockerEnabled *bool `json:"dockerEnabled,omitempty"`
// Docker is the specification for the docker resources.
Docker *DockerSpec `json:"docker,omitempty"`
// AWSEnabled indicates if the AWS provider is enabled.
// setting this to true requires also setting the AWS spec.
AWSEnabled *bool `json:"awsEnabled,omitempty"`
// AWS is the specification for the AWS resources.
AWS *AWSSpec `json:"aws,omitempty"`
// AzureEnabled indicates if the Azure provider is enabled.
// setting this to true requires also setting the Azure spec.
AzureEnabled *bool `json:"azureEnabled,omitempty"`
// Azure is the specification for the Azure resources.
Azure *AzureSpec `json:"azure,omitempty"`
// RemoteClusterEnabled indicates that this cluster is a remote cluster.
// It won't create any resources itself, but arbitrary nodes can be added
// to the cluster via ssh or token-based authentication.
RemoteClusterEnabled *bool `json:"remoteClusterEnabled,omitempty"`
}
func (*ColonyCluster) DeepCopy ¶
func (in *ColonyCluster) DeepCopy() *ColonyCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColonyCluster.
func (*ColonyCluster) DeepCopyInto ¶
func (in *ColonyCluster) DeepCopyInto(out *ColonyCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ColonyList ¶
type ColonyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Colony `json:"items"`
}
ColonyList contains a list of Colony.
func (*ColonyList) DeepCopy ¶
func (in *ColonyList) DeepCopy() *ColonyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColonyList.
func (*ColonyList) DeepCopyInto ¶
func (in *ColonyList) DeepCopyInto(out *ColonyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ColonyList) DeepCopyObject ¶
func (in *ColonyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ColonySpec ¶
type ColonySpec struct {
// K8sVersion is the version of Kubernetes to use for the colony.
K8sVersion string `json:"k8sVersion"`
// WorkloadDependencies is the list of workload dependencies to use for the colony.
// This is a list of already pre-installed HelmChartProxy resources that can be specified by name.
// +optional
WorkloadDependencies *[]WorkloadDependency `json:"workloadDependencies,omitempty"`
// AdditionalDependencies is the list of additional dependencies to use for the colony.
// This is a list of HelmChartProxy resources that will be installed on the colony.
// See https://cluster-api-addon-provider-helm.sigs.k8s.io/getting-started/
// +optional
AdditionalDependencies *[]HelmChartProxyReference `json:"additionalDependencies,omitempty"`
// HostedControlPlaneEnabled indicates if the hosted control plane is enabled.
// If this is true, the colony will create a hosted control plane in the management cluster.
// If this is false, the colony will create a control plane in the colony cluster.
// If this is not set, the colony will create a control plane in the colony cluster.
// +optional
HostedControlPlaneEnabled *bool `json:"hostedControlPlaneEnabled,omitempty"`
// ExternalAddress is the external address of the colony cluster.
// This is used to set the external address of the control plane.
// If this is not set, the colony will try to find an external address for the control plane.
// +optional
ExternalAddress *string `json:"externalAddress,omitempty"`
// ColonyClusters is the list of clusters to create.
ColonyClusters []ColonyCluster `json:"colonyClusters,omitempty"`
}
ColonySpec defines the desired state of Colony.
func (*ColonySpec) DeepCopy ¶
func (in *ColonySpec) DeepCopy() *ColonySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColonySpec.
func (*ColonySpec) DeepCopyInto ¶
func (in *ColonySpec) DeepCopyInto(out *ColonySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ColonyStatus ¶
type ColonyStatus struct {
Phase string `json:"phase,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
ClusterRefs []*corev1.ObjectReference `json:"clusterRefs,omitempty"`
TotalClusters int32 `json:"totalClusters"`
ReadyClusters int32 `json:"readyClusters"`
}
ColonyStatus defines the observed state of Colony.
func (*ColonyStatus) DeepCopy ¶
func (in *ColonyStatus) DeepCopy() *ColonyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColonyStatus.
func (*ColonyStatus) DeepCopyInto ¶
func (in *ColonyStatus) DeepCopyInto(out *ColonyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DockerSpec ¶
type DockerSpec struct {
// Replicas is the number of "Docker Nodes" to create.
Replicas int32 `json:"replicas"`
}
func (*DockerSpec) DeepCopy ¶
func (in *DockerSpec) DeepCopy() *DockerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerSpec.
func (*DockerSpec) DeepCopyInto ¶
func (in *DockerSpec) DeepCopyInto(out *DockerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmChartProxyReference ¶
type HelmChartProxyReference struct {
Name string `json:"name"`
Spec helmv1alpha1.HelmChartProxySpec `json:"spec"`
}
func (*HelmChartProxyReference) DeepCopy ¶
func (in *HelmChartProxyReference) DeepCopy() *HelmChartProxyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChartProxyReference.
func (*HelmChartProxyReference) DeepCopyInto ¶
func (in *HelmChartProxyReference) DeepCopyInto(out *HelmChartProxyReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadDependency ¶
type WorkloadDependency struct {
// Name is the name of the workload dependency, it maps to the name of the HelmChartProxy resource that
// has to exist in the cluster.
Name string `json:"name"`
}
WorkloadDependency is a workload dependency to be installed on the colony. It currently maps to a HelmChartProxy resource
func (*WorkloadDependency) DeepCopy ¶
func (in *WorkloadDependency) DeepCopy() *WorkloadDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDependency.
func (*WorkloadDependency) DeepCopyInto ¶
func (in *WorkloadDependency) DeepCopyInto(out *WorkloadDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.