Documentation ¶
Index ¶
- Constants
- func FindRequirementsFileName(dir string) (string, error)
- func LoadChartName(chartFile string) (string, error)
- func LoadChartNameAndVersion(chartFile string) (string, string, error)
- func SaveRequirementsFile(fileName string, requirements *Requirements) error
- type DepSorter
- type Dependency
- type ErrNoRequirementsFile
- type HelmCLI
- func (h *HelmCLI) AddRepo(repo string, URL string) error
- func (h *HelmCLI) BuildDependency() error
- func (h *HelmCLI) DeleteRelease(releaseName string, purge bool) error
- func (h *HelmCLI) FindChart() (string, error)
- func (h *HelmCLI) HelmBinary() string
- func (h *HelmCLI) Init(clientOnly bool, serviceAccount string, tillerNamespace string, upgrade bool) error
- func (h *HelmCLI) InstallChart(chart string, releaseName string, ns string, version *string, timeout *int, ...) error
- func (h *HelmCLI) IsRepoMissing(URL string) (bool, error)
- func (h *HelmCLI) Lint() (string, error)
- func (h *HelmCLI) ListCharts() (string, error)
- func (h *HelmCLI) ListRepos() (map[string]string, error)
- func (h *HelmCLI) PackageChart() error
- func (h *HelmCLI) RemoveRepo(repo string) error
- func (h *HelmCLI) RemoveRequirementsLock() error
- func (h *HelmCLI) SearchChartVersions(chart string) ([]string, error)
- func (h *HelmCLI) SetCWD(dir string)
- func (h *HelmCLI) SetHelmBinary(binary string)
- func (h *HelmCLI) StatusRelease(releaseName string) error
- func (h *HelmCLI) StatusReleases() (map[string]string, error)
- func (h *HelmCLI) UpdateRepo() error
- func (h *HelmCLI) UpgradeChart(chart string, releaseName string, ns string, version *string, install bool, ...) error
- func (h *HelmCLI) Version(tls bool) (string, error)
- type Helmer
- type Requirements
- type Version
Constants ¶
const ( RequirementsFileName = "requirements.yaml" DefaultHelmRepositoryURL = "http://jenkins-x-chartmuseum:8080" )
Variables ¶
This section is empty.
Functions ¶
func FindRequirementsFileName ¶
FindRequirementsFileName returns the default requirements.yaml file name
func LoadChartName ¶
func LoadChartNameAndVersion ¶
func SaveRequirementsFile ¶
func SaveRequirementsFile(fileName string, requirements *Requirements) error
SaveRequirementsFile saves the requirements file
Types ¶
type DepSorter ¶
type DepSorter []*Dependency
DepSorter Used to avoid merge conflicts by sorting deps by name
type Dependency ¶
type Dependency struct { // Name is the name of the dependency. // // This must mach the name in the dependency's Chart.yaml. Name string `json:"name"` // Version is the version (range) of this chart. // // A lock file will always produce a single version, while a dependency // may contain a semantic version range. Version string `json:"version,omitempty"` // The URL to the repository. // // Appending `index.yaml` to this string should result in a URL that can be // used to fetch the repository index. Repository string `json:"repository"` // A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled ) Condition string `json:"condition,omitempty"` // Tags can be used to group charts for enabling/disabling together Tags []string `json:"tags,omitempty"` // Enabled bool determines if chart should be loaded Enabled bool `json:"enabled,omitempty"` // ImportValues holds the mapping of source values to parent key to be imported. Each item can be a // string or pair of child/parent sublist items. ImportValues []interface{} `json:"import-values,omitempty"` // Alias usable alias to be used for the chart Alias string `json:"alias,omitempty"` }
Dependency describes a chart upon which another chart depends.
Dependencies can be used to express developer intent, or to capture the state of a chart.
type ErrNoRequirementsFile ¶
type ErrNoRequirementsFile error
ErrNoRequirementsFile to detect error condition
type HelmCLI ¶
HelmCLI implements common helm actions based on helm CLI
func NewHelmCLI ¶
NewHelmCLI creates a new HelmCLI instance configured to used the provided helm CLI in the given current working directory
func (*HelmCLI) BuildDependency ¶
BuildDependency builds the helm dependencies of the helm chart from the current working directory
func (*HelmCLI) DeleteRelease ¶
DeleteRelease removes the given release
func (*HelmCLI) FindChart ¶
FindChart find a chart in the current working directory, if no chart file is found an error is returned
func (*HelmCLI) HelmBinary ¶
HelmBinary return the configured helm CLI
func (*HelmCLI) Init ¶
func (h *HelmCLI) Init(clientOnly bool, serviceAccount string, tillerNamespace string, upgrade bool) error
Init executes the helm init command according with the given flags
func (*HelmCLI) InstallChart ¶
func (h *HelmCLI) InstallChart(chart string, releaseName string, ns string, version *string, timeout *int, values []string, valueFiles []string) error
InstallChart installs a helm chart according with the given flags
func (*HelmCLI) IsRepoMissing ¶
IsRepoMissing checks if the repository with the given URL is missing from helm
func (*HelmCLI) Lint ¶
Lint lints the helm chart from the current working directory and returns the warnings in the output
func (*HelmCLI) ListCharts ¶
ListCharts execute the helm list command and returns its output
func (*HelmCLI) PackageChart ¶
PackageChart packages the chart from the current working directory
func (*HelmCLI) RemoveRepo ¶
RemoveRepo removes the given repo from helm
func (*HelmCLI) RemoveRequirementsLock ¶
RemoveRequirementsLock removes the requirements.lock file from the current working directory
func (*HelmCLI) SearchChartVersions ¶
SearchChartVersions search all version of the given chart
func (*HelmCLI) SetHelmBinary ¶
SetHelmBinary configure a new helm CLI
func (*HelmCLI) StatusRelease ¶
StatusRelease returns the output of the helm status command for a given release
func (*HelmCLI) StatusReleases ¶
StatusReleases returns the status of all installed releases
func (*HelmCLI) UpdateRepo ¶
UpdateRepo updates the helm repositories
type Helmer ¶
type Helmer interface { SetCWD(dir string) HelmBinary() string SetHelmBinary(binary string) Init(clientOnly bool, serviceAccount string, tillerNamespace string, upgrade bool) error AddRepo(repo string, URL string) error RemoveRepo(repo string) error ListRepos() (map[string]string, error) UpdateRepo() error IsRepoMissing(URL string) (bool, error) RemoveRequirementsLock() error BuildDependency() error InstallChart(chart string, releaseName string, ns string, version *string, timeout *int, values []string, valueFiles []string) error UpgradeChart(chart string, releaseName string, ns string, version *string, install bool, timeout *int, force bool, wait bool, values []string, valueFiles []string) error DeleteRelease(releaseName string, purge bool) error ListCharts() (string, error) SearchChartVersions(chart string) ([]string, error) FindChart() (string, error) PackageChart() error StatusRelease(releaseName string) error StatusReleases() (map[string]string, error) Lint() (string, error) Version(tls bool) (string, error) }
Helmer defines common helm actions used within Jenkins X
type Requirements ¶
type Requirements struct {
Dependencies []*Dependency `json:"dependencies"`
}
Requirements is a list of requirements for a chart.
Requirements are charts upon which this chart depends. This expresses developer intent.
func LoadRequirements ¶
func LoadRequirements(data []byte) (*Requirements, error)
LoadRequirements loads the requirements from some data
func LoadRequirementsFile ¶
func LoadRequirementsFile(fileName string) (*Requirements, error)
LoadRequirementsFile loads the requirements file or creates empty requirements if the file does not exist
func (*Requirements) RemoveApp ¶
func (r *Requirements) RemoveApp(app string) bool
RemoveApp removes the given app name. Returns true if a dependency was removed
func (*Requirements) SetAppVersion ¶
func (r *Requirements) SetAppVersion(app string, version string, repository string)
SetAppVersion sets the version of the app to use