v2alpha1

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package v2alpha1 contains API Schema definitions for the helm v2alpha1 API group +kubebuilder:object:generate=true +groupName=helm.toolkit.fluxcd.io

Index

Constants

View Source
const (
	// ReadyCondition represents the fact that the HelmRelease has been successfully reconciled.
	ReadyCondition string = "Ready"

	// InstalledCondition represents the fact that the HelmRelease has been successfully installed.
	InstalledCondition string = "Installed"

	// UpgradedCondition represents the fact that the HelmRelease has been successfully upgraded.
	UpgradedCondition string = "Upgraded"

	// TestedCondition represents the fact that the HelmRelease has been successfully tested.
	TestedCondition string = "Tested"

	// RolledBackCondition represents the fact that the HelmRelease has been successfully rolled back.
	RolledBackCondition string = "RolledBack"

	// UninstalledCondition represents the fact that the HelmRelease has been successfully uninstalled.
	UninstalledCondition string = "Uninstalled"
)
View Source
const (
	// ReconciliationSucceededReason represents the fact that the reconciliation of the release has succeeded.
	ReconciliationSucceededReason string = "ReconciliationSucceeded"

	// ReconciliationFailedReason represents the fact that the reconciliation of the release has failed.
	ReconciliationFailedReason string = "ReconciliationFailed"

	// InstallSucceededReason represents the fact that the Helm install for the release succeeded.
	InstallSucceededReason string = "InstallSucceeded"

	// InstallFailedReason represents the fact that the Helm install for the release failed.
	InstallFailedReason string = "InstallFailed"

	// UpgradeSucceededReason represents the fact that the Helm upgrade for the release succeed.
	UpgradeSucceededReason string = "UpgradeSucceeded"

	// UpgradeFailedReason represents the fact that the Helm upgrade for the release failed.
	UpgradeFailedReason string = "UpgradeFailed"

	// TestFailedReason represents the fact that the Helm test for the release failed.
	TestSucceededReason string = "TestSucceeded"

	// TestFailedReason represents the fact that the Helm test for the release failed.
	TestFailedReason string = "TestFailed"

	// RollbackSucceededReason represents the fact that the Helm rollback for the release succeeded.
	RollbackSucceededReason string = "RollbackSucceeded"

	// RollbackFailedReason represents the fact that the Helm test for the release failed.
	RollbackFailedReason string = "RollbackFailed"

	// UninstallSucceededReason represents the fact that the Helm uninstall for the release succeeded.
	UninstallSucceededReason string = "UninstallSucceeded"

	// UninstallFailedReason represents the fact that the Helm uninstall for the release failed.
	UninstallFailedReason string = "UninstallFailed"

	// ArtifactFailedReason represents the fact that the artifact download for the release failed.
	ArtifactFailedReason string = "ArtifactFailed"

	// InitFailedReason represents the fact that the initialization of the Helm configuration failed.
	InitFailedReason string = "InitFailed"

	// ProgressingReason represents the fact that the reconciliation for the resource is underway.
	ProgressingReason string = "Progressing"

	// DependencyNotReadyReason represents the fact that the one of the dependencies is not ready.
	DependencyNotReadyReason string = "DependencyNotReady"

	// SuspendedReason represents the fact that the reconciliation of the HelmRelease is suspended.
	SuspendedReason string = "Suspended"
)
View Source
const (
	// ReconcileAtAnnotation is the annotation used for triggering a
	// reconciliation outside of the defined schedule.
	ReconcileAtAnnotation string = "fluxcd.io/reconcileAt"

	// SourceIndexKey is the key used for indexing HelmReleases based on
	// their sources.
	SourceIndexKey string = ".metadata.source"
)
View Source
const HelmReleaseFinalizer = "finalizers.fluxcd.io"
View Source
const HelmReleaseKind = "HelmRelease"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "helm.toolkit.fluxcd.io", Version: "v2alpha1"}

	// 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 SetHelmReleaseCondition

func SetHelmReleaseCondition(hr *HelmRelease, condition string, status corev1.ConditionStatus, reason, message string)

