helm

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GetCoreV1Func = GetCoreV1Client
)

Functions

func GetActionConfig

func GetActionConfig(ctx context.Context, namespace string, config *rest.Config) (*helmAction.Configuration, error)

func GetCoreV1Client

func GetCoreV1Client() (v1.CoreV1Interface, error)

func GetHelmRelease

func GetHelmRelease(ctx context.Context, kubeconfig string, spec *HelmModuleAddons) (*helmRelease.Release, error)

func HelmInit

func HelmInit(ctx context.Context, namespace string, kubeconfig string) (*helmCli.EnvSettings, *helmAction.Configuration, error)

func InstallHelmRelease

func InstallHelmRelease(ctx context.Context, kubeconfig, ocneCPName, values string, spec *HelmModuleAddons) (*helmRelease.Release, error)

func InstallOrUpgradeHelmReleases

func InstallOrUpgradeHelmReleases(ctx context.Context, kubeconfig, ocneCPName, values string, spec *HelmModuleAddons) (*helmRelease.Release, error)

func UninstallHelmRelease

func UninstallHelmRelease(ctx context.Context, kubeconfig string, spec *HelmModuleAddons) (*helmRelease.UninstallReleaseResponse, error)

func UpgradeHelmReleaseIfChanged

func UpgradeHelmReleaseIfChanged(ctx context.Context, kubeconfig, values string, spec *HelmModuleAddons, existing *helmRelease.Release) (*helmRelease.Release, error)

Types

type HelmModuleAddons

type HelmModuleAddons struct {
	// ChartLocation is the URL of the Helm chart repository.
	RepoURL string `json:"repoURL"`

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

	// 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"`

	// Local indicates whether chart is local or needs to be pulled in from the internet.
	// When Local is set to true the RepoURL would be the local path to the chart directory in the container.
	// By default, Local is set to false.
	// +optional
	Local bool `json:"local,omitempty"`
}

func GetModuleOperatorAddons

func GetModuleOperatorAddons(ctx context.Context, spec *controlplanev1.ModuleOperator, k8sVersion string) (*HelmModuleAddons, error)

func GetVerrazzanoPlatformOperatorAddons

func GetVerrazzanoPlatformOperatorAddons(ctx context.Context, spec *controlplanev1.VerrazzanoPlatformOperator, k8sVersion string) (*HelmModuleAddons, error)

GetVerrazzanoPlatformOperatorAddons returns the needed info to install the verrazzano-platform-operator helm chart.

type HelmValuesTemplate

type HelmValuesTemplate struct {
	Repository       string                      `json:"repository,omitempty"`
	Tag              string                      `json:"tag,omitempty"`
	PullPolicy       string                      `json:"pullPolicy,omitempty"`
	ImagePullSecrets []controlplanev1.SecretName `json:"imagePullSecrets,omitempty"`
}

type VPOHelmValuesTemplate

type VPOHelmValuesTemplate struct {
	Image                string                      `json:"image,omitempty"`
	PrivateRegistry      bool                        `json:"privateRegistry"`
	Repository           string                      `json:"repository,omitempty"`
	Registry             string                      `json:"registry,omitempty"`
	PullPolicy           string                      `json:"pullPolicy,omitempty"`
	ImagePullSecrets     []controlplanev1.SecretName `json:"imagePullSecrets,omitempty"`
	AppOperatorImage     string                      `json:"appOperatorImage,omitempty"`
	ClusterOperatorImage string                      `json:"clusterOperatorImage,omitempty"`
}

Jump to

Keyboard shortcuts

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