v1alpha1

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2025 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the hmc.mirantis.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=hmc.mirantis.com

Example (IsNonMajor)
_, _ = fmt.Printf("isNonMajor(\"1alpha1\", \"alpha\", 1): %v\n", isNonMajor("1alpha1", "alpha", 1))
_, _ = fmt.Printf("isNonMajor(\"1beta1\", \"beta\", 1): %v\n", isNonMajor("1beta1", "beta", 1))
_, _ = fmt.Printf("isNonMajor(\"NONSENSEbeta1\", \"beta\", 8): %v\n", isNonMajor("NONSENSEbeta1", "beta", 8))
_, _ = fmt.Printf("isNonMajor(\"beta1\", \"beta\", 1): %v\n", isNonMajor("beta1", "beta", 1))
Output:

isNonMajor("1alpha1", "alpha", 1): true
isNonMajor("1beta1", "beta", 1): true
isNonMajor("NONSENSEbeta1", "beta", 8): false
isNonMajor("beta1", "beta", 1): false

Index

Examples

Constants

View Source
const (
	AccessManagementKind = "AccessManagement"

	AccessManagementName = "hmc"
)
View Source
const (
	BlockingFinalizer          = "hmc.mirantis.com/cleanup"
	ClusterDeploymentFinalizer = "hmc.mirantis.com/cluster-deployment"

	FluxHelmChartNameKey      = "helm.toolkit.fluxcd.io/name"
	FluxHelmChartNamespaceKey = "helm.toolkit.fluxcd.io/namespace"

	HMCManagedLabelKey   = "hmc.mirantis.com/managed"
	HMCManagedLabelValue = "true"

	ClusterNameLabelKey = "cluster.x-k8s.io/cluster-name"
)
View Source
const (
	// ClusterDeploymentKind is the string representation of a ClusterDeployment.
	ClusterDeploymentKind = "ClusterDeployment"
	// TemplateReadyCondition indicates the referenced Template exists and valid.
	TemplateReadyCondition = "TemplateReady"
	// HelmChartReadyCondition indicates the corresponding HelmChart is valid and ready.
	HelmChartReadyCondition = "HelmChartReady"
	// HelmReleaseReadyCondition indicates the corresponding HelmRelease is ready and fully reconciled.
	HelmReleaseReadyCondition = "HelmReleaseReady"
	// ReadyCondition indicates the ClusterDeployment is ready and fully reconciled.
	ReadyCondition string = "Ready"
)
View Source
const (
	// Denotes the clustertemplate resource Kind.
	ClusterTemplateKind = "ClusterTemplate"
	// ChartAnnotationKubernetesVersion is an annotation containing the Kubernetes exact version in the SemVer format associated with a ClusterTemplate.
	ChartAnnotationKubernetesVersion = "hmc.mirantis.com/k8s-version"
)
View Source
const (
	// SucceededReason indicates a condition or event observed a success, for example when declared desired state
	// matches actual state, or a performed action succeeded.
	SucceededReason string = "Succeeded"

	// FailedReason indicates a condition or event observed a failure, for example when declared state does not match
	// actual state, or a performed action failed.
	FailedReason string = "Failed"

	// ProgressingReason indicates a condition or event observed progression, for example when the reconciliation of a
	// resource or an action has started.
	ProgressingReason string = "Progressing"
)
View Source
const (
	// Provider CAPA
	ProviderAWSName = "cluster-api-provider-aws"
	// Provider Azure
	ProviderAzureName = "cluster-api-provider-azure"
	// Provider vSphere
	ProviderVSphereName = "cluster-api-provider-vsphere"
	// Provider OpenStack
	ProviderOpenStackName = "cluster-api-provider-openstack"
	// Provider K0smotron
	ProviderK0smotronName = "k0smotron"
	// Provider Sveltos
	ProviderSveltosName = "projectsveltos"
)
View Source
const (
	CredentialKind = "Credential"

	// CredentialReadyCondition indicates if referenced Credential exists and has Ready state
	CredentialReadyCondition = "CredentialReady"
	// CredentialPropagatedCondition indicates that CCM credentials were delivered to managed cluster
	CredentialsPropagatedCondition = "CredentialsApplied"
)
View Source
const (
	CoreHMCName = "hmc"

	CoreCAPIName = "capi"

	ManagementKind      = "Management"
	ManagementName      = "hmc"
	ManagementFinalizer = "hmc.mirantis.com/management"
)
View Source
const (
	// MultiClusterServiceFinalizer is finalizer applied to MultiClusterService objects.
	MultiClusterServiceFinalizer = "hmc.mirantis.com/multicluster-service"
	// MultiClusterServiceKind is the string representation of a MultiClusterServiceKind.
	MultiClusterServiceKind = "MultiClusterService"

	// SveltosProfileReadyCondition indicates if the Sveltos Profile is ready.
	SveltosProfileReadyCondition = "SveltosProfileReady"
	// SveltosClusterProfileReadyCondition indicates if the Sveltos ClusterProfile is ready.
	SveltosClusterProfileReadyCondition = "SveltosClusterProfileReady"
	// SveltosHelmReleaseReadyCondition indicates if the HelmRelease
	// managed by a Sveltos Profile/ClusterProfile is ready.
	SveltosHelmReleaseReadyCondition = "SveltosHelmReleaseReady"

	// FetchServicesStatusSuccessCondition indicates if status
	// for the deployed services have been fetched successfully.
	FetchServicesStatusSuccessCondition = "FetchServicesStatusSuccess"
)
View Source
const (
	ReleaseKind = "Release"

	// TemplatesCreatedCondition indicates that all templates associated with the Release are created.
	TemplatesCreatedCondition = "TemplatesCreated"
	// TemplatesValidCondition indicates that all templates associated with the Release are valid.
	TemplatesValidCondition = "TemplatesValid"
)
View Source
const (
	// Denotes the servicetemplate resource Kind.
	ServiceTemplateKind = "ServiceTemplate"
	// ChartAnnotationKubernetesConstraint is an annotation containing the Kubernetes constrained version in the SemVer format associated with a ServiceTemplate.
	ChartAnnotationKubernetesConstraint = "hmc.mirantis.com/k8s-version-constraint"
)
View Source
const (
	// ChartAnnotationProviderName is the annotation set on components in a Template.
	// This annotations allows to identify all the components belonging to a provider.
	ChartAnnotationProviderName = "cluster.x-k8s.io/provider"

	DefaultRepoName = "hmc-templates"
)
View Source
const ClusterDeploymentCredentialIndexKey = ".spec.credential"