SetHelmReleaseCondition sets the given condition with the given status, reason and message on the HelmRelease.

func SetHelmReleaseReadiness

func SetHelmReleaseReadiness(hr *HelmRelease, status corev1.ConditionStatus, reason, message string, revision string, releaseRevision int, valuesChecksum string)

SetHelmReleaseReadiness sets the ReadyCondition, ObservedGeneration, LastAttemptedRevision, and LastReleaseRevision, on the HelmRelease.

func ShouldRollback

func ShouldRollback(hr HelmRelease, releaseRevision int) bool

ShouldRollback determines if a Helm rollback action needs to be performed for the given HelmRelease.

func ShouldTest

func ShouldTest(hr HelmRelease) bool

ShouldTest determines if a Helm test actions needs to be performed for the given HelmRelease.

func ShouldUninstall

func ShouldUninstall(hr HelmRelease, releaseRevision int) bool

ShouldUninstall determines if a Helm uninstall action needs to be performed for the given HelmRelease.

func ShouldUpgrade

func ShouldUpgrade(hr HelmRelease, revision string, releaseRevision int, valuesChecksum string) bool

ShouldUpgrade determines if an Helm upgrade action needs to be performed for the given HelmRelease.

Types

type Condition

type Condition struct {
	// Type of the condition, one of ('Ready', 'Install', 'Upgrade', 'Test', 'Rollback', 'Uninstall').
	// +required
	Type string `json:"type"`

	// Status of the condition, one of ('True', 'False', 'Unknown').
	// +required
	Status corev1.ConditionStatus `json:"status"`

	// LastTransitionTime is the timestamp corresponding to the last status
	// change of this condition.
	// +required
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// Reason is a brief machine readable explanation for the condition's last
	// transition.
	// +required
	Reason string `json:"reason,omitempty"`

	// Message is a human readable description of the details of the last
	// transition, complementing reason.
	// +optional
	Message string `json:"message,omitempty"`
}

Condition contains condition information for a HelmRelease.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type CrossNamespaceObjectReference

