Documentation ¶
Index ¶
- Constants
- type ChartOption
- type ChartSpec
- type Client
- type HelmClient
- func (c *HelmClient) AddOrUpdateChartRepo(entry repo.Entry, isUpdate bool, log *zap.SugaredLogger) error
- func (c *HelmClient) DeleteChartFromCache(spec *ChartSpec, chartOption *ChartOption) error
- func (c *HelmClient) InstallOrUpgradeChart(ctx context.Context, spec *ChartSpec, chartOption *ChartOption, ...) error
- func (c *HelmClient) LintChart(spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) error
- func (c *HelmClient) TemplateChart(spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) ([]byte, error)
- func (c *HelmClient) UninstallRelease(spec *ChartSpec) error
- func (c *HelmClient) UpdateChartRepos(log *zap.SugaredLogger) error
- type KubeConfClientOptions
- type Options
- type RESTClientGetter
- type RestConfClientOptions
Constants ¶
const ( DefaultCachePath = "/tmp/.helmcache" DefaultRepositoryConfigPath = "/tmp/.helmrepo" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChartOption ¶
type ChartOption struct {
ChartPath string `json:"chart_path"`
}
type ChartSpec ¶
type ChartSpec struct { ReleaseName string `json:"release"` ChartName string `json:"chart"` Namespace string `json:"namespace"` // use string instead of map[string]interface{} // https://github.com/kubernetes-sigs/kubebuilder/issues/528#issuecomment-466449483 // and https://github.com/kubernetes-sigs/controller-tools/pull/317 // +optional ValuesYaml string `json:"valuesYaml,omitempty"` // +optional Version string `json:"version,omitempty"` // +optional DisableHooks bool `json:"disableHooks,omitempty"` // +optional Replace bool `json:"replace,omitempty"` // +optional Wait bool `json:"wait,omitempty"` // +optional DependencyUpdate bool `json:"dependencyUpdate,omitempty"` // +optional Timeout time.Duration `json:"timeout,omitempty"` // +optional GenerateName bool `json:"generateName,omitempty"` // +optional NameTemplate string `json:"NameTemplate,omitempty"` // +optional Atomic bool `json:"atomic,omitempty"` // +optional SkipCRDs bool `json:"skipCRDs,omitempty"` // +optional UpgradeCRDs bool `json:"upgradeCRDs,omitempty"` // +optional SubNotes bool `json:"subNotes,omitempty"` // +optional Force bool `json:"force,omitempty"` // +optional ResetValues bool `json:"resetValues,omitempty"` // +optional ReuseValues bool `json:"reuseValues,omitempty"` // +optional Recreate bool `json:"recreate,omitempty"` // +optional MaxHistory int `json:"maxHistory,omitempty"` // +optional CleanupOnFail bool `json:"cleanupOnFail,omitempty"` }
ChartSpec defines the values of a helm chart
func (*ChartSpec) GetValuesMap ¶
GetValuesMap returns the mapped out values of a chart
type Client ¶
type Client interface { AddOrUpdateChartRepo(entry repo.Entry, isUpdate bool, log *zap.SugaredLogger) error UpdateChartRepos(log *zap.SugaredLogger) error InstallOrUpgradeChart(ctx context.Context, spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) error DeleteChartFromCache(spec *ChartSpec, chartOption *ChartOption) error UninstallRelease(spec *ChartSpec) error TemplateChart(spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) ([]byte, error) LintChart(spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) error }
func NewClientFromKubeConf ¶
func NewClientFromKubeConf(options *KubeConfClientOptions) (Client, error)
NewClientFromKubeConf returns a new Helm client constructed with the provided kubeconfig options
type HelmClient ¶
type HelmClient struct { Settings *cli.EnvSettings Providers getter.Providers ActionConfig *action.Configuration // contains filtered or unexported fields }
Client defines the values of a helm client
func (*HelmClient) AddOrUpdateChartRepo ¶
func (c *HelmClient) AddOrUpdateChartRepo(entry repo.Entry, isUpdate bool, log *zap.SugaredLogger) error
AddOrUpdateChartRepo adds or updates the provided helm chart repository
func (*HelmClient) DeleteChartFromCache ¶
func (c *HelmClient) DeleteChartFromCache(spec *ChartSpec, chartOption *ChartOption) error
DeleteChartFromCache deletes the provided chart from the client's cache
func (*HelmClient) InstallOrUpgradeChart ¶
func (c *HelmClient) InstallOrUpgradeChart(ctx context.Context, spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) error
InstallOrUpgradeChart triggers the installation of the provided chart. If the chart is already installed, trigger an upgrade instead
func (*HelmClient) LintChart ¶
func (c *HelmClient) LintChart(spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) error
检测chart信息
func (*HelmClient) TemplateChart ¶
func (c *HelmClient) TemplateChart(spec *ChartSpec, chartOption *ChartOption, log *zap.SugaredLogger) ([]byte, error)
chart template
func (*HelmClient) UninstallRelease ¶
func (c *HelmClient) UninstallRelease(spec *ChartSpec) error
UninstallRelease uninstalls the provided release
func (*HelmClient) UpdateChartRepos ¶
func (c *HelmClient) UpdateChartRepos(log *zap.SugaredLogger) error
UpdateChartRepos updates the list of chart repositories stored in the client's cache
type KubeConfClientOptions ¶
KubeConfClientOptions defines the options used for constructing a client via kubeconfig
type Options ¶
type Options struct { Namespace string RepositoryConfig string RepositoryCache string Debug bool Linting bool }
Options defines the options of a client
type RESTClientGetter ¶
type RESTClientGetter struct {
// contains filtered or unexported fields
}
RESTClientGetter defines the values of a helm REST client
func NewRESTClientGetter ¶
func NewRESTClientGetter(namespace string, kubeConfig []byte, restConfig *rest.Config) *RESTClientGetter
NewRESTClientGetter
func (*RESTClientGetter) ToDiscoveryClient ¶
func (c *RESTClientGetter) ToDiscoveryClient() (discovery.CachedDiscoveryInterface, error)
func (*RESTClientGetter) ToRESTConfig ¶
func (c *RESTClientGetter) ToRESTConfig() (*rest.Config, error)
ToRESTConfig returns a REST config build from a given kubeconfig
func (*RESTClientGetter) ToRESTMapper ¶
func (c *RESTClientGetter) ToRESTMapper() (meta.RESTMapper, error)
func (*RESTClientGetter) ToRawKubeConfigLoader ¶
func (c *RESTClientGetter) ToRawKubeConfigLoader() clientcmd.ClientConfig
type RestConfClientOptions ¶
RestConfClientOptions defines the options used for constructing a client via REST config