ClusterDeploymentCredentialIndexKey indexer field name to extract Credential name reference from a ClusterDeployment object.

View Source
const ClusterDeploymentServiceTemplatesIndexKey = ".spec.services[].Template"

ClusterDeploymentServiceTemplatesIndexKey indexer field name to extract service templates names from a ClusterDeployment object.

View Source
const ClusterDeploymentTemplateIndexKey = ".spec.template"

ClusterDeploymentTemplateIndexKey indexer field name to extract ClusterTemplate name reference from a ClusterDeployment object.

View Source
const ClusterTemplateChainKind = "ClusterTemplateChain"
View Source
const ClusterTemplateProvidersIndexKey = "clusterTemplateProviders"

ClusterTemplateProvidersIndexKey indexer field name to extract provider names from a ClusterTemplate object.

View Source
const MultiClusterServiceTemplatesIndexKey = "serviceTemplates"

MultiClusterServiceTemplatesIndexKey indexer field name to extract service templates names from a MultiClusterService object.

View Source
const OwnerRefIndexKey = ".metadata.ownerReferences"

OwnerRefIndexKey indexer field name to extract ownerReference names from objects

View Source
const ProviderTemplateKind = "ProviderTemplate"

ProviderTemplateKind denotes the providertemplate resource Kind.

View Source
const ReleaseTemplatesIndexKey = "releaseTemplates"

ReleaseTemplatesIndexKey indexer field name to extract component template names from a Release object.

View Source
const ReleaseVersionIndexKey = ".spec.version"

ReleaseVersionIndexKey indexer field name to extract release version from a Release object.

View Source
const ServiceTemplateChainKind = "ServiceTemplateChain"
View Source
const TemplateChainSupportedTemplatesIndexKey = ".spec.supportedTemplates[].Name"

TemplateChainSupportedTemplatesIndexKey indexer field name to extract supported template names from an according TemplateChain object.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "hmc.mirantis.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

func ExtractProvidersFromClusterTemplate

func ExtractProvidersFromClusterTemplate(o client.Object) []string

ExtractProvidersFromClusterTemplate returns provider names from a ClusterTemplate object.

func ExtractServiceTemplateNamesFromClusterDeployment

func ExtractServiceTemplateNamesFromClusterDeployment(rawObj client.Object) []string

ExtractServiceTemplateNamesFromClusterDeployment returns a list of service templates names declared in a ClusterDeployment object.

func ExtractServiceTemplateNamesFromMultiClusterService

func ExtractServiceTemplateNamesFromMultiClusterService(rawObj client.Object) []string

ExtractServiceTemplateNamesFromMultiClusterService returns a list of service templates names declared in a MultiClusterService object.

func ExtractTemplateNameFromClusterDeployment

func ExtractTemplateNameFromClusterDeployment(rawObj client.Object) []string

ExtractTemplateNameFromClusterDeployment returns referenced ClusterTemplate name declared in a ClusterDeployment object.

func SetupIndexers

func SetupIndexers(ctx context.Context, mgr ctrl.Manager) error

Types

type AccessManagement

type AccessManagement struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AccessManagementSpec   `json:"spec,omitempty"`
	Status AccessManagementStatus `json:"status,omitempty"`
}

AccessManagement is the Schema for the AccessManagements API

func (*AccessManagement) DeepCopy

func (in *AccessManagement) DeepCopy() *AccessManagement

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

func (*AccessManagement) DeepCopyInto

func (in *AccessManagement) DeepCopyInto(out *AccessManagement)

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

func (*AccessManagement) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessManagementList

type AccessManagementList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AccessManagement `json:"items"`
}

AccessManagementList contains a list of AccessManagement

func (*AccessManagementList) DeepCopy

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

func (*AccessManagementList) DeepCopyInto

func (in *AccessManagementList) DeepCopyInto(out *AccessManagementList)

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

func (*AccessManagementList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AccessManagementSpec

type AccessManagementSpec struct {
	// AccessRules is the list of access rules. Each AccessRule enforces
	// objects distribution to the TargetNamespaces.
	AccessRules []AccessRule `json:"accessRules,omitempty"`
}

AccessManagementSpec defines the desired state of AccessManagement

func (*AccessManagementSpec) DeepCopy

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

func (*AccessManagementSpec) DeepCopyInto

func (in *AccessManagementSpec) DeepCopyInto(out *AccessManagementSpec)

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

type AccessManagementStatus

type AccessManagementStatus struct {
	// Error is the error message occurred during the reconciliation (if any)
	Error string `json:"error,omitempty"`
	// Current reflects the applied access rules configuration.
	Current []AccessRule `json:"current,omitempty"`
	// ObservedGeneration is the last observed generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

AccessManagementStatus defines the observed state of AccessManagement

func (*AccessManagementStatus) DeepCopy

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

func (*AccessManagementStatus) DeepCopyInto

func (in *AccessManagementStatus) DeepCopyInto(out *AccessManagementStatus)

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

type AccessRule

type AccessRule struct {
	// TargetNamespaces defines the namespaces where selected objects will be distributed.
	// Templates and Credentials will be distributed to all namespaces if unset.
	TargetNamespaces TargetNamespaces `json:"targetNamespaces,omitempty"`
	// ClusterTemplateChains lists the names of ClusterTemplateChains whose ClusterTemplates
	// will be distributed to all namespaces specified in TargetNamespaces.
	ClusterTemplateChains []string `json:"clusterTemplateChains,omitempty"`
	// ServiceTemplateChains lists the names of ServiceTemplateChains whose ServiceTemplates
	// will be distributed to all namespaces specified in TargetNamespaces.
	ServiceTemplateChains []string `json:"serviceTemplateChains,omitempty"`
	// Credentials is the list of Credential names that will be distributed to all the
	// namespaces specified in TargetNamespaces.
	Credentials []string `json:"credentials,omitempty"`
}

AccessRule is the definition of the AccessManagement access rule. Each AccessRule enforces Templates and Credentials distribution to the TargetNamespaces

func (*AccessRule) DeepCopy

func (in *AccessRule) DeepCopy() *AccessRule

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

func (*AccessRule) DeepCopyInto

func (in *AccessRule) DeepCopyInto(out *AccessRule)

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

type AvailableUpgrade

type AvailableUpgrade struct {
	// Name is the name of the Template to which the upgrade is available.
	Name string `json:"name"`
}

AvailableUpgrade is the definition of the available upgrade for the Template

func (*AvailableUpgrade) DeepCopy

func (in *AvailableUpgrade) DeepCopy() *AvailableUpgrade

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

func (*AvailableUpgrade) DeepCopyInto

func (in *AvailableUpgrade) DeepCopyInto(out *AvailableUpgrade)

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

type Backup

type Backup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BackupSpec   `json:"spec,omitempty"`
	Status BackupStatus `json:"status,omitempty"`
}

Backup is the Schema for the backups API

func (*Backup) DeepCopy

func (in *Backup) DeepCopy() *Backup

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

func (*Backup) DeepCopyInto

func (in *Backup) DeepCopyInto(out *Backup)

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

func (*Backup) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupList

type BackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Backup `json:"items"`
}

