v1

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2021 License: Apache-2.0 Imports: 11 Imported by: 14

Documentation

Overview

+k8s:deepcopy-gen=package,register +groupName=helm.fluxcd.io Package v1 is the v1 version of the API. The prior version was flux.weave.works/v1beta1.

Index

Constants

View Source
const AntecedentAnnotation = "helm.fluxcd.io/antecedent"

AntecedentAnnotation is an annotation on a resource indicating that the cause of that resource is a HelmRelease. We use this rather than the `OwnerReference` type built into Kubernetes as this does not allow cross-namespace references by design. The value is expected to be a serialised `resource.ID`.

View Source
const Version = "v1"

Variables

View Source
var (
	// SchemeBuilder will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// AddToScheme will stay in k8s.io/kubernetes.
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: helm.GroupName, Version: Version}

SchemeGroupVersion is group version used to register these objects

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ChartFileSelector

type ChartFileSelector struct {
	// Path is the file path to the source relative to the chart root.
	Path string `json:"path"`
	// Optional will mark this ChartFileSelector as optional.
	// The result of this are that operations are permitted without
	// the source, due to it e.g. being temporarily unavailable.
	// +optional
	Optional *bool `json:"optional,omitempty"`
}

func (*ChartFileSelector) DeepCopy

func (in *ChartFileSelector) DeepCopy() *ChartFileSelector

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

func (*ChartFileSelector) DeepCopyInto

func (in *ChartFileSelector) DeepCopyInto(out *ChartFileSelector)

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

type ChartSource

type ChartSource struct {
	// +optional
	*GitChartSource `json:",inline"`
	// +optional
	*RepoChartSource `json:",inline"`
}

func (*ChartSource) DeepCopy

func (in *ChartSource) DeepCopy() *ChartSource

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

func (*ChartSource) DeepCopyInto

func (in *ChartSource) DeepCopyInto(out *ChartSource)

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

type ConditionStatus

type ConditionStatus string

+kubebuilder:validation:Enum="True";"False";"Unknown"

const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition, "ConditionFalse" means a resource is not in the condition, "ConditionUnknown" means the operator can't decide if a resource is in the condition or not.

type ConfigMapKeySelector

type ConfigMapKeySelector struct {
	LocalObjectReference `json:",inline"`
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// +optional
	Key string `json:"key,omitempty"`
}

func (*ConfigMapKeySelector) DeepCopy

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

func (*ConfigMapKeySelector) DeepCopyInto

func (in *ConfigMapKeySelector) DeepCopyInto(out *ConfigMapKeySelector)

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

type ExternalSourceSelector

type ExternalSourceSelector struct {
	// URL is the URL of the external source.
	URL string `json:"url"`
	// Optional will mark this ExternalSourceSelector as optional.
	// The result of this are that operations are permitted without
	// the source, due to it e.g. being temporarily unavailable.
	// +optional
	Optional *bool `json:"optional,omitempty"`
}

func (*ExternalSourceSelector) DeepCopy

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

func (*ExternalSourceSelector) DeepCopyInto

func (in *ExternalSourceSelector) DeepCopyInto(out *ExternalSourceSelector)

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

type GitChartSource

type GitChartSource struct {
	// Git URL is the URL of the Git repository, e.g.
	// `git@github.com:org/repo`, `http://github.com/org/repo`,
	// or `ssh://git@example.com:2222/org/repo.git`.
	// +kubebuilder:validation:Optional
	GitURL string `json:"git"`
	// Ref is the Git branch (or other reference) to use. Defaults to
	// 'master', or the configured default Git ref.
	// +kubebuilder:validation:Optional
	Ref string `json:"ref"`
	// Path is the path to the chart relative to the repository root.
	// +kubebuilder:validation:Optional
	Path string `json:"path"`
	// SecretRef holds the authentication secret for accessing the Git
	// repository (over HTTPS). The credentials will be added to an
	// HTTPS GitURL before the mirror is started.
	// +optional
	SecretRef *ObjectReference `json:"secretRef,omitempty"`
	// SkipDepUpdate will tell the operator to skip running
	// 'helm dep update' before installing or upgrading the chart, the
	// chart dependencies _must_ be present for this to succeed.
	// +optional
	SkipDepUpdate bool `json:"skipDepUpdate,omitempty"`
}

