Documentation
¶
Index ¶
- func RenderTemplateFileToBuffer(file string) (*bytes.Buffer, error)
- type HelmSpec
- type HelmState
- func (state *HelmState) Clean() []error
- func (state *HelmState) DeleteReleases(helm helmexec.Interface, purge bool) []error
- func (state *HelmState) DiffReleases(helm helmexec.Interface, additionalValues []string, workerLimit int, ...) []error
- func (state *HelmState) FilterReleases(labels []string) error
- func (state *HelmState) LintReleases(helm helmexec.Interface, additionalValues []string, workerLimit int) []error
- func (state *HelmState) ReleaseStatuses(helm helmexec.Interface, workerLimit int) []error
- func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues []string, workerLimit int) []error
- func (state *HelmState) SyncRepos(helm helmexec.Interface) []error
- func (state *HelmState) TestReleases(helm helmexec.Interface, cleanup bool, timeout int) []error
- func (state *HelmState) UpdateDeps(helm helmexec.Interface) []error
- type LabelFilter
- type ReleaseError
- type ReleaseFilter
- type ReleaseSpec
- type RepositorySpec
- type SetValue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type HelmSpec ¶ added in v0.20.0
type HelmSpec struct { KubeContext string `yaml:"kubeContext"` TillerNamespace string `yaml:"tillerNamespace"` Args []string `yaml:"args"` Verify bool `yaml:"verify"` // Wait, if set to true, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful Wait bool `yaml:"wait"` // Timeout is the time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks, and waits on pod/pvc/svc/deployment readiness) (default 300) Timeout int `yaml:"timeout"` // RecreatePods, when set to true, instruct helmfile to perform pods restart for the resource if applicable RecreatePods bool `yaml:"recreatePods"` // Force, when set to true, forces resource update through delete/recreate if needed Force bool `yaml:"force"` }
HelmSpec to defines helmDefault values
type HelmState ¶
type HelmState struct { BaseChartPath string FilePath string HelmDefaults HelmSpec `yaml:"helmDefaults"` Context string `yaml:"context"` DeprecatedReleases []ReleaseSpec `yaml:"charts"` Namespace string `yaml:"namespace"` Repositories []RepositorySpec `yaml:"repositories"` Releases []ReleaseSpec `yaml:"releases"` // contains filtered or unexported fields }
HelmState structure for the helmfile
func CreateFromTemplateFile ¶ added in v0.23.0
func CreateFromTemplateFile(file string, logger *zap.SugaredLogger) (*HelmState, error)
CreateFromTemplateFile loads the helmfile from disk and processes the template
func CreateFromYaml ¶ added in v0.23.0
func (*HelmState) DeleteReleases ¶
DeleteReleases wrapper for executing helm delete on the releases
func (*HelmState) DiffReleases ¶
func (state *HelmState) DiffReleases(helm helmexec.Interface, additionalValues []string, workerLimit int, detailedExitCode bool) []error
DiffReleases wrapper for executing helm diff on the releases
func (*HelmState) FilterReleases ¶
FilterReleases allows for the execution of helm commands against a subset of the releases in the helmfile.
func (*HelmState) LintReleases ¶ added in v0.20.0
func (state *HelmState) LintReleases(helm helmexec.Interface, additionalValues []string, workerLimit int) []error
LintReleases wrapper for executing helm lint on the releases
func (*HelmState) ReleaseStatuses ¶ added in v0.14.0
func (*HelmState) SyncReleases ¶
func (state *HelmState) SyncReleases(helm helmexec.Interface, additionalValues []string, workerLimit int) []error
SyncReleases wrapper for executing helm upgrade on the releases
func (*HelmState) TestReleases ¶ added in v0.18.0
TestReleases wrapper for executing helm test on the releases
type LabelFilter ¶
type LabelFilter struct {
// contains filtered or unexported fields
}
LabelFilter matches a release with the given positive lables. Negative labels invert the match for cases such as tier!=backend
func ParseLabels ¶
func ParseLabels(l string) (LabelFilter, error)
ParseLabels takes a label in the form foo=bar,baz!=bat and returns a LabelFilter that will match the labels
func (LabelFilter) Match ¶
func (l LabelFilter) Match(r ReleaseSpec) bool
Match will match a release that has the same labels as the filter
type ReleaseError ¶ added in v0.23.0
type ReleaseError struct { *ReleaseSpec // contains filtered or unexported fields }
func (*ReleaseError) Error ¶ added in v0.23.0
func (e *ReleaseError) Error() string
type ReleaseFilter ¶
type ReleaseFilter interface { // Match returns true if the ReleaseSpec matches the Filter Match(r ReleaseSpec) bool }
ReleaseFilter is used to determine if a given release should be used during helmfile execution
type ReleaseSpec ¶
type ReleaseSpec struct { // Chart is the name of the chart being installed to create this release Chart string `yaml:"chart"` Version string `yaml:"version"` Verify *bool `yaml:"verify"` // Wait, if set to true, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful Wait *bool `yaml:"wait"` // Timeout is the time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks, and waits on pod/pvc/svc/deployment readiness) (default 300) Timeout *int `yaml:"timeout"` // RecreatePods, when set to true, instruct helmfile to perform pods restart for the resource if applicable RecreatePods *bool `yaml:"recreatePods"` // Force, when set to true, forces resource update through delete/recreate if needed Force *bool `yaml:"force"` // Name is the name of this release Name string `yaml:"name"` Namespace string `yaml:"namespace"` Labels map[string]string `yaml:"labels"` Values []interface{} `yaml:"values"` Secrets []string `yaml:"secrets"` SetValues []SetValue `yaml:"set"` // The 'env' section is not really necessary any longer, as 'set' would now provide the same functionality EnvValues []SetValue `yaml:"env"` // contains filtered or unexported fields }
ReleaseSpec defines the structure of a helm release