BackupList contains a list of Backup

func (*BackupList) DeepCopy

func (in *BackupList) DeepCopy() *BackupList

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

func (*BackupList) DeepCopyInto

func (in *BackupList) DeepCopyInto(out *BackupList)

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

func (*BackupList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupSpec

type BackupSpec struct {
	// Oneshot indicates whether the Backup should not be scheduled
	// and rather created immediately and only once.
	Oneshot bool `json:"oneshot,omitempty"`
}

BackupSpec defines the desired state of Backup

func (*BackupSpec) DeepCopy

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto

func (in *BackupSpec) DeepCopyInto(out *BackupSpec)

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

type BackupStatus

type BackupStatus struct {
	// Reference to the underlying Velero object being managed.
	// Might be either Velero Backup or Schedule.
	Reference *corev1.ObjectReference `json:"reference,omitempty"`
	// Status of the Velero Schedule for the Management scheduled backups.
	// Always absent for the Backups with the .spec.oneshot set to true.
	Schedule *velerov1.ScheduleStatus `json:"schedule,omitempty"`
	// NextAttempt indicates the time when the next scheduled backup will be performed.
	// Always absent for the Backups with the .spec.oneshot set to true.
	NextAttempt *metav1.Time `json:"nextAttempt,omitempty"`
	// Last Velero Backup that has been created.
	LastBackup *velerov1.BackupStatus `json:"lastBackup,omitempty"`
}

BackupStatus defines the observed state of Backup

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type ClusterDeployment

type ClusterDeployment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterDeploymentSpec   `json:"spec,omitempty"`
	Status ClusterDeploymentStatus `json:"status,omitempty"`
}

ClusterDeployment is the Schema for the ClusterDeployments API

func (*ClusterDeployment) DeepCopy

func (in *ClusterDeployment) DeepCopy() *ClusterDeployment

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

func (*ClusterDeployment) DeepCopyInto

func (in *ClusterDeployment) DeepCopyInto(out *ClusterDeployment)

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

func (*ClusterDeployment) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClusterDeployment) GetConditions

func (in *ClusterDeployment) GetConditions() *[]metav1.Condition

func (*ClusterDeployment) HelmValues

func (in *ClusterDeployment) HelmValues() (values map[string]any, err error)

func (*ClusterDeployment) InitConditions

func (in *ClusterDeployment) InitConditions()

type ClusterDeploymentList

type ClusterDeploymentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterDeployment `json:"items"`
}

ClusterDeploymentList contains a list of ClusterDeployment

func (*ClusterDeploymentList) DeepCopy

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

func (*ClusterDeploymentList) DeepCopyInto

func (in *ClusterDeploymentList) DeepCopyInto(out *ClusterDeploymentList)

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

func (*ClusterDeploymentList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterDeploymentSpec

type ClusterDeploymentSpec struct {
	// Config allows to provide parameters for template customization.
	// If no Config provided, the field will be populated with the default values for
	// the template and DryRun will be enabled.
	Config *apiextensionsv1.JSON `json:"config,omitempty"`

	// Template is a reference to a Template object located in the same namespace.
	Template string `json:"template"`
	// Name reference to the related Credentials object.
	Credential string `json:"credential,omitempty"`
	// PropagateCredentials indicates whether credentials should be propagated
	// for use by CCM (Cloud Controller Manager).
	// +kubebuilder:default:=true
	PropagateCredentials bool `json:"propagateCredentials,omitempty"`
	// Services is a list of services created via ServiceTemplates
	// that could be installed on the target cluster.
	Services []ServiceSpec `json:"services,omitempty"`

	// ServicesPriority sets the priority for the services defined in this spec.
	// Higher value means higher priority and lower means lower.
	// In case of conflict with another object managing the service,
	// the one with higher priority will get to deploy its services.
	ServicesPriority int32 `json:"servicesPriority,omitempty"`
	// DryRun specifies whether the template should be applied after validation or only validated.
	DryRun bool `json:"dryRun,omitempty"`

	// StopOnConflict specifies what to do in case of a conflict.
	// E.g. If another object is already managing a service.
	// By default the remaining services will be deployed even if conflict is detected.
	// If set to true, the deployment will stop after encountering the first conflict.
	StopOnConflict bool `json:"stopOnConflict,omitempty"`
}

ClusterDeploymentSpec defines the desired state of ClusterDeployment

func (*ClusterDeploymentSpec) DeepCopy

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

func (*ClusterDeploymentSpec) DeepCopyInto

func (in *ClusterDeploymentSpec) DeepCopyInto(out *ClusterDeploymentSpec)

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

type ClusterDeploymentStatus

type ClusterDeploymentStatus struct {
	// Services contains details for the state of services.
	Services []ServiceStatus `json:"services,omitempty"`
	// Currently compatible exact Kubernetes version of the cluster. Being set only if
	// provided by the corresponding ClusterTemplate.
	KubernetesVersion string `json:"k8sVersion,omitempty"`
	// Conditions contains details for the current state of the ClusterDeployment.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// AvailableUpgrades is the list of ClusterTemplate names to which
	// this cluster can be upgraded. It can be an empty array, which means no upgrades are
	// available.
	AvailableUpgrades []string `json:"availableUpgrades,omitempty"`
	// ObservedGeneration is the last observed generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

ClusterDeploymentStatus defines the observed state of ClusterDeployment

func (*ClusterDeploymentStatus) DeepCopy

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

func (*ClusterDeploymentStatus) DeepCopyInto

func (in *ClusterDeploymentStatus) DeepCopyInto(out *ClusterDeploymentStatus)

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

type ClusterTemplate

type ClusterTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterTemplateSpec   `json:"spec,omitempty"`
	Status ClusterTemplateStatus `json:"status,omitempty"`
}

ClusterTemplate is the Schema for the clustertemplates API

func (*ClusterTemplate) DeepCopy

func (in *ClusterTemplate) DeepCopy() *ClusterTemplate

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

func (*ClusterTemplate) DeepCopyInto

func (in *ClusterTemplate) DeepCopyInto(out *ClusterTemplate)

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

func (*ClusterTemplate) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClusterTemplate) FillStatusWithProviders