GitChartSource describes a Helm chart sourced from Git.

func (*GitChartSource) DeepCopy

func (in *GitChartSource) DeepCopy() *GitChartSource

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

func (*GitChartSource) DeepCopyInto

func (in *GitChartSource) DeepCopyInto(out *GitChartSource)

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

func (GitChartSource) RefOrDefault

func (s GitChartSource) RefOrDefault(defaultGitRef string) string

RefOrDefault returns the configured ref of the chart source. If the chart source does not specify a ref, the provided default is used instead.

type HelmRelease

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

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

HelmRelease is a type to represent a Helm release. +k8s:openapi-gen=true +kubebuilder:printcolumn:name="Release",type="string",JSONPath=".status.releaseName",description="Release is the name of the Helm release, as given by Helm." +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Phase is the current release phase being performed for the HelmRelease." +kubebuilder:printcolumn:name="ReleaseStatus",type="string",JSONPath=".status.releaseStatus",description="ReleaseStatus is the status of the Helm release, as given by Helm." +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type==\"Released\")].message",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC." +kubebuilder:subresource:status +kubebuilder:resource:path=helmreleases,shortName=hr;hrs

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) GetDefaultedNamespace

func (hr HelmRelease) GetDefaultedNamespace() string

GetDefaultedNamespace returns the HelmRelease's namespace defaulting to the "default" if not set.

func (HelmRelease) GetHelmVersion

func (hr HelmRelease) GetHelmVersion(defaultVersion string) string

func (HelmRelease) GetMaxHistory

func (hr HelmRelease) GetMaxHistory() int

GetMaxHistory returns the maximum number of release revisions to keep (defaults to 10)

func (HelmRelease) GetReleaseName

func (hr HelmRelease) GetReleaseName() string

GetReleaseName returns the configured release name, or constructs and returns one based on the namespace and name of the HelmRelease. When the HelmRelease's metadata.namespace and spec.targetNamespace differ, both are used in the generated name. This name is used for naming and operating on the release in Helm.

func (HelmRelease) GetReuseValues

func (hr HelmRelease) GetReuseValues() bool

GetReuseValues returns if the values of the previous release should be reused based on the value of `ResetValues`. When this value is not explicitly set, it is assumed values should not be reused, as this aligns with the declarative behaviour of the operator.

func (HelmRelease) GetTargetNamespace

func (hr HelmRelease) GetTargetNamespace() string

GetTargetNamespace returns the configured release targetNamespace defaulting to the namespace of the HelmRelease if not set.

func (HelmRelease) GetTimeout

func (hr HelmRelease) GetTimeout() time.Duration

GetTimeout returns the install or upgrade timeout (defaults to 300s)

func (HelmRelease) GetValues added in v1.4.0

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

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

func (HelmRelease) GetValuesFromSources

func (hr HelmRelease) GetValuesFromSources() []ValuesFromSource

GetValuesFromSources maintains backwards compatibility with ValueFileSecrets by merging them into the ValuesFrom array.

func (HelmRelease) GetWait added in v1.2.0

func (hr HelmRelease) GetWait() bool

GetWait returns if wait should be enabled. If not explicitly set it is true if either rollbacks or tests are enabled, and false otherwise.

func (HelmRelease) ResourceID

func (hr HelmRelease) ResourceID() resource.ID

ResourceID returns an ID made from the identifying parts of the resource, as a convenience for Flux, which uses them everywhere.

type HelmReleaseCondition

type HelmReleaseCondition struct {
	// Type of the condition, one of ('ChartFetched', 'Deployed', 'Released', 'RolledBack', 'Tested').
	Type HelmReleaseConditionType `json:"type"`

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

	// LastUpdateTime is the timestamp corresponding to the last status
	// update of this condition.
	// +optional
	LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`

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

	// Reason is a brief machine readable explanation for the condition's last
	// transition.
	// +optional
	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"`
}

