Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ChartSpec ¶
type ChartSpec struct {
ReleaseName string
Namespace string
ChartName string
Version string
ValuesYaml string
}
ChartSpec is subset of type helmclient.ChartSpec(https://pkg.go.dev/github.com/nxtcoder17/go-helm-client#ChartSpec)
type Client ¶
type Client interface {
// chart repo
AddOrUpdateChartRepo(ctx context.Context, entry RepoEntry) error
// release
GetReleaseValues(ctx context.Context, namespace string, releaseName string) (map[string]any, error)
GetRelease(ctx context.Context, namespace string, releaseName string) (*release.Release, error)
HasBeenDeleted(ctx context.Context, namespace string, releaseName string) (bool, error)
UninstallRelease(ctx context.Context, namespace string, releaseName string) error
// install or upgrade release based on a chart
//EnsureRelease(ctx context.Context, namespace string, spec ChartSpec) (*release.Release, error)
InstallOrUpgradeChart(ctx context.Context, namespace string, spec ChartSpec, opts UpgradeOpts) (*release.Release, error)
GetLastOperationLogs() string
}
func NewHelmClient ¶
func NewHelmClient(config *rest.Config, opts ClientOptions) (Client, error)
func NewHelmClientOrDie ¶
func NewHelmClientOrDie(config *rest.Config, opts ClientOptions) Client
type ClientOptions ¶
type ClientOptions struct {
// path to the local helm repository cache, which keeps all index.yaml, tar.gz archives
RepositoryCacheDir string
// path to the local helm repository config, which is just an index.yaml containing entries for all charts this client has encountered
RepositoryConfigFile string
Logger logging.Logger
}
type RepoEntry ¶
RepoEntry is subset of type [type](https://pkg.go.dev/helm.sh/helm/v3/pkg/repo#Entry)
type UpgradeOpts ¶
type UpgradeOpts struct {
UpgradeOnlyIfValuesChanged bool
}
Click to show internal directories.
Click to hide internal directories.