func (t *ClusterTemplate) FillStatusWithProviders(annotations map[string]string) error

FillStatusWithProviders sets the status of the template with providers either from the spec or from the given annotations.

func (*ClusterTemplate) GetCommonStatus

func (t *ClusterTemplate) GetCommonStatus() *TemplateStatusCommon

GetCommonStatus returns common status of the Template.

func (*ClusterTemplate) GetHelmSpec

func (t *ClusterTemplate) GetHelmSpec() *HelmSpec

GetHelmSpec returns .spec.helm of the Template.

func (*ClusterTemplate) GetSpecProviders

func (t *ClusterTemplate) GetSpecProviders() Providers

GetSpecProviders returns .spec.providers of the Template.

type ClusterTemplateChain

type ClusterTemplateChain struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec TemplateChainSpec `json:"spec,omitempty"`
}

ClusterTemplateChain is the Schema for the clustertemplatechains API

func (*ClusterTemplateChain) DeepCopy

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

func (*ClusterTemplateChain) DeepCopyInto

func (in *ClusterTemplateChain) DeepCopyInto(out *ClusterTemplateChain)

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

func (*ClusterTemplateChain) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClusterTemplateChain) GetSpec

func (*ClusterTemplateChain) Kind

func (*ClusterTemplateChain) Kind() string

func (*ClusterTemplateChain) TemplateKind

func (*ClusterTemplateChain) TemplateKind() string

type ClusterTemplateChainList

type ClusterTemplateChainList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterTemplateChain `json:"items"`
}

ClusterTemplateChainList contains a list of ClusterTemplateChain

func (*ClusterTemplateChainList) DeepCopy

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

func (*ClusterTemplateChainList) DeepCopyInto

func (in *ClusterTemplateChainList) DeepCopyInto(out *ClusterTemplateChainList)

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

func (*ClusterTemplateChainList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterTemplateList

type ClusterTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterTemplate `json:"items"`
}

ClusterTemplateList contains a list of ClusterTemplate

func (*ClusterTemplateList) DeepCopy

func (in *ClusterTemplateList) DeepCopy() *ClusterTemplateList

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

func (*ClusterTemplateList) DeepCopyInto

func (in *ClusterTemplateList) DeepCopyInto(out *ClusterTemplateList)

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

func (*ClusterTemplateList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterTemplateSpec

type ClusterTemplateSpec struct {
	Helm HelmSpec `json:"helm"`
	// Holds key-value pairs with compatibility [contract versions],
	// where the key is the name of the provider,
	// and the value is the provider contract version
	// required to be supported by the provider.
	//
	// [contract versions]: https://cluster-api.sigs.k8s.io/developer/providers/contracts
	ProviderContracts CompatibilityContracts `json:"providerContracts,omitempty"`
	// Kubernetes exact version in the SemVer format provided by this ClusterTemplate.
	KubernetesVersion string `json:"k8sVersion,omitempty"`
	// Providers represent required CAPI providers.
	// Should be set if not present in the Helm chart metadata.
	Providers Providers `json:"providers,omitempty"`
}

ClusterTemplateSpec defines the desired state of ClusterTemplate

func (*ClusterTemplateSpec) DeepCopy

func (in *ClusterTemplateSpec) DeepCopy() *ClusterTemplateSpec

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

func (*ClusterTemplateSpec) DeepCopyInto

func (in *ClusterTemplateSpec) DeepCopyInto(out *ClusterTemplateSpec)

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

type ClusterTemplateStatus

type ClusterTemplateStatus struct {
	// Holds key-value pairs with compatibility [contract versions],
	// where the key is the name of the provider,
	// and the value is the provider contract version
	// required to be supported by the provider.
	//
	// [contract versions]: https://cluster-api.sigs.k8s.io/developer/providers/contracts
	ProviderContracts CompatibilityContracts `json:"providerContracts,omitempty"`
	// Kubernetes exact version in the SemVer format provided by this ClusterTemplate.
	KubernetesVersion string `json:"k8sVersion,omitempty"`
	// Providers represent required CAPI providers.
	Providers Providers `json:"providers,omitempty"`

	TemplateStatusCommon `json:",inline"`
}

ClusterTemplateStatus defines the observed state of ClusterTemplate

func (*ClusterTemplateStatus) DeepCopy

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

func (*ClusterTemplateStatus) DeepCopyInto

func (in *ClusterTemplateStatus) DeepCopyInto(out *ClusterTemplateStatus)

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

type CompatibilityContracts

type CompatibilityContracts map[string]string

Holds key-value pairs with compatibility contract versions, where the key is the core CAPI contract version, and the value is an underscore-delimited (_) list of provider contract versions supported by the core CAPI.

func (CompatibilityContracts) DeepCopy

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

func (CompatibilityContracts) DeepCopyInto

func (in CompatibilityContracts) DeepCopyInto(out *CompatibilityContracts)

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

type Component

type Component struct {
	// Config allows to provide parameters for management component customization.
	// If no Config provided, the field will be populated with the default
	// values for the template.
	Config *apiextensionsv1.JSON `json:"config,omitempty"`
	// Template is the name of the Template associated with this component.
	// If not specified, will be taken from the Release object.
	Template string `json:"template,omitempty"`
}

Component represents HMC management component

func (*Component) DeepCopy

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInto

func (in *Component) DeepCopyInto(out *Component)

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

func (*Component) HelmValues

func (in *Component) HelmValues() (values map[string]any, err error)

type ComponentStatus

type ComponentStatus struct {
	// Template is the name of the Template associated with this component.
	Template string `json:"template,omitempty"`
	// Error stores as error message in case of failed installation
	Error string `json:"error,omitempty"`
	// Success represents if a component installation was successful
	Success bool `json:"success,omitempty"`
}

ComponentStatus is the status of Management component installation

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type Core

type Core struct {
	// HMC represents the core HMC component and references the HMC template.
	HMC Component `json:"hmc,omitempty"`
	// CAPI represents the core Cluster API component and references the Cluster API template.
	CAPI Component `json:"capi,omitempty"`
}

Core represents a structure describing core Management components.

func (*Core) DeepCopy

func (in *Core) DeepCopy() *Core

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

func (*Core) DeepCopyInto

func (in *Core) DeepCopyInto(out *Core)

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

type CoreProviderTemplate

type CoreProviderTemplate struct {
	// Template references the Template associated with the provider.
	Template string `json:"template"`
}

func (*CoreProviderTemplate) DeepCopy

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

func (*CoreProviderTemplate) DeepCopyInto

func (in *CoreProviderTemplate) DeepCopyInto(out *CoreProviderTemplate)

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

type Credential

type Credential struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CredentialSpec   `json:"spec,omitempty"`
	Status CredentialStatus `json:"status,omitempty"`
}

