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
}