Documentation
¶
Index ¶
Constants ¶
const DefaultUpdateTimeout = 300
DefaultUpdateTimeout - update timeout in seconds
const ProviderName = "helm"
ProviderName - helm provider name
Variables ¶
var (
ErrPolicyNotSpecified = errors.New("policy not specified")
)
ErrPolicyNotSpecified helm related errors
var ErrbowConfigNotFound = errors.New("bow configuration not found")
ErrbowConfigNotFound - default error when bow configuration for chart is not defined
var (
TillerAddress = "tiller-deploy:44134"
)
TillerAddress - default tiller address
Functions ¶
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 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) 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