func (*HelmReleaseCondition) DeepCopy

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

func (*HelmReleaseCondition) DeepCopyInto

func (in *HelmReleaseCondition) DeepCopyInto(out *HelmReleaseCondition)

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

type HelmReleaseConditionType

type HelmReleaseConditionType string

HelmReleaseConditionType represents an HelmRelease condition value. Valid HelmReleaseConditionType values are: "ChartFetched", "Deployed", "Released", "RolledBack" "Tested", +kubebuilder:validation:Enum="ChartFetched";"Deployed";"Released";"RolledBack";"Tested" +optional

const (
	// ChartFetched means the chart to which the HelmRelease refers
	// has been fetched successfully.
	HelmReleaseChartFetched HelmReleaseConditionType = "ChartFetched"
	// Deployed means the chart to which the HelmRelease refers has
	// been successfully installed or upgraded.
	HelmReleaseDeployed HelmReleaseConditionType = "Deployed"
	// Released means the chart release, as specified in this
	// HelmRelease, has been processed by Helm.
	HelmReleaseReleased HelmReleaseConditionType = "Released"
	// RolledBack means the chart to which the HelmRelease refers
	// has been rolled back.
	HelmReleaseRolledBack HelmReleaseConditionType = "RolledBack"
	// Tested means the chart to which the HelmRelease refers has
	// been successfully tested.
	HelmReleaseTested HelmReleaseConditionType = "Tested"
)

type HelmReleaseList

type HelmReleaseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []HelmRelease `json:"items"`
}

HelmReleaseList is a list of HelmReleases

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 HelmReleasePhase

type HelmReleasePhase string

HelmReleasePhase represents the phase a HelmRelease is in. Valid HelmReleasePhase values are: "ChartFetched", "ChartFetchFailed", "Installing", "Upgrading", "Deployed", "DeployFailed", "Testing", "TestFailed", "Tested", "Succeeded", "Failed", "RollingBack", "RolledBack", "RollbackFailed", +kubebuilder:validation:Enum="ChartFetched";"ChartFetchFailed";"Installing";"Upgrading";"Deployed";"DeployFailed";"Testing";"TestFailed";"Tested";"Succeeded";"Failed";"RollingBack";"RolledBack";"RollbackFailed" +optional

const (
	// ChartFetched means the chart to which the HelmRelease refers
	// has been fetched successfully
	HelmReleasePhaseChartFetched HelmReleasePhase = "ChartFetched"
	// ChartFetchedFailed means the chart to which the HelmRelease
	// refers could not be fetched.
	HelmReleasePhaseChartFetchFailed HelmReleasePhase = "ChartFetchFailed"

	// Installing means the installation for the HelmRelease is running.
	HelmReleasePhaseInstalling HelmReleasePhase = "Installing"
	// Migrating means the HelmRelease is converting from one version to another
	HelmReleasePhaseMigrating HelmReleasePhase = "Migrating"
	// Upgrading means the upgrade for the HelmRelease is running.
	HelmReleasePhaseUpgrading HelmReleasePhase = "Upgrading"
	// Deployed means the dry-run, installation, or upgrade for the
	// HelmRelease succeeded.
	HelmReleasePhaseDeployed HelmReleasePhase = "Deployed"
	// DeployFailed means the dry-run, installation, or upgrade for the
	// HelmRelease failed.
	HelmReleasePhaseDeployFailed HelmReleasePhase = "DeployFailed"

	// Testing means a test for the HelmRelease is running.
	HelmReleasePhaseTesting HelmReleasePhase = "Testing"
	// TestFailed means the test for the HelmRelease failed.
	HelmReleasePhaseTestFailed HelmReleasePhase = "TestFailed"
	// Tested means the test for the HelmRelease succeeded.
	HelmReleasePhaseTested HelmReleasePhase = "Tested"

	// Succeeded means the chart release, as specified in this
	// HelmRelease, has been processed by Helm.
	HelmReleasePhaseSucceeded HelmReleasePhase = "Succeeded"
	// Failed means the installation or upgrade for the HelmRelease
	// failed.
	HelmReleasePhaseFailed HelmReleasePhase = "Failed"

	// RollingBack means a rollback for the HelmRelease is running.
	HelmReleasePhaseRollingBack HelmReleasePhase = "RollingBack"
	// RolledBack means the HelmRelease has been rolled back.
	HelmReleasePhaseRolledBack HelmReleasePhase = "RolledBack"
	// RolledBackFailed means the rollback for the HelmRelease failed.
	HelmReleasePhaseRollbackFailed HelmReleasePhase = "RollbackFailed"
)

