v1alpha1

package
v0.1.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2023 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the addons v1alpha1 API group +kubebuilder:object:generate=true +groupName=addons.cluster.x-k8s.io

Index

Constants

View Source
const (
	// HelmReleaseProxySpecsUpToDateCondition indicates that the HelmReleaseProxy specs are up to date with the HelmChartProxy specs,
	// meaning that the HelmReleaseProxies are created/updated, value template parsing succeeded, and the orphaned HelmReleaseProxies are deleted.
	HelmReleaseProxySpecsUpToDateCondition clusterv1.ConditionType = "HelmReleaseProxySpecsUpToDate"

	// HelmReleaseProxyCreationFailedReason indicates that the HelmChartProxy controller failed to create a HelmReleaseProxy.
	HelmReleaseProxyCreationFailedReason = "HelmReleaseProxyCreationFailed"

	// HelmReleaseProxyDeletionFailedReason indicates that the HelmChartProxy controller failed to delete a HelmReleaseProxy.
	HelmReleaseProxyDeletionFailedReason = "HelmReleaseProxyDeletionFailed"

	// HelmReleaseProxyReinstallingReason indicates that the HelmChartProxy controller is reinstalling a HelmReleaseProxy.
	HelmReleaseProxyReinstallingReason = "HelmReleaseProxyReinstalling"

	// ValueParsingFailedReason indicates that the HelmChartProxy controller failed to parse the values.
	ValueParsingFailedReason = "ValueParsingFailed"

	// ClusterSelectionFailedReason indicates that the HelmChartProxy controller failed to select the workload Clusters.
	ClusterSelectionFailedReason = "ClusterSelectionFailed"

	// HelmReleaseProxiesReadyCondition indicates that the HelmReleaseProxies are ready, meaning that the Helm installation, upgrade
	// or deletion is complete.
	HelmReleaseProxiesReadyCondition clusterv1.ConditionType = "HelmReleaseProxiesReady"
)

HelmChartProxy Conditions and Reasons.

View Source
const (
	// HelmReleaseReadyCondition indicates the current status of the underlying Helm release managed by the HelmReleaseProxy.
	HelmReleaseReadyCondition clusterv1.ConditionType = "HelmReleaseReady"

	// PreparingToHelmInstallReason indicates that the HelmReleaseProxy is preparing to install the Helm release.
	PreparingToHelmInstallReason = "PreparingToHelmInstall"

	// HelmInstallOrUpgradeFailedReason indicates that the HelmReleaseProxy failed to install or upgrade the Helm release.
	HelmInstallOrUpgradeFailedReason = "HelmInstallOrUpgradeFailed"

	// HelmReleaseDeletionFailedReason is indicates that the HelmReleaseProxy failed to delete the Helm release.
	HelmReleaseDeletionFailedReason = "HelmReleaseDeletionFailed"

	// HelmReleaseDeletedReason indicates that the HelmReleaseProxy deleted the Helm release.
	HelmReleaseDeletedReason = "HelmReleaseDeleted"

	// HelmReleaseGetFailedReason indicates that the HelmReleaseProxy failed to get the Helm release.
	HelmReleaseGetFailedReason = "HelmReleaseGetFailed"

	// ClusterAvailableCondition indicates that the Cluster to install the Helm release on is available.
	ClusterAvailableCondition clusterv1.ConditionType = "ClusterAvailable"

	// GetClusterFailedReason indicates that the HelmReleaseProxy failed to get the Cluster.
	GetClusterFailedReason = "GetClusterFailed"

	// GetKubeconfigFailedReason indicates that the HelmReleaseProxy failed to get the kubeconfig for the Cluster.
	GetKubeconfigFailedReason = "GetKubeconfigFailed"
)

HelmReleaseProxy Conditions and Reasons.

View Source
const (
	// HelmReleaseProxyFinalizer is the finalizer used by the HelmReleaseProxy controller to cleanup add-on resources when
	// a HelmReleaseProxy is being deleted.
	HelmReleaseProxyFinalizer = "helmreleaseproxy.addons.cluster.x-k8s.io"

	// HelmChartProxyLabelName is the label signifying which HelmChartProxy a HelmReleaseProxy is associated with.
	HelmChartProxyLabelName = "helmreleaseproxy.addons.cluster.x-k8s.io/helmchartproxy-name"

	// IsReleaseNameGeneratedAnnotation is the annotation signifying the Helm release name is auto-generated.
	IsReleaseNameGeneratedAnnotation = "helmreleaseproxy.addons.cluster.x-k8s.io/is-release-name-generated"
)
View Source
const (
	// HelmChartProxyFinalizer is the finalizer used by the HelmChartProxy controller to cleanup add-on resources when
	// a HelmChartProxy is being deleted.
	HelmChartProxyFinalizer = "helmchartproxy.addons.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "addons.cluster.x-k8s.io", 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 HelmChartProxy

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

	Spec   HelmChartProxySpec   `json:"spec,omitempty"`
	Status HelmChartProxyStatus `json:"status,omitempty"`
}