type CrossNamespaceObjectReference struct {
	// APIVersion of the referent.
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`

	// Kind of the referent.
	// +kubebuilder:validation:Enum=HelmRepository
	// +required
	Kind string `json:"kind,omitempty"`

	// Name of the referent.
	// +required
	Name string `json:"name"`

	// Namespace of the referent.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

CrossNamespaceObjectReference contains enough information to let you locate the typed referenced object at cluster level.

func (*CrossNamespaceObjectReference) DeepCopy

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

func (*CrossNamespaceObjectReference) DeepCopyInto

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

type HelmChartTemplate

type HelmChartTemplate struct {
	// Name of the Helm chart, as made available by the referenced Helm repository.
	// +required
	Name string `json:"name"`

	// Version semver expression, defaults to latest when omitted.
	// +optional
	Version string `json:"version,omitempty"`

	// The name and namespace of the source HelmRepository the chart is available at.
	// +required
	SourceRef CrossNamespaceObjectReference `json:"sourceRef"`

	// Interval at which to check the Helm repository for chart updates.
	// Defaults to 'HelmReleaseSpec.Interval'.
	// +optional
	Interval *metav1.Duration `json:"interval,omitempty"`
}

HelmChartTemplate defines the template from which the controller will generate a HelmChart object in the same namespace as the HelmRepository.

func (*HelmChartTemplate) DeepCopy

func (in *HelmChartTemplate) DeepCopy() *HelmChartTemplate

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

func (*HelmChartTemplate) DeepCopyInto

func (in *HelmChartTemplate) DeepCopyInto(out *HelmChartTemplate)

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

func (HelmChartTemplate) GetInterval

func (in HelmChartTemplate) GetInterval(defaultInterval metav1.Duration) metav1.Duration

GetInterval returns the configured interval for the HelmChart, or the given default.

func (HelmChartTemplate) GetNamespace

func (in HelmChartTemplate) GetNamespace(defaultNamespace string) string

GetNamespace returns the namespace targeted namespace for the HelmChart, or the given default.

type HelmRelease

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

	Spec   HelmReleaseSpec   `json:"spec,omitempty"`
	Status HelmReleaseStatus `json:"status,omitempty"`
}

HelmRelease is the Schema for the helmreleases API

func DependencySort

func DependencySort(ks []HelmRelease) ([]HelmRelease, error)

DependencySort sorts the slice of HelmReleases based on their listed dependencies using Tarjan's strongly connected components algorithm.

func HelmReleaseNotReady

func HelmReleaseNotReady(hr HelmRelease, revision string, releaseRevision int, valuesChecksum, reason, message string) HelmRelease

HelmReleaseNotReady registers a failed release attempt of the given HelmRelease.

func HelmReleaseProgressing

func HelmReleaseProgressing(hr HelmRelease) HelmRelease

HelmReleaseProgressing resets the conditions of the given HelmRelease to a single ReadyCondition with status ConditionUnknown.

func HelmReleaseReady

func HelmReleaseReady(hr HelmRelease, revision string, releaseRevision int, valuesChecksum, reason, message string) HelmRelease

HelmReleaseReady registers a successful release attempt of the given HelmRelease.

func (*HelmRelease) DeepCopy

func (in *HelmRelease) DeepCopy() *HelmRelease

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

func (*HelmRelease) DeepCopyInto

func (in *HelmRelease) DeepCopyInto(out *HelmRelease)

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

func (*HelmRelease) DeepCopyObject

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

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

func (HelmRelease) GetHelmChartName

func (in HelmRelease) GetHelmChartName() string

GetHelmChartName returns the name used by the controller for the HelmChart creation.

func (HelmRelease) GetMaxHistory

func (in HelmRelease) GetMaxHistory() int

GetMaxHistory returns the configured MaxHistory, or the default of 10.

func (HelmRelease) GetReleaseName

func (in HelmRelease) GetReleaseName() string

GetReleaseName returns the configured release name, or a composition of '[TargetNamespace-]Name'.

func (HelmRelease) GetReleaseNamespace

func (in HelmRelease) GetReleaseNamespace() string

GetReleaseNamespace returns the configured TargetNamespace, or the namespace of the HelmRelease.

func (HelmRelease) GetTimeout

func (in HelmRelease) GetTimeout() metav1.Duration

GetTimeout returns the configured Timeout, or the default of 300s.

func (HelmRelease) GetValues

func (in HelmRelease) GetValues() map[string]interface{}

GetValues unmarshals the raw values to a map[string]interface{} and returns the result.

type HelmReleaseList

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

HelmReleaseList contains a list of HelmRelease

func (*HelmReleaseList) DeepCopy

func (in *HelmReleaseList) DeepCopy() *HelmReleaseList

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

func (*HelmReleaseList) DeepCopyInto

func (in *HelmReleaseList) DeepCopyInto(out *HelmReleaseList)

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

func (*HelmReleaseList) DeepCopyObject

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

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

type HelmReleaseSpec

type HelmReleaseSpec struct {
	// Chart defines the Helm chart name, version and repository.
	// +required
	Chart HelmChartTemplate `json:"chart"`

	// Interval at which to reconcile the Helm release.
	// +required
	Interval metav1.Duration `json:"interval"`

	// Suspend tells the reconciler to suspend reconciliation for this HelmRelease,
	// it does not apply to already started reconciliations. Defaults to false.
	// +optional
	Suspend bool `json:"suspend,omitempty"`

	// ReleaseName used for the Helm release. Defaults to a composition of
	// '[TargetNamespace-]Name'.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// TargetNamespace to target when performing operations for the HelmRelease.
	// Defaults to the namespace of the HelmRelease.
	// +optional
	TargetNamespace string `json:"targetNamespace,omitempty"`

	// DependsOn may contain a list of HelmReleases that must be ready before this
	// HelmRelease can be reconciled.
	// +optional
	DependsOn []string `json:"dependsOn,omitempty"`

	// Timeout is the time to wait for any individual Kubernetes operation (like Jobs
	// for hooks) during the performance of a Helm action. Defaults to '5m0s'.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// MaxHistory is the number of revisions saved by Helm for this release.
	// Use '0' for an unlimited number of revisions; defaults to '10'.
	// +optional
	MaxHistory *int `json:"maxHistory,omitempty"`

	// Install holds the configuration for Helm install actions for this release.
	// +optional
	Install Install `json:"install,omitempty"`

	// Upgrade holds the configuration for Helm upgrade actions for this release.
	// +optional
	Upgrade Upgrade `json:"upgrade,omitempty"`

	// Test holds the configuration for Helm test actions for this release.
	// +optional
	Test Test `json:"test,omitempty"`

	// Rollback holds the configuration for Helm rollback actions for this release.
	// +optional
	Rollback Rollback `json:"rollback,omitempty"`

	// Uninstall holds the configuration for Helm uninstall actions for this release.
	// +optional
	Uninstall Uninstall `json:"uninstall,omitempty"`

	// ValuesFrom holds references to resources containing Helm values, and information
	// about how they should be merged.
	ValuesFrom []ValuesReference `json:"valuesFrom,omitempty"`

	// Values holds the values for this Helm release.
	// +optional
	Values apiextensionsv1.JSON `json:"values,omitempty"`
}

HelmReleaseSpec defines the desired state of HelmRelease.

func (*HelmReleaseSpec) DeepCopy

func (in *HelmReleaseSpec) DeepCopy() *HelmReleaseSpec

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

func (*HelmReleaseSpec) DeepCopyInto

func (in *HelmReleaseSpec) DeepCopyInto(out *HelmReleaseSpec)

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

type HelmReleaseStatus

type HelmReleaseStatus struct {
	// ObservedGeneration is the last reconciled generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions holds the conditions for the HelmRelease.
	// +optional
	Conditions []Condition `json:"conditions,omitempty"`

	// LastAppliedRevision is the revision of the last successfully applied source.
	// +optional
	LastAppliedRevision string `json:"lastAppliedRevision,omitempty"`

	// LastAttemptedRevision is the revision of the last reconciliation attempt.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`

	// LastAttemptedValuesChecksum is the SHA1 checksum of the values of the last reconciliation attempt.
	// +optional
	LastAttemptedValuesChecksum string `json:"lastAttemptedValuesChecksum,omitempty"`

	// LastReleaseRevision is the revision of the last successful Helm release.
	// +optional
	LastReleaseRevision int `json:"lastReleaseRevision,omitempty"`

	// HelmChart is the namespaced name of the HelmChart resource created by
	// the controller for the HelmRelease.
	// +optional
	HelmChart string `json:"helmChart,omitempty"`

	// Failures is the reconciliation failure count. It is reset after a successful
	// reconciliation.
	// +optional
	Failures int64 `json:"failures,omitempty"`
}