type HelmReleaseSpec

type HelmReleaseSpec struct {
	HelmVersion `json:"helmVersion,omitempty"`
	// +kubebuilder:validation:Required
	ChartSource `json:"chart"`
	// ReleaseName is the name of the The Helm release. If not supplied,
	// it will be generated by affixing the namespace to the resource
	// name.
	ReleaseName string `json:"releaseName,omitempty"`
	// MaxHistory is the maximum amount of revisions to keep for the
	// Helm release. If not supplied, it defaults to 10.
	MaxHistory *int `json:"maxHistory,omitempty"`
	// ValueFileSecrets holds the local name references to secrets.
	// DEPRECATED, use ValuesFrom.secretKeyRef instead.
	ValueFileSecrets []LocalObjectReference `json:"valueFileSecrets,omitempty"`
	ValuesFrom       []ValuesFromSource     `json:"valuesFrom,omitempty"`
	// TargetNamespace overrides the targeted namespace for the Helm
	// release. The default namespace equals to the namespace of the
	// HelmRelease resource.
	// +optional
	TargetNamespace string `json:"targetNamespace,omitempty"`
	// Timeout is the time to wait for any individual Kubernetes
	// operation (like Jobs for hooks) during installation and
	// upgrade operations.
	// +optional
	Timeout *int64 `json:"timeout,omitempty"`
	// ResetValues will mark this Helm release to reset the values
	// to the defaults of the targeted chart before performing
	// an upgrade. Not explicitly setting this to `false` equals
	// to `true` due to the declarative nature of the operator.
	// +optional
	ResetValues *bool `json:"resetValues,omitempty"`
	// SkipCRDs will mark this Helm release to skip the creation
	// of CRDs during a Helm 3 installation.
	// +optional
	SkipCRDs bool `json:"skipCRDs,omitempty"`
	// Wait will mark this Helm release to wait until all Pods,
	// PVCs, Services, and minimum number of Pods of a Deployment,
	// StatefulSet, or ReplicaSet are in a ready state before marking
	// the release as successful.
	// +optional
	Wait *bool `json:"wait,omitempty"`
	// Force will mark this Helm release to `--force` upgrades. This
	// forces the resource updates through delete/recreate if needed.
	// +optional
	ForceUpgrade bool `json:"forceUpgrade,omitempty"`
	// The rollback settings for this Helm release.
	// +optional
	Rollback Rollback `json:"rollback,omitempty"`
	// The test settings for this Helm release.
	// +optional
	Test Test `json:"test,omitempty"`
	// Values holds the values for this Helm release.
	// +optional
	Values *apiextensionsv1.JSON `json:"values,omitempty"`
	// DisableOpenAPIValidation controls whether OpenAPI validation is enforced.
	// +optional
	DisableOpenAPIValidation bool `json:"disableOpenAPIValidation,omitempty"`
}

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 most recent generation observed by
	// the operator.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Phase the release is in, one of ('ChartFetched',
	// 'ChartFetchFailed', 'Installing', 'Upgrading', 'Deployed',
	// 'DeployFailed', 'Testing', 'TestFailed', 'Tested', 'Succeeded',
	// 'RollingBack', 'RolledBack', 'RollbackFailed')
	// +optional
	Phase HelmReleasePhase `json:"phase,omitempty"`

	// ReleaseName is the name as either supplied or generated.
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// ReleaseStatus is the status as given by Helm for the release
	// managed by this resource.
	// +optional
	ReleaseStatus string `json:"releaseStatus,omitempty"`

	// Revision holds the Git hash or version of the chart currently
	// deployed.
	// +optional
	Revision string `json:"revision,omitempty"`

	// LastAttemptedRevision is the revision of the latest chart
	// sync, and may be of a failed release.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`

	// RollbackCount records the amount of rollback attempts made,
	// it is incremented after a rollback failure and reset after a
	// successful upgrade or revision change.
	// +optional
	RollbackCount int64 `json:"rollbackCount,omitempty"`

	// Conditions contains observations of the resource's state, e.g.,
	// has the chart which it refers to been fetched.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []HelmReleaseCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