HelmChartProxy is the Schema for the helmchartproxies API

func (*HelmChartProxy) DeepCopy

func (in *HelmChartProxy) DeepCopy() *HelmChartProxy

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

func (*HelmChartProxy) DeepCopyInto

func (in *HelmChartProxy) DeepCopyInto(out *HelmChartProxy)

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

func (*HelmChartProxy) DeepCopyObject

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

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

func (*HelmChartProxy) Default

func (p *HelmChartProxy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*HelmChartProxy) GetConditions

func (c *HelmChartProxy) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an HelmChartProxy API object.

func (*HelmChartProxy) SetConditions

func (c *HelmChartProxy) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an HelmChartProxy object.

func (*HelmChartProxy) SetMatchingClusters

func (c *HelmChartProxy) SetMatchingClusters(clusterList []clusterv1.Cluster)

SetMatchingClusters will set the given list of matching clusters on an HelmChartProxy object.

func (*HelmChartProxy) SetupWebhookWithManager

func (r *HelmChartProxy) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HelmChartProxy) ValidateCreate

func (r *HelmChartProxy) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*HelmChartProxy) ValidateDelete

func (r *HelmChartProxy) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*HelmChartProxy) ValidateUpdate

func (r *HelmChartProxy) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type HelmChartProxyList

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

HelmChartProxyList contains a list of HelmChartProxy

func (*HelmChartProxyList) DeepCopy

func (in *HelmChartProxyList) DeepCopy() *HelmChartProxyList

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

func (*HelmChartProxyList) DeepCopyInto

func (in *HelmChartProxyList) DeepCopyInto(out *HelmChartProxyList)

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

func (*HelmChartProxyList) DeepCopyObject

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

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

type HelmChartProxySpec

type HelmChartProxySpec struct {
	// ClusterSelector selects Clusters in the same namespace with a label that matches the specified label selector. The Helm
	// chart will be installed on all selected Clusters. If a Cluster is no longer selected, the Helm release will be uninstalled.
	ClusterSelector metav1.LabelSelector `json:"clusterSelector"`

	// ChartName is the name of the Helm chart in the repository.
	ChartName string `json:"chartName"`

	// RepoURL is the URL of the Helm chart repository.
	RepoURL string `json:"repoURL"`

	// ReleaseName is the release name of the installed Helm chart. If it is not specified, a name will be generated.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// ReleaseNamespace is the namespace the Helm release will be installed on each selected
	// Cluster. If it is not specified, it will be set to the default namespace.
	// +optional
	ReleaseNamespace string `json:"namespace,omitempty"`

	// Version is the version of the Helm chart. If it is not specified, the chart will use
	// and be kept up to date with the latest version.
	// +optional
	Version string `json:"version,omitempty"`

	// ValuesTemplate is an inline YAML representing the values for the Helm chart. This YAML supports Go templating to reference
	// fields from each selected workload Cluster and programatically create and set values.
	// +optional
	ValuesTemplate string `json:"valuesTemplate,omitempty"`
}

HelmChartProxySpec defines the desired state of HelmChartProxy.

func (*HelmChartProxySpec) DeepCopy

func (in *HelmChartProxySpec) DeepCopy() *HelmChartProxySpec

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

func (*HelmChartProxySpec) DeepCopyInto

func (in *HelmChartProxySpec) DeepCopyInto(out *HelmChartProxySpec)

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

type HelmChartProxyStatus

type HelmChartProxyStatus struct {
	// Conditions defines current state of the HelmChartProxy.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// MatchingClusters is the list of references to Clusters selected by the ClusterSelector.
	// +optional
	MatchingClusters []corev1.ObjectReference `json:"matchingClusters"`
}

HelmChartProxyStatus defines the observed state of HelmChartProxy.

func (*HelmChartProxyStatus) DeepCopy

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

func (*HelmChartProxyStatus) DeepCopyInto

func (in *HelmChartProxyStatus) DeepCopyInto(out *HelmChartProxyStatus)

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

