helm

package
v0.41.25-0...-da0115e Latest Latest
Warning

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

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

Documentation

Overview

Package helm provides common functionalities for testing helm charts, such as calling out to the helm client.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddRepo

func AddRepo(t testing.TestingT, options *Options, repoName string, repoURL string)

AddRepo will setup the provided helm repository to the local helm client configuration. This will fail the test if there is an error.

func AddRepoE

func AddRepoE(t testing.TestingT, options *Options, repoName string, repoURL string) error

AddRepoE will setup the provided helm repository to the local helm client configuration.

func Delete

func Delete(t testing.TestingT, options *Options, releaseName string, purge bool)

Delete will delete the provided release from Tiller. If you set purge to true, Tiller will delete the release object as well so that the release name can be reused. This will fail the test if there is an error.

func DeleteE

func DeleteE(t testing.TestingT, options *Options, releaseName string, purge bool) error

DeleteE will delete the provided release from Tiller. If you set purge to true, Tiller will delete the release object as well so that the release name can be reused.

func Install

func Install(t testing.TestingT, options *Options, chart string, releaseName string)

Install will install the selected helm chart with the provided options under the given release name. This will fail the test if there is an error.

func InstallE

func InstallE(t testing.TestingT, options *Options, chart string, releaseName string) error

InstallE will install the selected helm chart with the provided options under the given release name.

func RemoveRepo

func RemoveRepo(t testing.TestingT, options *Options, repoName string)

RemoveRepo will remove the provided helm repository from the local helm client configuration. This will fail the test if there is an error.

func RemoveRepoE

func RemoveRepoE(t testing.TestingT, options *Options, repoName string) error

RemoveRepoE will remove the provided helm repository from the local helm client configuration.

func RenderTemplate

func RenderTemplate(t testing.TestingT, options *Options, chartDir string, releaseName string, templateFiles []string, extraHelmArgs ...string) string

RenderTemplate runs `helm template` to render the template given the provided options and returns stdout/stderr from the template command. If you pass in templateFiles, this will only render those templates. This function will fail the test if there is an error rendering the template.

func RenderTemplateE

func RenderTemplateE(t testing.TestingT, options *Options, chartDir string, releaseName string, templateFiles []string, extraHelmArgs ...string) (string, error)

RenderTemplateE runs `helm template` to render the template given the provided options and returns stdout/stderr from the template command. If you pass in templateFiles, this will only render those templates.

func Rollback

func Rollback(t testing.TestingT, options *Options, releaseName string, revision string)

Rollback will downgrade the release to the specified version. This will fail the test if there is an error.

func RollbackE

func RollbackE(t testing.TestingT, options *Options, releaseName string, revision string) error

RollbackE will downgrade the release to the specified version

func RunHelmCommandAndGetOutputE

func RunHelmCommandAndGetOutputE(t testing.TestingT, options *Options, cmd string, additionalArgs ...string) (string, error)

RunHelmCommandAndGetOutputE runs helm with the given arguments and options and returns combined, interleaved stdout/stderr.

func RunHelmCommandAndGetStdOutE

func RunHelmCommandAndGetStdOutE(t testing.TestingT, options *Options, cmd string, additionalArgs ...string) (string, error)

RunHelmCommandAndGetStdOutE runs helm with the given arguments and options and returns stdout.

func UnmarshalK8SYaml

func UnmarshalK8SYaml(t testing.TestingT, yamlData string, destinationObj interface{})

UnmarshalK8SYaml is the same as UnmarshalK8SYamlE, but will fail the test if there is an error.

func UnmarshalK8SYamlE

func UnmarshalK8SYamlE(t testing.TestingT, yamlData string, destinationObj interface{}) error

UnmarshalK8SYamlE can be used to take template outputs and unmarshal them into the corresponding client-go struct. For example, suppose you render the template into a Deployment object. You can unmarshal the yaml as follows:

var deployment appsv1.Deployment UnmarshalK8SYamlE(t, renderedOutput, &deployment)

At the end of this, the deployment variable will be populated.

func Upgrade

func Upgrade(t testing.TestingT, options *Options, chart string, releaseName string)

Upgrade will upgrade the release and chart will be deployed with the lastest configuration. This will fail the test if there is an error.

func UpgradeE

func UpgradeE(t testing.TestingT, options *Options, chart string, releaseName string) error

UpgradeE will upgrade the release and chart will be deployed with the lastest configuration.

Types

type ChartNotFoundError

type ChartNotFoundError struct {
	Path string
}

ChartNotFoundError is returned when a provided chart dir is not found

func (ChartNotFoundError) Error

func (err ChartNotFoundError) Error() string

type Options

type Options struct {
	ValuesFiles    []string            // List of values files to render.
	SetValues      map[string]string   // Values that should be set via the command line.
	SetStrValues   map[string]string   // Values that should be set via the command line explicitly as `string` types.
	SetFiles       map[string]string   // Values that should be set from a file. These should be file paths. Use to avoid logging secrets.
	KubectlOptions *k8s.KubectlOptions // KubectlOptions to control how to authenticate to kubernetes cluster. `nil` => use defaults.
	HomePath       string              // The path to the helm home to use when calling out to helm. Empty string means use default ($HOME/.helm).
	EnvVars        map[string]string   // Environment variables to set when running helm
	Version        string              // Version of chart
	Logger         *logger.Logger      // Set a non-default logger that should be used. See the logger package for more info. Use logger.Discard to not print the output while executing the command.
	ExtraArgs      map[string][]string // Extra arguments to pass to the helm install/upgrade/rollback/delete and helm repo add commands. The key signals the command (e.g., install) while the values are the extra arguments to pass through.
}

type SetFileNotFoundError

type SetFileNotFoundError struct {
	Path string
}

SetFileNotFoundError is returned when a provided set file input is not found on the host path.

func (SetFileNotFoundError) Error

func (err SetFileNotFoundError) Error() string

type TemplateFileNotFoundError

type TemplateFileNotFoundError struct {
	Path     string
	ChartDir string
}

TemplateFileNotFoundError is returned when a provided template file input is not found in the chart

func (TemplateFileNotFoundError) Error

func (err TemplateFileNotFoundError) Error() string

type ValuesFileNotFoundError

type ValuesFileNotFoundError struct {
	Path string
}

ValuesFileNotFoundError is returned when a provided values file input is not found on the host path.

func (ValuesFileNotFoundError) Error

func (err ValuesFileNotFoundError) Error() string

Jump to

Keyboard shortcuts

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