HelmReleaseStatus contains status information about an 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.

type HelmVersion

type HelmVersion string

HelmVersion is the version of Helm to target. If not supplied, the lowest _enabled Helm version_ will be targeted. Valid HelmVersion values are: "v2", "v3" +kubebuilder:validation:Enum="v2";"v3" +optional

const (
	HelmV2 HelmVersion = "v2"
	HelmV3 HelmVersion = "v3"
)

type LocalObjectReference

type LocalObjectReference struct {
	Name string `json:"name"`
}

func (*LocalObjectReference) DeepCopy

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

func (*LocalObjectReference) DeepCopyInto

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

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

type ObjectReference added in v1.1.0

type ObjectReference struct {
	LocalObjectReference `json:",inline"`
	Namespace            string `json:"namespace,omitempty"`
}

func (*ObjectReference) DeepCopy added in v1.1.0

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto added in v1.1.0

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

type OptionalConfigMapKeySelector

type OptionalConfigMapKeySelector struct {
	ConfigMapKeySelector `json:",inline"`
	// +optional
	Optional bool `json:"optional,omitempty"`
}

func (*OptionalConfigMapKeySelector) DeepCopy

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

func (*OptionalConfigMapKeySelector) DeepCopyInto

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

type OptionalSecretKeySelector

type OptionalSecretKeySelector struct {
	SecretKeySelector `json:",inline"`
	// +optional
	Optional bool `json:"optional,omitempty"`
}

func (*OptionalSecretKeySelector) DeepCopy

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

func (*OptionalSecretKeySelector) DeepCopyInto

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

type RepoChartSource

type RepoChartSource struct {
	// RepoURL is the URL of the Helm repository, e.g.
	// `https://kubernetes-charts.storage.googleapis.com` or
	// `https://charts.example.com`.
	// +kubebuilder:validation:Optional
	RepoURL string `json:"repository"`
	// Name is the name of the Helm chart _without_ an alias, e.g.
	// redis (for `helm upgrade [flags] stable/redis`).
	// +kubebuilder:validation:Optional
	Name string `json:"name"`
	// Version is the targeted Helm chart version, e.g. 7.0.1.
	// +kubebuilder:validation:Optional
	Version string `json:"version"`
	// ChartPullSecret holds the reference to the authentication secret for accessing
	// the Helm repository using HTTPS basic auth.
	// NOT IMPLEMENTED!
	// +kubebuilder:validation:Optional
	// +optional
	ChartPullSecret *LocalObjectReference `json:"chartPullSecret,omitempty"`
}

RepoChartSources describes a Helm chart sourced from a Helm repository.

func (RepoChartSource) CleanRepoURL

func (s RepoChartSource) CleanRepoURL() string

CleanRepoURL returns the RepoURL but removes the query string and ensures it ends with a trailing slash.

func (*RepoChartSource) DeepCopy

func (in *RepoChartSource) DeepCopy() *RepoChartSource

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

func (*RepoChartSource) DeepCopyInto

func (in *RepoChartSource) DeepCopyInto(out *RepoChartSource)

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

type Rollback

