helper

package
v1.18.0-beta22 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateVariantValuesFile

func GenerateVariantValuesFile(variant string) (string, error)

func GetHttpEchoImage

func GetHttpEchoImage() string

Deprecated; if this is needed create a resource yaml for it.

func GetTestReleasedVersion

func GetTestReleasedVersion(ctx context.Context, repoName string) string

For nightly runs, we want to install a released version rather than using a locally built chart To do this, set the environment variable RELEASED_VERSION with either a version name or "LATEST" to get the last release

func GetUpgradeVersions

func GetUpgradeVersions(ctx context.Context, repoName string) (*versionutils.Version, *versionutils.Version, error)

GetUpgradeVersions returns two semantic versions of a repository:

  • prevLtsRelease: the latest patch release of v1.m-1.x
  • latestRelease: the latest patch release of v1.m.x

Originally intended for use in upgrade testing, it can return any of:

  • (prevLtsRelease, latestRelease, nil): all release versions computable
  • (prevLtsRelease, nil, nil): only prevLtsRelease computable (ie current branch has never been released)
  • (nil, nil, err): unable to fetch versions for upgrade test

Types

type Options

type Options struct {
	Command    []string
	Verbose    bool
	LocalChart bool
	CRDDir     string
	Version    string
	Repo       string
}

type OptionsMutator

type OptionsMutator func(opts *Options)

func WithCRDs

func WithCRDs(crdDir string) OptionsMutator

WithCRDs installs the CRDs from the specific directory.

func WithExtraArgs

func WithExtraArgs(args ...string) OptionsMutator

WithExtraArgs specifies additional args to pass to the lifecycle command

func WithLocalChart

func WithLocalChart(version string, repo string) OptionsMutator

WithLocalChart downloads the specified version of the chart and extracts it.

func WithVersion

func WithVersion(version string) OptionsMutator

WithVersion specifies the version to use

type SoloTestHelper

type SoloTestHelper struct {
	*TestConfig
	// The kubernetes helper
	*kubectl.Cli
}

func GetTestHelperForRootDir

func GetTestHelperForRootDir(ctx context.Context, rootDir, namespace string) (*SoloTestHelper, error)

func NewSoloTestHelper

func NewSoloTestHelper(configFunc TestConfigFunc) (*SoloTestHelper, error)

NewSoloTestHelper is meant to provide a standard way of deploying Gloo/GlooE to a k8s cluster during tests. It assumes that build and test assets are present in the `_output` and `_test` directories (these are configurable). Specifically, it expects the glooctl executable in the BuildAssetDir and a helm chart in TestAssetDir. It also assumes that a kubectl executable is on the PATH.

func (*SoloTestHelper) ChartPath

func (h *SoloTestHelper) ChartPath() string

Return the path to the chart used for installation

func (*SoloTestHelper) ChartVersion

func (h *SoloTestHelper) ChartVersion() string

Return the version of the Helm chart

func (*SoloTestHelper) CurrentGlooRevision

func (h *SoloTestHelper) CurrentGlooRevision() (int, error)

func (*SoloTestHelper) InstallGloo

func (h *SoloTestHelper) InstallGloo(ctx context.Context, timeout time.Duration, options ...OptionsMutator) error

InstallGloo calls glooctl to install Gloo. This is where image variants are handled as well.

func (*SoloTestHelper) RevertGlooUpgrade

func (h *SoloTestHelper) RevertGlooUpgrade(ctx context.Context, timeout time.Duration, crdsPath string, options ...OptionsMutator) error

Rollback Gloo. The version can be passed via the ExtraArgs option. If not specified it rolls-back to the previous version Eg: RevertGlooUpgrade(ctx, timeout, WithExtraArgs([]string{revision}))

func (*SoloTestHelper) SetKubeCli

func (h *SoloTestHelper) SetKubeCli(cli *kubectl.Cli)

func (*SoloTestHelper) UninstallGloo

func (h *SoloTestHelper) UninstallGloo() error

does not pass the --all flag to glooctl uninstall

func (*SoloTestHelper) UninstallGlooAll

func (h *SoloTestHelper) UninstallGlooAll() error

passes the --all flag to glooctl uninstall

func (*SoloTestHelper) UpgradeGloo

func (h *SoloTestHelper) UpgradeGloo(ctx context.Context, timeout time.Duration, options ...OptionsMutator) (revertFunc func() error, err error)

Upgrades Gloo via a helm upgrade. It returns a method that rolls-back helm to the version prior to this upgrade If localChart is false, the crdDir provided should be the path from the root of a chart pulled from remote. e.g. for gloo, this would be gloo/crds

type TestConfig

type TestConfig struct {
	// All relative paths will assume this as the base directory. This is usually the project base directory.
	RootDir string
	// The directory holding the test assets. Must be relative to RootDir.
	TestAssetDir string
	// The directory holding the build assets. Must be relative to RootDir.
	BuildAssetDir string
	// Helm chart name
	HelmChartName string
	// Name of the helm index file name
	HelmRepoIndexFileName string
	// The namespace gloo (and the test server) will be installed to. If empty, will use the helm chart version.
	InstallNamespace string
	// Name of the glooctl executable
	GlooctlExecName string
	// If provided, the license key to install the enterprise version of Gloo
	LicenseKey string
	// Install a released version of gloo. This is the value of the github tag that may have a leading 'v'
	ReleasedVersion string
	// If true, glooctl will be run with a -v flag
	Verbose bool
	// contains filtered or unexported fields
}

type TestConfigFunc

type TestConfigFunc func(defaults TestConfig) TestConfig

Function to provide/override test configuration. Default values will be passed in.

Jump to

Keyboard shortcuts

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