Credential is the Schema for the credentials API

func (*Credential) DeepCopy

func (in *Credential) DeepCopy() *Credential

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

func (*Credential) DeepCopyInto

func (in *Credential) DeepCopyInto(out *Credential)

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

func (*Credential) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Credential) GetConditions

func (in *Credential) GetConditions() *[]metav1.Condition

type CredentialList

type CredentialList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Credential `json:"items"`
}

CredentialList contains a list of Credential

func (*CredentialList) DeepCopy

func (in *CredentialList) DeepCopy() *CredentialList

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

func (*CredentialList) DeepCopyInto

func (in *CredentialList) DeepCopyInto(out *CredentialList)

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

func (*CredentialList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CredentialSpec

type CredentialSpec struct {
	// Reference to the Credential Identity
	IdentityRef *corev1.ObjectReference `json:"identityRef"`
	// Description of the Credential object
	Description string `json:"description,omitempty"` // WARN: noop
}

CredentialSpec defines the desired state of Credential

func (*CredentialSpec) DeepCopy

func (in *CredentialSpec) DeepCopy() *CredentialSpec

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

func (*CredentialSpec) DeepCopyInto

func (in *CredentialSpec) DeepCopyInto(out *CredentialSpec)

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

type CredentialStatus

type CredentialStatus struct {
	Ready bool `json:"ready"`
	// Conditions contains details for the current state of the Credential.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

CredentialStatus defines the observed state of Credential

func (*CredentialStatus) DeepCopy

func (in *CredentialStatus) DeepCopy() *CredentialStatus

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

func (*CredentialStatus) DeepCopyInto

func (in *CredentialStatus) DeepCopyInto(out *CredentialStatus)

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

type HelmSpec

type HelmSpec struct {
	// ChartSpec defines the desired state of the HelmChart to be created by the controller
	ChartSpec *sourcev1.HelmChartSpec `json:"chartSpec,omitempty"`

	// ChartRef is a reference to a source controller resource containing the
	// Helm chart representing the template.
	ChartRef *helmcontrollerv2.CrossNamespaceSourceReference `json:"chartRef,omitempty"`
}

HelmSpec references a Helm chart representing the HMC template

func (*HelmSpec) DeepCopy

func (in *HelmSpec) DeepCopy() *HelmSpec

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

func (*HelmSpec) DeepCopyInto

func (in *HelmSpec) DeepCopyInto(out *HelmSpec)

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

func (*HelmSpec) String

func (s *HelmSpec) String() string

type Management

type Management struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ManagementSpec   `json:"spec,omitempty"`
	Status ManagementStatus `json:"status,omitempty"`
}

Management is the Schema for the managements API

func (*Management) DeepCopy

func (in *Management) DeepCopy() *Management

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

func (*Management) DeepCopyInto

func (in *Management) DeepCopyInto(out *Management)

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

func (*Management) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Management) Templates

func (in *Management) Templates() []string

Templates returns a list of provider templates explicitly defined in the Management object

type ManagementBackup

type ManagementBackup struct {

	// Schedule is a Cron expression defining when to run the scheduled Backup.
	// Default value is to backup every 6 hours.
	Schedule string `json:"schedule,omitempty"`

	// Flag to indicate whether the backup feature is enabled.
	// If set to true, [Velero] platform will be installed.
	// If set to false, creation or modification of Backups/Restores will be blocked.
	//
	// [Velero]: https://velero.io
	Enabled bool `json:"enabled"`
}

ManagementBackup enables a feature to backup HMC objects into a cloud.

func (*ManagementBackup) DeepCopy

func (in *ManagementBackup) DeepCopy() *ManagementBackup

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

func (*ManagementBackup) DeepCopyInto

func (in *ManagementBackup) DeepCopyInto(out *ManagementBackup)

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

type ManagementList

type ManagementList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Management `json:"items"`
}

ManagementList contains a list of Management

func (*ManagementList) DeepCopy

func (in *ManagementList) DeepCopy() *ManagementList

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

func (*ManagementList) DeepCopyInto

func (in *ManagementList) DeepCopyInto(out *ManagementList)

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