type Rollback struct {
	// Enable will mark this Helm release for rollbacks.
	// +optional
	Enable bool `json:"enable,omitempty"`
	// Retry will mark this Helm release for upgrade retries after a
	// rollback.
	// +optional
	Retry bool `json:"retry,omitempty"`
	// MaxRetries is the maximum amount of upgrade retries the operator
	// should make before bailing.
	// +optional
	MaxRetries *int64 `json:"maxRetries,omitempty"`
	// Force will mark this Helm release to `--force` rollbacks. This
	// forces the resource updates through delete/recreate if needed.
	// +optional
	Force bool `json:"force,omitempty"`
	// Recreate will mark this Helm release to `--recreate-pods` for
	// if applicable. This performs pod restarts.
	// +optional
	Recreate bool `json:"recreate,omitempty"`
	// DisableHooks will mark this Helm release to prevent hooks from
	// running during the rollback.
	// +optional
	DisableHooks bool `json:"disableHooks,omitempty"`
	// Timeout is the time to wait for any individual Kubernetes
	// operation (like Jobs for hooks) during rollback.
	// +optional
	Timeout *int64 `json:"timeout,omitempty"`
	// Wait will mark this Helm release to wait until all Pods,
	// PVCs, Services, and minimum number of Pods of a Deployment,
	// StatefulSet, or ReplicaSet are in a ready state before marking
	// the release as successful.
	// +optional
	Wait bool `json:"wait,omitempty"`
}

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) GetMaxRetries

func (r Rollback) GetMaxRetries() int64

GetMaxRetries returns the configured max retries for the Helm release, or the default of 5.

func (Rollback) GetTimeout

func (r Rollback) GetTimeout() time.Duration

GetTimeout returns the configured timout for the Helm release, or the default of 300s.

type SecretKeySelector

type SecretKeySelector struct {
	LocalObjectReference `json:",inline"`
	// +optional
	Namespace string `json:"namespace,omitempty"`
	// +optional
	Key string `json:"key,omitempty"`
}

func (*SecretKeySelector) DeepCopy

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

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

func (*SecretKeySelector) DeepCopyInto

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

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

type Test added in v1.2.0

type Test struct {
	// Enable will mark this Helm release for tests.
	// +optional
	Enable bool `json:"enable,omitempty"`
	// IgnoreFailures will cause a Helm release to be rolled back
	// if it fails otherwise it will be left in a released state
	// +optional
	IgnoreFailures *bool `json:"ignoreFailures,omitempty"`
	// Timeout is the time to wait for any individual Kubernetes
	// operation (like Jobs for hooks) during test.
	// +optional
	Timeout *int64 `json:"timeout,omitempty"`
	// Cleanup, when targeting Helm 2, determines whether to delete
	// test pods between each test run initiated by the Helm Operator.
	// +optional
	Cleanup *bool `json:"cleanup,omitempty"`
}

func (*Test) DeepCopy added in v1.2.0

func (in *Test) DeepCopy() *Test

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

func (*Test) DeepCopyInto added in v1.2.0

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) GetCleanup added in v1.2.0

func (t Test) GetCleanup() bool

GetCleanup returns the configured test cleanup flag, or the default of true.

func (Test) GetIgnoreFailures added in v1.2.0

func (t Test) GetIgnoreFailures() bool

IgnoreFailures returns the configured ignoreFailures flag, or the default of false to preserve backwards compatible

func (Test) GetTimeout added in v1.2.0

func (t Test) GetTimeout() time.Duration

GetTimeout returns the configured timout for the Helm release, or the default of 300s.

type ValuesFromSource

type ValuesFromSource struct {
	// The reference to a config map with release values.
	// +optional
	ConfigMapKeyRef *OptionalConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	// The reference to a secret with release values.
	// +optional
	SecretKeyRef *OptionalSecretKeySelector `json:"secretKeyRef,omitempty"`
	// The reference to an external source with release values.
	// +optional
	ExternalSourceRef *ExternalSourceSelector `json:"externalSourceRef,omitempty"`
	// The reference to a local chart file with release values.
	// +optional
	ChartFileRef *ChartFileSelector `json:"chartFileRef,omitempty"`
}

func (*ValuesFromSource) DeepCopy

func (in *ValuesFromSource) DeepCopy() *ValuesFromSource

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

func (*ValuesFromSource) DeepCopyInto

func (in *ValuesFromSource) DeepCopyInto(out *ValuesFromSource)

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