HelmReleaseStatus defines the observed state of HelmRelease

func (*HelmReleaseStatus) DeepCopy

func (in *HelmReleaseStatus) DeepCopy() *HelmReleaseStatus

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

func (*HelmReleaseStatus) DeepCopyInto

func (in *HelmReleaseStatus) DeepCopyInto(out *HelmReleaseStatus)

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

func (HelmReleaseStatus) GetHelmChart

func (in HelmReleaseStatus) GetHelmChart() (string, string)

type Install

type Install struct {
	// Timeout is the time to wait for any individual Kubernetes operation (like Jobs
	// for hooks) during the performance of a Helm install action. Defaults to
	// 'HelmReleaseSpec.Timeout'.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// DisableWait disables the waiting for resources to be ready after a
	// Helm install has been performed.
	// +optional
	DisableWait bool `json:"disableWait,omitempty"`

	// DisableHooks prevents hooks from running during the Helm install action.
	// +optional
	DisableHooks bool `json:"disableHooks,omitempty"`

	// DisableOpenAPIValidation prevents the Helm install action from
	// validating rendered templates against the Kubernetes OpenAPI Schema.
	// +optional
	DisableOpenAPIValidation bool `json:"disableOpenAPIValidation,omitempty"`

	// Replace tells the Helm install action to re-use the 'ReleaseName', but
	// only if that name is a deleted release which remains in the history.
	// +optional
	Replace bool `json:"replace,omitempty"`

	// SkipCRDs tells the Helm install action to not install any CRDs. By default,
	// CRDs are installed if not already present.
	// +optional
	SkipCRDs bool `json:"skipCRDs,omitempty"`
}

