helm

package
v0.0.0-...-c5ab296 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2019 License: MPL-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultUpdateTimeout = 300

DefaultUpdateTimeout - update timeout in seconds

View Source
const ProviderName = "helm"

ProviderName - helm provider name

Variables

View Source
var (
	ErrPolicyNotSpecified = errors.New("policy not specified")
)

ErrPolicyNotSpecified helm related errors

View Source
var ErrbowConfigNotFound = errors.New("bow configuration not found")

ErrbowConfigNotFound - default error when bow configuration for chart is not defined

View Source
var (
	TillerAddress = "tiller-deploy:44134"
)

TillerAddress - default tiller address

Functions

func ProcessTemplate

func ProcessTemplate(path string) ([]manifest.Manifest, error)

func SortByKind

func SortByKind(manifests []manifest.Manifest) []manifest.Manifest

SortByKind sorts manifests in InstallOrder

Types

type HelmImplementer

type HelmImplementer struct {
	// contains filtered or unexported fields
}

HelmImplementer - actual helm implementer

func NewHelmImplementer

func NewHelmImplementer(address string) *HelmImplementer

NewHelmImplementer - get new helm implementer

func (*HelmImplementer) ListReleases

func (i *HelmImplementer) ListReleases(opts ...helm.ReleaseListOption) (*rls.ListReleasesResponse, error)

ListReleases - list available releases

func (*HelmImplementer) UpdateReleaseFromChart

func (i *HelmImplementer) UpdateReleaseFromChart(rlsName string, chart *chart.Chart, opts ...helm.UpdateOption) (*rls.UpdateReleaseResponse, error)

UpdateReleaseFromChart - update release from chart

type ImageDetails

type ImageDetails struct {
	RepositoryPath  string `json:"repository"`
	TagPath         string `json:"tag"`
	DigestPath      string `json:"digest"`
	ReleaseNotes    string `json:"releaseNotes"`
	ImagePullSecret string `json:"imagePullSecret"`
}

ImageDetails - image details

type Implementer

type Implementer interface {
	ListReleases(opts ...helm.ReleaseListOption) (*rls.ListReleasesResponse, error)
	UpdateReleaseFromChart(rlsName string, chart *chart.Chart, opts ...helm.UpdateOption) (*rls.UpdateReleaseResponse, error)
}

Implementer - generic helm implementer used to abstract actual implementation

type Manager

type Manager interface {
	Images() ([]*image.Reference, error)
}

Manager - high level interface into helm provider related data used by triggers

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider - helm provider, responsible for managing release updates

func NewProvider

func NewProvider(implementer Implementer, sender notification.Sender, approvalManager approvals.Manager) *Provider

NewProvider - create new Helm provider

func (*Provider) GetName

func (p *Provider) GetName() string

GetName - get provider name

func (*Provider) Start

func (p *Provider) Start() error

Start - starts kubernetes provider, waits for events

func (*Provider) Stop

func (p *Provider) Stop()

Stop - stops kubernetes provider

func (*Provider) Submit

func (p *Provider) Submit(event types.Event) error

Submit - submit event to provider

func (*Provider) TrackedImages

func (p *Provider) TrackedImages() ([]*types.TrackedImage, error)

TrackedImages - returns tracked images from all releases that have bow configuration

type Root

type Root struct {
	// contains filtered or unexported fields
}

Root - root element of the values yaml

type SortOrder

type SortOrder []string

SortOrder is an ordering of Kinds.

var InstallOrder SortOrder = []string{
	"Namespace",
	"ResourceQuota",
	"LimitRange",
	"Secret",
	"ConfigMap",
	"StorageClass",
	"PersistentVolume",
	"PersistentVolumeClaim",
	"ServiceAccount",
	"CustomResourceDefinition",
	"ClusterRole",
	"ClusterRoleBinding",
	"Role",
	"RoleBinding",
	"Service",
	"DaemonSet",
	"Pod",
	"ReplicationController",
	"ReplicaSet",
	"Deployment",
	"StatefulSet",
	"Job",
	"CronJob",
	"Ingress",
	"APIService",
}

InstallOrder is the order in which manifests should be installed (by Kind).

Those occurring earlier in the list get installed before those occurring later in the list.

var UninstallOrder SortOrder = []string{
	"APIService",
	"Ingress",
	"Service",
	"CronJob",
	"Job",
	"StatefulSet",
	"Deployment",
	"ReplicaSet",
	"ReplicationController",
	"Pod",
	"DaemonSet",
	"RoleBinding",
	"Role",
	"ClusterRoleBinding",
	"ClusterRole",
	"CustomResourceDefinition",
	"ServiceAccount",
	"PersistentVolumeClaim",
	"PersistentVolume",
	"StorageClass",
	"ConfigMap",
	"Secret",
	"LimitRange",
	"ResourceQuota",
	"Namespace",
}

UninstallOrder is the order in which manifests should be uninstalled (by Kind).

Those occurring earlier in the list get uninstalled before those occurring later in the list.

type UpdatePlan

type UpdatePlan struct {
	Namespace string
	Name      string

	Config *bowChartConfig

	// chart
	Chart *hapi_chart.Chart

	// values to update path=value
	Values map[string]string

	// Current (last seen cluster version)
	CurrentVersion string
	// New version that's already in the deployment
	NewVersion string

	// ReleaseNotes is a slice of combined release notes.
	ReleaseNotes []string
}

UpdatePlan - release update plan

Jump to

Keyboard shortcuts

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