func (*ManagementList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ManagementSpec

type ManagementSpec struct {

	// Release references the Release object.
	Release string `json:"release"`
	// Core holds the core Management components that are mandatory.
	// If not specified, will be populated with the default values.
	Core *Core `json:"core,omitempty"`

	// Providers is the list of supported CAPI providers.
	Providers []Provider `json:"providers,omitempty"`

	Backup ManagementBackup `json:"backup,omitempty"`
}

ManagementSpec defines the desired state of Management

func (*ManagementSpec) DeepCopy

func (in *ManagementSpec) DeepCopy() *ManagementSpec

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

func (*ManagementSpec) DeepCopyInto

func (in *ManagementSpec) DeepCopyInto(out *ManagementSpec)

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

type ManagementStatus

type ManagementStatus struct {
	// For each CAPI provider name holds its compatibility [contract versions]
	// in a key-value pairs, where the key is the core CAPI contract version,
	// and the value is an underscore-delimited (_) list of provider contract versions
	// supported by the core CAPI.
	//
	// [contract versions]: https://cluster-api.sigs.k8s.io/developer/providers/contracts
	CAPIContracts map[string]CompatibilityContracts `json:"capiContracts,omitempty"`
	// Components indicates the status of installed HMC components and CAPI providers.
	Components map[string]ComponentStatus `json:"components,omitempty"`
	// BackupName is a name of the management cluster scheduled backup.
	BackupName string `json:"backupName,omitempty"`
	// Release indicates the current Release object.
	Release string `json:"release,omitempty"`
	// AvailableProviders holds all available CAPI providers.
	AvailableProviders Providers `json:"availableProviders,omitempty"`
	// ObservedGeneration is the last observed generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

ManagementStatus defines the observed state of Management

func (*ManagementStatus) DeepCopy

func (in *ManagementStatus) DeepCopy() *ManagementStatus

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

func (*ManagementStatus) DeepCopyInto

func (in *ManagementStatus) DeepCopyInto(out *ManagementStatus)

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

type MultiClusterService

type MultiClusterService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MultiClusterServiceSpec   `json:"spec,omitempty"`
	Status MultiClusterServiceStatus `json:"status,omitempty"`
}

MultiClusterService is the Schema for the multiclusterservices API

func (*MultiClusterService) DeepCopy

func (in *MultiClusterService) DeepCopy() *MultiClusterService

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

func (*MultiClusterService) DeepCopyInto

func (in *MultiClusterService) DeepCopyInto(out *MultiClusterService)

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

func (*MultiClusterService) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MultiClusterServiceList

type MultiClusterServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MultiClusterService `json:"items"`
}

MultiClusterServiceList contains a list of MultiClusterService

func (*MultiClusterServiceList) DeepCopy

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

func (*MultiClusterServiceList) DeepCopyInto

func (in *MultiClusterServiceList) DeepCopyInto(out *MultiClusterServiceList)

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

func (*MultiClusterServiceList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MultiClusterServiceSpec

type MultiClusterServiceSpec struct {
	// ClusterSelector identifies target clusters to manage services on.
	ClusterSelector metav1.LabelSelector `json:"clusterSelector,omitempty"`
	// Services is a list of services created via ServiceTemplates
	// that could be installed on the target cluster.
	Services []ServiceSpec `json:"services,omitempty"`

	// ServicesPriority sets the priority for the services defined in this spec.
	// Higher value means higher priority and lower means lower.
	// In case of conflict with another object managing the service,
	// the one with higher priority will get to deploy its services.
	ServicesPriority int32 `json:"servicesPriority,omitempty"`

	// StopOnConflict specifies what to do in case of a conflict.
	// E.g. If another object is already managing a service.
	// By default the remaining services will be deployed even if conflict is detected.
	// If set to true, the deployment will stop after encountering the first conflict.
	StopOnConflict bool `json:"stopOnConflict,omitempty"`
}

MultiClusterServiceSpec defines the desired state of MultiClusterService

func (*MultiClusterServiceSpec) DeepCopy

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

func (*MultiClusterServiceSpec) DeepCopyInto

func (in *MultiClusterServiceSpec) DeepCopyInto(out *MultiClusterServiceSpec)

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

type MultiClusterServiceStatus

type MultiClusterServiceStatus struct {
	// Services contains details for the state of services.
	Services []ServiceStatus `json:"services,omitempty"`
	// Conditions contains details for the current state of the MultiClusterService.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration is the last observed generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

MultiClusterServiceStatus defines the observed state of MultiClusterService.

func (*MultiClusterServiceStatus) DeepCopy

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

func (*MultiClusterServiceStatus) DeepCopyInto

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

type NamedProviderTemplate

type NamedProviderTemplate struct {
	CoreProviderTemplate `json:",inline"`
	// Name of the provider.
	Name string `json:"name"`
}

func (*NamedProviderTemplate) DeepCopy

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

func (*NamedProviderTemplate) DeepCopyInto

func (in *NamedProviderTemplate) DeepCopyInto(out *NamedProviderTemplate)

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

type Provider

type Provider struct {
	Component `json:",inline"`
	// Name of the provider.
	Name string `json:"name"`
}

func GetDefaultProviders

func GetDefaultProviders() []Provider

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

type ProviderTemplate

type ProviderTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ProviderTemplateSpec   `json:"spec,omitempty"`
	Status ProviderTemplateStatus `json:"status,omitempty"`
}

ProviderTemplate is the Schema for the providertemplates API

func (*ProviderTemplate) DeepCopy

func (in *ProviderTemplate) DeepCopy() *ProviderTemplate

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

func (*ProviderTemplate) DeepCopyInto

func (in *ProviderTemplate) DeepCopyInto(out *ProviderTemplate)

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

func (*ProviderTemplate) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ProviderTemplate) FillStatusWithProviders

func (t *ProviderTemplate) FillStatusWithProviders(annotations map[string]string) error

FillStatusWithProviders sets the status of the template with providers either from the spec or from the given annotations.

func (*ProviderTemplate) GetCommonStatus

func (t *ProviderTemplate) GetCommonStatus() *TemplateStatusCommon

GetCommonStatus returns common status of the Template.

func (*ProviderTemplate) GetHelmSpec

func (t *ProviderTemplate) GetHelmSpec() *HelmSpec

GetHelmSpec returns .spec.helm of the Template.

type ProviderTemplateList

type ProviderTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ProviderTemplate `json:"items"`
}

ProviderTemplateList contains a list of ProviderTemplate

func (*ProviderTemplateList) DeepCopy

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

func (*ProviderTemplateList) DeepCopyInto

func (in *ProviderTemplateList) DeepCopyInto(out *ProviderTemplateList)

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