Install holds the configuration for Helm install actions.

func (*Install) DeepCopy

func (in *Install) DeepCopy() *Install

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

func (*Install) DeepCopyInto

func (in *Install) DeepCopyInto(out *Install)

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

func (Install) GetTimeout

func (in Install) GetTimeout(defaultTimeout metav1.Duration) metav1.Duration

GetTimeout returns the configured timeout for the Helm install action, or the given default.

type Rollback

type Rollback struct {
	// Enable enables Helm rollback actions for this release after an
	// Helm install or upgrade action failure.
	// +optional
	Enable bool `json:"enable,omitempty"`

	// Timeout is the time to wait for any individual Kubernetes operation (like Jobs
	// for hooks) during the performance of a Helm rollback action. Defaults to
	// 'HelmReleaseSpec.Timeout'.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// DisableWait disables the waiting for resources to be ready after a
	// Helm rollback has been performed.
	// +optional
	DisableWait bool `json:"disableWait,omitempty"`

	// DisableHooks prevents hooks from running during the Helm rollback action.
	// +optional
	DisableHooks bool `json:"disableHooks,omitempty"`

	// Recreate performs pod restarts for the resource if applicable.
	// +optional
	Recreate bool `json:"recreate,omitempty"`

	// Force forces resource updates through a replacement strategy.
	// +optional
	Force bool `json:"force,omitempty"`

	// CleanupOnFail allows deletion of new resources created during the Helm
	// rollback action when it fails.
	// +optional
	CleanupOnFail bool `json:"cleanupOnFail,omitempty"`
}

Rollback holds the configuration for Helm rollback actions.

func (*Rollback) DeepCopy

func (in *Rollback) DeepCopy() *Rollback

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

func (*Rollback) DeepCopyInto

func (in *Rollback) DeepCopyInto(out *Rollback)

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

func (Rollback) GetTimeout

func (in Rollback) GetTimeout(defaultTimeout metav1.Duration) metav1.Duration

GetTimeout returns the configured timeout for the Helm rollback action, or the given default.

type Test