type HelmReleaseProxy

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

	Spec   HelmReleaseProxySpec   `json:"spec,omitempty"`
	Status HelmReleaseProxyStatus `json:"status,omitempty"`
}

HelmReleaseProxy is the Schema for the helmreleaseproxies API

func (*HelmReleaseProxy) DeepCopy

func (in *HelmReleaseProxy) DeepCopy() *HelmReleaseProxy

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

func (*HelmReleaseProxy) DeepCopyInto

func (in *HelmReleaseProxy) DeepCopyInto(out *HelmReleaseProxy)

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

func (*HelmReleaseProxy) DeepCopyObject

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

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

func (*HelmReleaseProxy) Default

func (p *HelmReleaseProxy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*HelmReleaseProxy) GetConditions

func (r *HelmReleaseProxy) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an HelmReleaseProxy API object.

func (*HelmReleaseProxy) SetConditions

func (r *HelmReleaseProxy) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an HelmReleaseProxy object.

func (*HelmReleaseProxy) SetReleaseName

func (r *HelmReleaseProxy) SetReleaseName(name string)

SetReleaseName will set the given name on an HelmReleaseProxy object. This is used if the release name is auto-generated by Helm.

func (*HelmReleaseProxy) SetReleaseRevision

func (r *HelmReleaseProxy) SetReleaseRevision(version int)

SetReleaseRevision will set the given revision on an HelmReleaseProxy object.

func (*HelmReleaseProxy) SetReleaseStatus

func (r *HelmReleaseProxy) SetReleaseStatus(status string)

SetReleaseStatus will set the given status on an HelmReleaseProxy object.

func (*HelmReleaseProxy) SetupWebhookWithManager

func (r *HelmReleaseProxy) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*HelmReleaseProxy) ValidateCreate

func (r *HelmReleaseProxy) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*HelmReleaseProxy) ValidateDelete

func (r *HelmReleaseProxy) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*HelmReleaseProxy) ValidateUpdate

func (r *HelmReleaseProxy) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type HelmReleaseProxyList

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

HelmReleaseProxyList contains a list of HelmReleaseProxy

func (*HelmReleaseProxyList) DeepCopy

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

func (*HelmReleaseProxyList) DeepCopyInto

func (in *HelmReleaseProxyList) DeepCopyInto(out *HelmReleaseProxyList)

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

func (*HelmReleaseProxyList) DeepCopyObject

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

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

type HelmReleaseProxySpec

type HelmReleaseProxySpec struct {
	// ClusterRef is a reference to the Cluster to install the Helm release on.
	ClusterRef corev1.ObjectReference `json:"clusterRef"`

	// ChartName is the name of the Helm chart in the repository.
	ChartName string `json:"chartName"`

	// RepoURL is the URL of the Helm chart repository.
	RepoURL string `json:"repoURL"`

	// ReleaseName is the release name of the installed Helm chart. If it is not specified, a name will be generated.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// ReleaseNamespace is the namespace the Helm release will be installed on the referenced
	// Cluster. If it is not specified, it will be set to the default namespace.
	// +optional
	ReleaseNamespace string `json:"namespace"`

	// Version is the version of the Helm chart. If it is not specified, the chart will use
	// and be kept up to date with the latest version.
	// +optional
	Version string `json:"version,omitempty"`

	// Values is an inline YAML representing the values for the Helm chart. This YAML is the result of the rendered
	// Go templating with the values from the referenced workload Cluster.
	// +optional
	Values string `json:"values,omitempty"`
}

HelmReleaseProxySpec defines the desired state of HelmReleaseProxy.

func (*HelmReleaseProxySpec) DeepCopy

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

func (*HelmReleaseProxySpec) DeepCopyInto

func (in *HelmReleaseProxySpec) DeepCopyInto(out *HelmReleaseProxySpec)

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

type HelmReleaseProxyStatus

type HelmReleaseProxyStatus struct {
	// Conditions defines current state of the HelmReleaseProxy.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// Status is the current status of the Helm release.
	// +optional
	Status string `json:"status,omitempty"`

	// Revision is the current revision of the Helm release.
	// +optional
	Revision int `json:"revision,omitempty"`
}

HelmReleaseProxyStatus defines the observed state of HelmReleaseProxy.

func (*HelmReleaseProxyStatus) DeepCopy

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

func (*HelmReleaseProxyStatus) DeepCopyInto

func (in *HelmReleaseProxyStatus) DeepCopyInto(out *HelmReleaseProxyStatus)

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