v1

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

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

View Source
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

func (in *AWSSpec) DeepCopy() *AWSSpec

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

func (*AWSSpec) DeepCopyInto

func (in *AWSSpec) DeepCopyInto(out *AWSSpec)

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

func (in *AzureSpec) DeepCopy() *AzureSpec

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

func (*AzureSpec) DeepCopyInto

func (in *AzureSpec) DeepCopyInto(out *AzureSpec)

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

func (in *Colony) DeepCopy() *Colony

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

func (*Colony) DeepCopyInto

func (in *Colony) DeepCopyInto(out *Colony)

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

func (*Colony) DeepCopyObject

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL