helm

package
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2018 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Overview

Package helm implements support for Helm plugin, which can deploy Helm charts onto k8s clusters via Helm API.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Namespace       string      `yaml:",omitempty"`
	TillerNamespace string      `yaml:",omitempty"`
	Local           bool        `yaml:",omitempty"`
	Context         string      `yaml:",omitempty"`
	KubeConfig      interface{} `yaml:",omitempty"` // it's just a kubeconfig, we don't need to parse it
}

Config represents K8s/Helm plugin configuration

type Plugin

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

Plugin uses Helm for deployment of apps on kubernetes

func NewPlugin

func NewPlugin(cfg config.Helm) *Plugin

NewPlugin creates a new helm plugin

func (*Plugin) Cleanup

func (plugin *Plugin) Cleanup() error

Cleanup implements cleanup phase for the Helm plugin. It closes all created and cached Tiller tunnels.

func (*Plugin) Create

func (plugin *Plugin) Create(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, eventLog *event.Log) error

Create implements creation of a new component instance in the cloud by deploying a Helm chart

func (*Plugin) Destroy

func (plugin *Plugin) Destroy(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, eventLog *event.Log) error

Destroy implements destruction of an existing component instance in the cloud by running "helm delete" on the corresponding helm chart

func (*Plugin) Endpoints

func (plugin *Plugin) Endpoints(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, eventLog *event.Log) (map[string]string, error)

Endpoints returns map from port type to url for all services of the current chart TODO: reduce cyclomatic complexity

func (*Plugin) GetSupportedCodeTypes

func (plugin *Plugin) GetSupportedCodeTypes() []string

GetSupportedCodeTypes returns all code types for which this plugin is registered to

func (*Plugin) Process

func (plugin *Plugin) Process(policy *lang.Policy, resolution *resolve.PolicyResolution, externalData *external.Data, eventLog *event.Log) error

Process is a action which gets called only once. It manages all Istio rules across all clusters, making sure they are up to date by creating/deleting/updating rules if/as needed TODO: reduce cyclomatic complexity

func (*Plugin) Update

func (plugin *Plugin) Update(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, eventLog *event.Log) error

Update implements update of an existing component instance in the cloud by updating parameters of a helm chart

Jump to

Keyboard shortcuts

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