helm

package
v2.18.9 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Chart

type Chart struct {
	Name       string          `yaml:"name"`
	Version    *semver.Version `yaml:"-"`
	VersionRaw string          `yaml:"version"`
	// AppVersion is not a semver, for example Minio has date-based versions.
	AppVersion string `yaml:"appVersion"`
	Directory  string
}

func LoadChart

func LoadChart(directory string) (*Chart, error)

func (*Chart) Clone

func (c *Chart) Clone() Chart

type Client

type Client interface {
	Version() (*semver.Version, error)
	InstallChart(namespace string, releaseName string, chartDirectory string, valuesFile string, values map[string]string, flags []string) error
	GetRelease(namespace string, name string) (*Release, error)
	ListReleases(namespace string) ([]Release, error)
	UninstallRelease(namespace string, name string) error
	RenderChart(namespace string, releaseName string, chartDirectory string, valuesFile string, values map[string]string) ([]byte, error)
	GetValues(namespace string, releaseName string) (*yamled.Document, error)
}

Client describes the operations that the Helm client is providing to the installer. This is the minimum set of operations required to perform a Kubermatic installation.

func NewCLI

func NewCLI(binary string, kubeconfig string, kubeContext string, timeout time.Duration, logger logrus.FieldLogger) (Client, error)

NewCLI returns a new Client implementation that uses a local helm binary to perform chart installations.

type Release

type Release struct {
	Name      string          `json:"name"`
	Namespace string          `json:"namespace"`
	Chart     string          `json:"chart"`
	Revision  string          `json:"revision"`
	Version   *semver.Version `json:"-"`
	// AppVersion is not a semver, for example Minio has date-based versions.
	AppVersion string        `json:"app_version"`
	Status     ReleaseStatus `json:"status"`
}

func (*Release) Clone

func (r *Release) Clone() Release

type ReleaseStatus

type ReleaseStatus string
const (
	ReleaseCheckFailed ReleaseStatus = ""

	ReleaseStatusUnknown         ReleaseStatus = "unknown"
	ReleaseStatusDeployed        ReleaseStatus = "deployed"
	ReleaseStatusDeleted         ReleaseStatus = "uninstalled"
	ReleaseStatusSuperseded      ReleaseStatus = "superseded"
	ReleaseStatusFailed          ReleaseStatus = "failed"
	ReleaseStatusDeleting        ReleaseStatus = "uninstalling"
	ReleaseStatusPendingInstall  ReleaseStatus = "pending-install"
	ReleaseStatusPendingUpgrade  ReleaseStatus = "pending-upgrade"
	ReleaseStatusPendingRollback ReleaseStatus = "pending-rollback"
)

Jump to

Keyboard shortcuts

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