Documentation ¶
Overview ¶
Package helm implements support for Helm plugin, which can deploy Helm charts onto k8s clusters via Helm API.
Index ¶
- type Config
- type Plugin
- func (plugin *Plugin) Cleanup() error
- func (plugin *Plugin) Create(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, ...) error
- func (plugin *Plugin) Destroy(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, ...) error
- func (plugin *Plugin) Endpoints(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, ...) (map[string]string, error)
- func (plugin *Plugin) GetSupportedCodeTypes() []string
- func (plugin *Plugin) Process(policy *lang.Policy, resolution *resolve.PolicyResolution, ...) error
- func (plugin *Plugin) Update(cluster *lang.Cluster, deployName string, params util.NestedParameterMap, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Context string Namespace string TillerNamespace string KubeConfig interface{} // 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 (*Plugin) Cleanup ¶
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 ¶
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