Documentation
¶
Index ¶
- func AddIfNotContained(s []string, e string) (sout []string)
- func AddRepository(o AddRepositoryOptions) error
- func CheckCircularDependencies(releases []ReleaseSpec) bool
- func Contains(s []string, e string) bool
- func CountLinesPerPathFilter(pathFilter []string, changedPaths []string) (changedPathsPerFilter map[string]int, changedPathsPerFilterCount int)
- func CreateNamespace(name, kubeContext string, print bool) error
- func DeleteNamespace(name, kubeContext string, print bool) error
- func DeleteRelease(o DeleteReleaseOptions) error
- func DeleteReleases(o DeleteReleasesOptions) error
- func DeployChartFromRepository(o DeployChartFromRepositoryOptions) error
- func DeployChartsFromRepository(o DeployChartsFromRepositoryOptions) error
- func Exec(cmd []string) (string, error)
- func FetchChart(o FetchChartOptions) error
- func GetBoolEnvVar(name string, defVal bool) bool
- func GetBuildTypeByPathFilters(defaultType string, changedPaths, pathFilter []string, allowMultipleTypes bool) string
- func GetChangedPaths(previousCommit string) []string
- func GetChartIndex(charts []ReleaseSpec, name string) int
- func GetClientToK8s() (*kubernetes.Clientset, error)
- func GetIntEnvVar(name string, defVal int) int
- func GetNamespace(name, kubeContext string) (*v1.Namespace, error)
- func GetStringEnvVar(name, defVal string) string
- func IsCommitError(commit, commitErrorIndicator string) bool
- func IsEnvValid(name, kubeContext string) (bool, error)
- func IsEnvValidWithLoopBackOff(name, kubeContext string) (bool, error)
- func IsMainlineOrReleaseRef(currentRef, mainRef, releaseRef string) bool
- func Lint(o LintOptions) error
- func MapToString(m map[string]string) string
- func NamespaceExists(name, kubeContext string) (bool, error)
- func PerformRequest(o PerformRequestOptions) []byte
- func PrintDiff(o DiffOptions)
- func PrintExec(cmd []string, print bool) error
- func PrintReleasesMarkdown(releases []ReleaseSpec)
- func PrintReleasesTable(releases []ReleaseSpec)
- func PrintReleasesYaml(releases []ReleaseSpec)
- func PushChart(o PushChartOptions) error
- func PushChartToRepository(o PushChartToRepositoryOptions) error
- func ResetChartVersion(path, version string)
- func SplitInTwo(s, sep string) (string, string)
- func UpdateChartDependencies(o UpdateChartDependenciesOptions) error
- func UpdateChartVersion(path, append string) string
- func UpdateNamespace(name, kubeContext string, ...) error
- func UpdateRepositories(print bool) error
- func UpgradeRelease(o UpgradeReleaseOptions) error
- type AddRepositoryOptions
- type BoundedWaitGroup
- type ChartsFile
- type DeleteReleaseOptions
- type DeleteReleasesOptions
- type DeployChartFromRepositoryOptions
- type DeployChartsFromRepositoryOptions
- type DiffOptions
- type FetchChartOptions
- type GetInstalledReleasesOptions
- type LintOptions
- type PerformRequestOptions
- type PushChartOptions
- type PushChartToRepositoryOptions
- type ReleaseSpec
- func GetInstalledReleases(o GetInstalledReleasesOptions) ([]ReleaseSpec, error)
- func GetReleasesDelta(fromReleases, toReleases []ReleaseSpec) []ReleaseSpec
- func InitReleases(env string, releases []string) []ReleaseSpec
- func InitReleasesFromChartsFile(file, env string) []ReleaseSpec
- func OverrideReleases(releases []ReleaseSpec, overrides []string, env string) []ReleaseSpec
- func RemoveChartFromCharts(charts []ReleaseSpec, index int) []ReleaseSpec
- func RemoveChartFromDependencies(charts []ReleaseSpec, name string) []ReleaseSpec
- type UpdateChartDependenciesOptions
- type UpgradeReleaseOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddIfNotContained ¶
AddIfNotContained adds a string to a slice if it is not contained in it and not empty
func AddRepository ¶
func AddRepository(o AddRepositoryOptions) error
AddRepository adds a chart repository to the repositories file
func CheckCircularDependencies ¶
func CheckCircularDependencies(releases []ReleaseSpec) bool
CheckCircularDependencies verifies that there are no circular dependencies between ReleaseSpecs
func CountLinesPerPathFilter ¶
func CountLinesPerPathFilter(pathFilter []string, changedPaths []string) (changedPathsPerFilter map[string]int, changedPathsPerFilterCount int)
CountLinesPerPathFilter get a list of path filters (regex=type) and counts matches from the paths that were changed
func CreateNamespace ¶
CreateNamespace creates a namespace
func DeleteNamespace ¶
DeleteNamespace deletes a namespace
func DeleteRelease ¶
func DeleteRelease(o DeleteReleaseOptions) error
DeleteRelease deletes a release from Kubernetes
func DeleteReleases ¶
func DeleteReleases(o DeleteReleasesOptions) error
DeleteReleases deletes a list of releases in parallel
func DeployChartFromRepository ¶
func DeployChartFromRepository(o DeployChartFromRepositoryOptions) error
DeployChartFromRepository deploys a Helm chart from a chart repository
func DeployChartsFromRepository ¶
func DeployChartsFromRepository(o DeployChartsFromRepositoryOptions) error
DeployChartsFromRepository deploys a list of Helm charts from a repository in parallel
func FetchChart ¶
func FetchChart(o FetchChartOptions) error
FetchChart fetches a chart from chart repository by name and version and untars it in the local directory
func GetBoolEnvVar ¶
GetBoolEnvVar returns the default value if the variable is empty or not true or false, else the value
func GetBuildTypeByPathFilters ¶
func GetBuildTypeByPathFilters(defaultType string, changedPaths, pathFilter []string, allowMultipleTypes bool) string
GetBuildTypeByPathFilters determines the build type according to path filters
func GetChangedPaths ¶
GetChangedPaths compares the current commit (HEAD) with the given commit and returns a list of the paths that were changed between them
func GetChartIndex ¶
func GetChartIndex(charts []ReleaseSpec, name string) int
GetChartIndex returns the index of a desired release by its name
func GetClientToK8s ¶
func GetClientToK8s() (*kubernetes.Clientset, error)
GetClientToK8s returns a k8s ClientSet
func GetIntEnvVar ¶
GetIntEnvVar returns 0 if the variable is empty or not int, else the value
func GetNamespace ¶
GetNamespace gets a namespace
func GetStringEnvVar ¶
GetStringEnvVar returns the default value if the variable is empty, else the value
func IsCommitError ¶
IsCommitError returns true if the commit string equals the error indicator
func IsEnvValid ¶
IsEnvValid validates the state of a namespace
func IsEnvValidWithLoopBackOff ¶
IsEnvValidWithLoopBackOff validates the state of a namespace with back off loop
func IsMainlineOrReleaseRef ¶
IsMainlineOrReleaseRef returns true if this is the mainline or a release branch
func Lint ¶
func Lint(o LintOptions) error
Lint takes a path to a chart and runs a series of tests to verify that the chart is well-formed
func MapToString ¶
MapToString returns a string representation of a map
func NamespaceExists ¶
NamespaceExists returns true if the namespace exists
func PerformRequest ¶
func PerformRequest(o PerformRequestOptions) []byte
PerformRequest performs an HTTP request to a given url with an expected status code (to support testing) and returns the body
func PrintDiff ¶
func PrintDiff(o DiffOptions)
PrintDiff prints a table of differences between two environments
func PrintReleasesMarkdown ¶
func PrintReleasesMarkdown(releases []ReleaseSpec)
PrintReleasesMarkdown prints releases in markdown format
func PrintReleasesTable ¶
func PrintReleasesTable(releases []ReleaseSpec)
PrintReleasesTable prints releases in table format
func PrintReleasesYaml ¶
func PrintReleasesYaml(releases []ReleaseSpec)
PrintReleasesYaml prints releases in yaml format
func PushChart ¶
func PushChart(o PushChartOptions) error
PushChart pushes a helm chart to a chart repository
func PushChartToRepository ¶
func PushChartToRepository(o PushChartToRepositoryOptions) error
PushChartToRepository packages and pushes a Helm chart to a chart repository
func ResetChartVersion ¶
func ResetChartVersion(path, version string)
ResetChartVersion resets a chart version to a desired value
func SplitInTwo ¶
SplitInTwo splits a string to two parts by a delimeter
func UpdateChartDependencies ¶
func UpdateChartDependencies(o UpdateChartDependenciesOptions) error
UpdateChartDependencies performs helm dependency update
func UpdateChartVersion ¶
UpdateChartVersion updates a chart version with desired append value
func UpdateNamespace ¶
func UpdateNamespace(name, kubeContext string, annotationsToUpdate, labelsToUpdate map[string]string, print bool) error
UpdateNamespace updates a namespace
func UpdateRepositories ¶
UpdateRepositories updates helm repositories
func UpgradeRelease ¶
func UpgradeRelease(o UpgradeReleaseOptions) error
UpgradeRelease performs helm upgrade -i
Types ¶
type AddRepositoryOptions ¶
AddRepositoryOptions are options passed to AddRepository
type BoundedWaitGroup ¶
type BoundedWaitGroup struct {
// contains filtered or unexported fields
}
BoundedWaitGroup implements a sized WaitGroup
func NewBoundedWaitGroup ¶
func NewBoundedWaitGroup(cap int) BoundedWaitGroup
NewBoundedWaitGroup initializes a new BoundedWaitGroup
func (*BoundedWaitGroup) Add ¶
func (bwg *BoundedWaitGroup) Add(delta int)
Add performs a WaitGroup Add of a specified delta
func (*BoundedWaitGroup) Done ¶
func (bwg *BoundedWaitGroup) Done()
Done performs a WaitGroup Add of -1
type ChartsFile ¶
type ChartsFile struct {
Releases []ReleaseSpec `yaml:"charts"`
}
ChartsFile represents the structure of a passed in charts file
type DeleteReleaseOptions ¶
type DeleteReleaseOptions struct { ReleaseName string KubeContext string TLS bool HelmTLSStore string Timeout int Print bool }
DeleteReleaseOptions are options passed to DeleteRelease
type DeleteReleasesOptions ¶
type DeleteReleasesOptions struct { ReleasesToDelete []ReleaseSpec KubeContext string TLS bool HelmTLSStore string Parallel int Timeout int }
DeleteReleasesOptions are options passed to DeleteReleases
type DeployChartFromRepositoryOptions ¶
type DeployChartFromRepositoryOptions struct { ReleaseName string Name string Version string KubeContext string Namespace string Repo string TLS bool HelmTLSStore string PackedValues []string SetValues []string IsIsolated bool Inject bool Timeout int Validate bool }
DeployChartFromRepositoryOptions are options passed to DeployChartFromRepository
type DeployChartsFromRepositoryOptions ¶
type DeployChartsFromRepositoryOptions struct { ReleasesToInstall []ReleaseSpec KubeContext string Namespace string Repo string TLS bool HelmTLSStore string PackedValues []string SetValues []string Inject bool Parallel int Timeout int }
DeployChartsFromRepositoryOptions are options passed to DeployChartsFromRepository
type DiffOptions ¶
type DiffOptions struct { KubeContextLeft string EnvNameLeft string KubeContextRight string EnvNameRight string ReleasesSpecLeft []ReleaseSpec ReleasesSpecRight []ReleaseSpec Output string }
DiffOptions are options passed to PrintDiffTable
type FetchChartOptions ¶
FetchChartOptions are options passed to FetchChart
type GetInstalledReleasesOptions ¶
GetInstalledReleasesOptions are options passed to GetInstalledReleases
type LintOptions ¶
LintOptions are options passed to Lint
type PerformRequestOptions ¶
type PerformRequestOptions struct { Method string URL string Headers []string ExpectedStatusCode int Data io.Reader }
PerformRequestOptions are options passed to PerformRequest
type PushChartOptions ¶
PushChartOptions are options passed to PushChart
type PushChartToRepositoryOptions ¶
type PushChartToRepositoryOptions struct { Path string Append string Repo string Lint bool Print bool }
PushChartToRepositoryOptions are options passed to PushChartToRepository
type ReleaseSpec ¶
type ReleaseSpec struct { ReleaseName string `yaml:"release_name,omitempty"` ChartName string `yaml:"name,omitempty"` ChartVersion string `yaml:"version,omitempty"` Dependencies []string `yaml:"depends_on,omitempty"` }
ReleaseSpec holds data relevant to deploying a release
func GetInstalledReleases ¶
func GetInstalledReleases(o GetInstalledReleasesOptions) ([]ReleaseSpec, error)
GetInstalledReleases gets the installed Helm releases in a given namespace
func GetReleasesDelta ¶
func GetReleasesDelta(fromReleases, toReleases []ReleaseSpec) []ReleaseSpec
GetReleasesDelta returns the delta between two slices of ReleaseSpec
func InitReleases ¶
func InitReleases(env string, releases []string) []ReleaseSpec
InitReleases initializes a slice of ReleaseSpec from a string slice
func InitReleasesFromChartsFile ¶
func InitReleasesFromChartsFile(file, env string) []ReleaseSpec
InitReleasesFromChartsFile initializes a slice of ReleaseSpec from a yaml formatted charts file
func OverrideReleases ¶
func OverrideReleases(releases []ReleaseSpec, overrides []string, env string) []ReleaseSpec
OverrideReleases overrides versions of specified overrides
func RemoveChartFromCharts ¶
func RemoveChartFromCharts(charts []ReleaseSpec, index int) []ReleaseSpec
RemoveChartFromCharts removes a ReleaseSpec from a slice of ReleaseSpec
func RemoveChartFromDependencies ¶
func RemoveChartFromDependencies(charts []ReleaseSpec, name string) []ReleaseSpec
RemoveChartFromDependencies removes a release from other releases ReleaseSpec depends_on field
func (ReleaseSpec) Equals ¶
func (r ReleaseSpec) Equals(b ReleaseSpec) bool
Equals compares two ReleaseSpecs
type UpdateChartDependenciesOptions ¶
UpdateChartDependenciesOptions are options passed to UpdateChartDependencies