type Test struct {
	// Enable enables Helm test actions for this release after an
	// Helm install or upgrade action has been performed.
	// +optional
	Enable bool `json:"enable,omitempty"`

	// Timeout is the time to wait for any individual Kubernetes operation
	// during the performance of a Helm test action. Defaults to
	// 'HelmReleaseSpec.Timeout'.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

Test holds the configuration for Helm test actions.

func (*Test) DeepCopy

func (in *Test) DeepCopy() *Test

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

func (*Test) DeepCopyInto

func (in *Test) DeepCopyInto(out *Test)

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

func (Test) GetTimeout

func (in Test) GetTimeout(defaultTimeout metav1.Duration) metav1.Duration

GetTimeout returns the configured timeout for the Helm test action, or the given default.

type Uninstall

type Uninstall struct {
	// Timeout is the time to wait for any individual Kubernetes operation (like Jobs
	// for hooks) during the performance of a Helm uninstall action. Defaults to
	// 'HelmReleaseSpec.Timeout'.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// DisableHooks prevents hooks from running during the Helm rollback action.
	// +optional
	DisableHooks bool `json:"disableHooks,omitempty"`

	// KeepHistory tells Helm to remove all associated resources and mark the release as
	// deleted, but retain the release history.
	// +optional
	KeepHistory bool `json:"keepHistory,omitempty"`
}

Uninstall holds the configuration for Helm uninstall actions.

func (*Uninstall) DeepCopy

func (in *Uninstall) DeepCopy() *Uninstall

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

func (*Uninstall) DeepCopyInto

func (in *Uninstall) DeepCopyInto(out *Uninstall)

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

func (Uninstall) GetTimeout

func (in Uninstall) GetTimeout(defaultTimeout metav1.Duration) metav1.Duration

GetTimeout returns the configured timeout for the Helm uninstall action, or the given default.

type Unsortable

type Unsortable [][]string

+kubebuilder:object:generate=false

func (Unsortable) Error

func (e Unsortable) Error() string

type Upgrade

type Upgrade struct {
	// Timeout is the time to wait for any individual Kubernetes operation (like Jobs
	// for hooks) during the performance of a Helm upgrade action. Defaults to
	// 'HelmReleaseSpec.Timeout'.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// MaxRetries is the number of retries that should be attempted on failures before
	// bailing. Defaults to '0', a negative integer equals to unlimited retries.
	// +optional
	MaxRetries int `json:"maxRetries,omitempty"`

	// DisableWait disables the waiting for resources to be ready after a
	// Helm upgrade has been performed.
	// +optional
	DisableWait bool `json:"disableWait,omitempty"`

	// DisableHooks prevents hooks from running during the Helm upgrade action.
	// +optional
	DisableHooks bool `json:"disableHooks,omitempty"`

	// DisableOpenAPIValidation prevents the Helm upgrade action from
	// validating rendered templates against the Kubernetes OpenAPI Schema.
	// +optional
	DisableOpenAPIValidation bool `json:"disableOpenAPIValidation,omitempty"`

	// Force forces resource updates through a replacement strategy.
	// +optional
	Force bool `json:"force,omitempty"`

	// PreserveValues will make Helm reuse the last release's values and merge
	// in overrides from 'Values'. Setting this flag makes the HelmRelease
	// non-declarative.
	// +optional
	PreserveValues bool `json:"preserveValues,omitempty"`

	// CleanupOnFail allows deletion of new resources created during the Helm
	// upgrade action when it fails.
	// +optional
	CleanupOnFail bool `json:"cleanupOnFail,omitempty"`
}

Upgrade holds the configuration for Helm upgrade actions.

func (*Upgrade) DeepCopy

func (in *Upgrade) DeepCopy() *Upgrade

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

func (*Upgrade) DeepCopyInto

func (in *Upgrade) DeepCopyInto(out *Upgrade)

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

func (Upgrade) GetTimeout

func (in Upgrade) GetTimeout(defaultTimeout metav1.Duration) metav1.Duration

GetTimeout returns the configured timeout for the Helm upgrade action, or the given default.

type ValuesReference

type ValuesReference struct {
	// Kind of the values referent, valid values are ('Secret', 'ConfigMap').
	// +kubebuilder:validation:Enum=Secret;ConfigMap
	// +required
	Kind string `json:"kind"`

	// Name of the values referent. Should reside in the same namespace as the
	// referring resource.
	// +required
	Name string `json:"name"`

	// ValuesKey is the data key where the values.yaml or a specific value can
	// be found at. Defaults to 'values.yaml'.
	// +optional
	ValuesKey string `json:"valuesKey,omitempty"`

	// TargetPath is the YAML dot notation path the value should be merged at.
	// When set, the ValuesKey is expected to be a single flat value.
	// Defaults to 'None', which results in the values getting merged at the root.
	// +optional
	TargetPath string `json:"targetPath,omitempty"`
}

ValuesReference contains a reference to a resource containing Helm values, and optionally the key they can be found at.

func (*ValuesReference) DeepCopy

func (in *ValuesReference) DeepCopy() *ValuesReference

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

func (*ValuesReference) DeepCopyInto

func (in *ValuesReference) DeepCopyInto(out *ValuesReference)

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

func (ValuesReference) GetValuesKey

func (in ValuesReference) GetValuesKey() string

GetValuesKey returns the defined ValuesKey or the default ('values.yaml').

Jump to

Keyboard shortcuts

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