func (*ProviderTemplateList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProviderTemplateSpec

type ProviderTemplateSpec struct {
	Helm          HelmSpec               `json:"helm,omitempty"`
	CAPIContracts CompatibilityContracts `json:"capiContracts,omitempty"`
	// Providers represent exposed CAPI providers.
	// Should be set if not present in the Helm chart metadata.
	Providers Providers `json:"providers,omitempty"`
}

ProviderTemplateSpec defines the desired state of ProviderTemplate

func (*ProviderTemplateSpec) DeepCopy

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

func (*ProviderTemplateSpec) DeepCopyInto

func (in *ProviderTemplateSpec) DeepCopyInto(out *ProviderTemplateSpec)

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

type ProviderTemplateStatus

type ProviderTemplateStatus struct {
	CAPIContracts CompatibilityContracts `json:"capiContracts,omitempty"`
	// Providers represent exposed CAPI providers.
	Providers Providers `json:"providers,omitempty"`

	TemplateStatusCommon `json:",inline"`
}

ProviderTemplateStatus defines the observed state of ProviderTemplate

func (*ProviderTemplateStatus) DeepCopy

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

func (*ProviderTemplateStatus) DeepCopyInto

func (in *ProviderTemplateStatus) DeepCopyInto(out *ProviderTemplateStatus)

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

type Providers

type Providers []string

Holds different types of CAPI providers.

func (Providers) DeepCopy

func (in Providers) DeepCopy() Providers

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

func (Providers) DeepCopyInto

func (in Providers) DeepCopyInto(out *Providers)

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

type Release

type Release struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ReleaseSpec   `json:"spec,omitempty"`
	Status ReleaseStatus `json:"status,omitempty"`
}

Release is the Schema for the releases API

func (*Release) DeepCopy

func (in *Release) DeepCopy() *Release

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

func (*Release) DeepCopyInto

func (in *Release) DeepCopyInto(out *Release)

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

func (*Release) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Release) ProviderTemplate

func (in *Release) ProviderTemplate(name string) string

func (*Release) Templates

func (in *Release) Templates() []string

type ReleaseList

type ReleaseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Release `json:"items"`
}

ReleaseList contains a list of Release

func (*ReleaseList) DeepCopy

func (in *ReleaseList) DeepCopy() *ReleaseList

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

func (*ReleaseList) DeepCopyInto

func (in *ReleaseList) DeepCopyInto(out *ReleaseList)

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

func (*ReleaseList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ReleaseSpec

type ReleaseSpec struct {
	// Version of the HMC Release in the semver format.
	Version string `json:"version"`
	// HMC references the HMC template.
	HMC CoreProviderTemplate `json:"hmc"`
	// CAPI references the Cluster API template.
	CAPI CoreProviderTemplate `json:"capi"`
	// Providers contains a list of Providers associated with the Release.
	Providers []NamedProviderTemplate `json:"providers,omitempty"`
}

ReleaseSpec defines the desired state of Release

func (*ReleaseSpec) DeepCopy

func (in *ReleaseSpec) DeepCopy() *ReleaseSpec

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

func (*ReleaseSpec) DeepCopyInto

func (in *ReleaseSpec) DeepCopyInto(out *ReleaseSpec)

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

type ReleaseStatus

type ReleaseStatus struct {
	// Conditions contains details for the current state of the Release
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration is the last observed generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Ready indicates whether HMC is ready to be upgraded to this Release.
	Ready bool `json:"ready,omitempty"`
}

ReleaseStatus defines the observed state of Release

func (*ReleaseStatus) DeepCopy

func (in *ReleaseStatus) DeepCopy() *ReleaseStatus

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

func (*ReleaseStatus) DeepCopyInto

func (in *ReleaseStatus) DeepCopyInto(out *ReleaseStatus)

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

type ServiceSpec

type ServiceSpec struct {
	// Values is the helm values to be passed to the chart used by the template.
	// The string type is used in order to allow for templating.
	Values string `json:"values,omitempty"`

	// Template is a reference to a Template object located in the same namespace.
	Template string `json:"template"`

	// Name is the chart release.
	Name string `json:"name"`
	// Namespace is the namespace the release will be installed in.
	// It will default to Name if not provided.
	Namespace string `json:"namespace,omitempty"`
	// Disable can be set to disable handling of this service.
	Disable bool `json:"disable,omitempty"`
}

ServiceSpec represents a Service to be managed

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type ServiceStatus

type ServiceStatus struct {
	// ClusterName is the name of the associated cluster.
	ClusterName string `json:"clusterName"`
	// ClusterNamespace is the namespace of the associated cluster.
	ClusterNamespace string `json:"clusterNamespace,omitempty"`
	// Conditions contains details for the current state of managed services.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ServiceStatus contains details for the state of services.

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type ServiceTemplate

type ServiceTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ServiceTemplateSpec   `json:"spec,omitempty"`
	Status ServiceTemplateStatus `json:"status,omitempty"`
}

ServiceTemplate is the Schema for the servicetemplates API

func (*ServiceTemplate) DeepCopy

func (in *ServiceTemplate) DeepCopy() *ServiceTemplate

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

func (*ServiceTemplate) DeepCopyInto

func (in *ServiceTemplate) DeepCopyInto(out *ServiceTemplate)

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

func (*ServiceTemplate) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ServiceTemplate) FillStatusWithProviders

func (t *ServiceTemplate) FillStatusWithProviders(annotations map[string]string) error

FillStatusWithProviders sets the status of the template with providers either from the spec or from the given annotations.

func (*ServiceTemplate) GetCommonStatus

func (t *ServiceTemplate) GetCommonStatus() *TemplateStatusCommon

GetCommonStatus returns common status of the Template.

func (*ServiceTemplate) GetHelmSpec

func (t *ServiceTemplate) GetHelmSpec() *HelmSpec

GetHelmSpec returns .spec.helm of the Template.

func (*ServiceTemplate) GetSpecProviders

func (t *ServiceTemplate) GetSpecProviders() Providers

GetSpecProviders returns .spec.providers of the Template.

type ServiceTemplateChain

type ServiceTemplateChain struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec TemplateChainSpec `json:"spec,omitempty"`
}

ServiceTemplateChain is the Schema for the servicetemplatechains API

func (*ServiceTemplateChain) DeepCopy

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

func (*ServiceTemplateChain) DeepCopyInto

