helm

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package helm contains the epinio-specific core to the helm client libraries. It exposes the functionality to deploy and remove helm charts/releases.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Deploy

func Deploy(logger logr.Logger, parameters ChartParameters) error

func DeployService added in v1.4.0

func DeployService(logger logr.Logger, parameters ServiceParameters) error

func GetHelmClient added in v0.6.3

func GetHelmClient(restConfig *rest.Config, logger logr.Logger, namespace string) (hc.Client, error)

func Remove

func Remove(cluster *kubernetes.Cluster, logger logr.Logger, app models.AppRef) error

func RemoveService added in v1.4.0

func RemoveService(logger logr.Logger, cluster *kubernetes.Cluster, app models.AppRef) error

func Status added in v0.6.3

func Status(ctx context.Context, logger logr.Logger, cluster *kubernetes.Cluster, namespace, releaseName string) (helmrelease.Status, error)

func ValidateField added in v1.2.0

func ValidateField(key, value string, spec models.AppChartSetting) (interface{}, error)

validateField checks a single custom value against its declaration.

func Values added in v0.6.3

func Values(cluster *kubernetes.Cluster, logger logr.Logger, app models.AppRef) ([]byte, error)

Types

type ChartParameters

type ChartParameters struct {
	models.AppRef                        // Application: name & namespace
	Context        context.Context       // Operation context
	Cluster        *kubernetes.Cluster   // Cluster to talk to.
	Chart          string                // Name of Chart CR to use for deployment
	ImageURL       string                // Application Image
	Username       string                // User causing the (re)deployment
	Instances      int32                 // Number Of Desired Replicas
	StageID        string                // Stage ID that produced ImageURL
	Environment    models.EnvVariableMap // App Environment
	Configurations []ConfigParameter     // Bound Configurations (list of names and paths)
	Routes         []string              // Desired application routes
	Domains        domain.DomainMap      // Map of domains with secrets covering them
	Start          *int64                // Nano-epoch of deployment. Optional. Used to force a restart, even when nothing else has changed.
	Settings       models.AppSettings
}

type ConfigParameter added in v1.5.0

type ConfigParameter struct {
	Name string `yaml:"name"` // Configuration name
	Path string `yaml:"path"` // Mounting path for configuration
}

type ServiceParameters added in v1.4.0

type ServiceParameters struct {
	models.AppRef                     // Service: name & namespace
	Context       context.Context     // Operation context
	Cluster       *kubernetes.Cluster // Cluster to talk to.
	Chart         string              // Name of helm chart to deploy
	Version       string              // Version of helm chart to deploy
	Repository    string              // Helm repository holding the chart to deploy
	Values        string              // Chart customization (YAML-formatted string)
}

Jump to

Keyboard shortcuts

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