func NewReleaseCli()

in helmcli/release.go [106:146]


func NewReleaseCli(
	kubeconfigPath string,
	namespace string,
	name string,
	ch *chart.Chart,
	labels map[string]string,
	valuesAppliers ...ValuesApplier,
) (*ReleaseCli, error) {
	// build default values
	values, err := copyValues(ch.Values)
	if err != nil {
		return nil, err
	}

	for _, applier := range valuesAppliers {
		if err := applier(values); err != nil {
			return nil, fmt.Errorf("failed to apply: %w", err)
		}
	}

	actionCfg := new(action.Configuration)
	if err := actionCfg.Init(
		&genericclioptions.ConfigFlags{
			KubeConfig: &kubeconfigPath,
		},
		namespace,
		"secret",
		debugLog,
	); err != nil {
		return nil, fmt.Errorf("failed to init action config: %w", err)
	}

	return &ReleaseCli{
		namespace: namespace,
		name:      name,
		cfg:       actionCfg,
		ch:        ch,
		values:    values,
		labels:    labels,
	}, nil
}