func (in *ServiceTemplateChain) DeepCopyInto(out *ServiceTemplateChain)

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

func (*ServiceTemplateChain) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ServiceTemplateChain) GetSpec

func (*ServiceTemplateChain) Kind

func (*ServiceTemplateChain) Kind() string

func (*ServiceTemplateChain) TemplateKind

func (*ServiceTemplateChain) TemplateKind() string

type ServiceTemplateChainList

type ServiceTemplateChainList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ServiceTemplateChain `json:"items"`
}

ServiceTemplateChainList contains a list of ServiceTemplateChain

func (*ServiceTemplateChainList) DeepCopy

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

func (*ServiceTemplateChainList) DeepCopyInto

func (in *ServiceTemplateChainList) DeepCopyInto(out *ServiceTemplateChainList)

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

func (*ServiceTemplateChainList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceTemplateList

type ServiceTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ServiceTemplate `json:"items"`
}

ServiceTemplateList contains a list of ServiceTemplate

func (*ServiceTemplateList) DeepCopy

func (in *ServiceTemplateList) DeepCopy() *ServiceTemplateList

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

func (*ServiceTemplateList) DeepCopyInto

func (in *ServiceTemplateList) DeepCopyInto(out *ServiceTemplateList)

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

func (*ServiceTemplateList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ServiceTemplateSpec

type ServiceTemplateSpec struct {
	Helm HelmSpec `json:"helm"`
	// Constraint describing compatible K8S versions of the cluster set in the SemVer format.
	KubernetesConstraint string `json:"k8sConstraint,omitempty"`
	// Providers represent requested CAPI providers.
	// Should be set if not present in the Helm chart metadata.
	Providers Providers `json:"providers,omitempty"`
}

ServiceTemplateSpec defines the desired state of ServiceTemplate

func (*ServiceTemplateSpec) DeepCopy

func (in *ServiceTemplateSpec) DeepCopy() *ServiceTemplateSpec

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

func (*ServiceTemplateSpec) DeepCopyInto

func (in *ServiceTemplateSpec) DeepCopyInto(out *ServiceTemplateSpec)

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

type ServiceTemplateStatus

type ServiceTemplateStatus struct {
	// Constraint describing compatible K8S versions of the cluster set in the SemVer format.
	KubernetesConstraint string `json:"k8sConstraint,omitempty"`
	// Providers represent requested CAPI providers.
	Providers Providers `json:"providers,omitempty"`

	TemplateStatusCommon `json:",inline"`
}

ServiceTemplateStatus defines the observed state of ServiceTemplate

func (*ServiceTemplateStatus) DeepCopy

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

func (*ServiceTemplateStatus) DeepCopyInto

func (in *ServiceTemplateStatus) DeepCopyInto(out *ServiceTemplateStatus)

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

type SupportedTemplate

type SupportedTemplate struct {
	// Name is the name of the Template.
	Name string `json:"name"`
	// AvailableUpgrades is the list of available upgrades for the specified Template.
	AvailableUpgrades []AvailableUpgrade `json:"availableUpgrades,omitempty"`
}

SupportedTemplate is the supported Template definition and all available upgrade sequences for it

func (*SupportedTemplate) DeepCopy

func (in *SupportedTemplate) DeepCopy() *SupportedTemplate

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

func (*SupportedTemplate) DeepCopyInto

func (in *SupportedTemplate) DeepCopyInto(out *SupportedTemplate)

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

type TargetNamespaces

type TargetNamespaces struct {
	// StringSelector is a label query to select namespaces.
	// Mutually exclusive with Selector and List.
	StringSelector string `json:"stringSelector,omitempty"`
	// Selector is a structured label query to select namespaces.
	// Mutually exclusive with StringSelector and List.
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// List is the list of namespaces to select.
	// Mutually exclusive with StringSelector and Selector.
	List []string `json:"list,omitempty"`
}

TargetNamespaces defines the list of namespaces or the label selector to select namespaces

func (*TargetNamespaces) DeepCopy

func (in *TargetNamespaces) DeepCopy() *TargetNamespaces

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

func (*TargetNamespaces) DeepCopyInto

func (in *TargetNamespaces) DeepCopyInto(out *TargetNamespaces)

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

type TemplateChainSpec

type TemplateChainSpec struct {
	// SupportedTemplates is the list of supported Templates definitions and all available upgrade sequences for it.
	SupportedTemplates []SupportedTemplate `json:"supportedTemplates,omitempty"`
}

TemplateChainSpec defines the observed state of TemplateChain

func (*TemplateChainSpec) DeepCopy

func (in *TemplateChainSpec) DeepCopy() *TemplateChainSpec

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

func (*TemplateChainSpec) DeepCopyInto

func (in *TemplateChainSpec) DeepCopyInto(out *TemplateChainSpec)

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

type TemplateStatusCommon

type TemplateStatusCommon struct {
	// Config demonstrates available parameters for template customization,
	// that can be used when creating ClusterDeployment objects.
	Config *apiextensionsv1.JSON `json:"config,omitempty"`
	// ChartRef is a reference to a source controller resource containing the
	// Helm chart representing the template.
	ChartRef *helmcontrollerv2.CrossNamespaceSourceReference `json:"chartRef,omitempty"`
	// ChartVersion represents the version of the Helm Chart associated with this template.
	ChartVersion string `json:"chartVersion,omitempty"`
	// Description contains information about the template.
	Description string `json:"description,omitempty"`

	TemplateValidationStatus `json:",inline"`

	// ObservedGeneration is the last observed generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

TemplateStatusCommon defines the observed state of Template common for all Template types

func (*TemplateStatusCommon) DeepCopy

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

func (*TemplateStatusCommon) DeepCopyInto

func (in *TemplateStatusCommon) DeepCopyInto(out *TemplateStatusCommon)

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

type TemplateValidationStatus

type TemplateValidationStatus struct {
	// ValidationError provides information regarding issues encountered during template validation.
	ValidationError string `json:"validationError,omitempty"`
	// Valid indicates whether the template passed validation or not.
	Valid bool `json:"valid"`
}

func (*TemplateValidationStatus) DeepCopy

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

func (*TemplateValidationStatus) DeepCopyInto

func (in *TemplateValidationStatus) DeepCopyInto(out *TemplateValidationStatus)

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