Skip to content

Commit 92cfdf3

Browse files
authored
Upgrade helm-operator to Helm v3 (#2080)
* Upgrade helm-operator to Helm v3 * doc/helm: initial helm docs updates * CHANGELOG.md: add line for Helm v3 upgrade (#2080)
1 parent b50f059 commit 92cfdf3

39 files changed

+1288
-1014
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
### Changed
88

99
- Replace usage of `github.com/operator-framework/operator-sdk/pkg/restmapper.DynamicRESTMapper` with `sigs.k8s.io/controller-runtime/pkg/client/apiutil.DynamicRESTMapper`. ([#2309](https://github.com/operator-framework/operator-sdk/pull/2309))
10+
- Upgraded Helm operator packages and base image from Helm v2 to Helm v3. Cluster state for pre-existing CRs using Helm v2-based operators will be automatically migrated to Helm v3's new release storage format, and existing releases may be upgraded due to changes in Helm v3's label injection. ([#2080](https://github.com/operator-framework/operator-sdk/pull/2080))
1011

1112
### Deprecated
1213

cmd/operator-sdk/new/cmd.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"github.com/operator-framework/operator-sdk/internal/scaffold/input"
2929
"github.com/operator-framework/operator-sdk/internal/util/projutil"
3030

31+
"github.com/ghodss/yaml"
3132
"github.com/pkg/errors"
3233
log "github.com/sirupsen/logrus"
3334
"github.com/spf13/cobra"
@@ -311,11 +312,16 @@ func doHelmScaffold() error {
311312

312313
resource, chart, err := helm.CreateChart(cfg.AbsProjectPath, createOpts)
313314
if err != nil {
314-
return fmt.Errorf("failed to create helm chart: %s", err)
315+
return fmt.Errorf("failed to create helm chart: %w", err)
315316
}
316317

317-
valuesPath := filepath.Join("<project_dir>", helm.HelmChartsDir, chart.GetMetadata().GetName(), "values.yaml")
318-
crSpec := fmt.Sprintf("# Default values copied from %s\n\n%s", valuesPath, chart.GetValues().GetRaw())
318+
valuesPath := filepath.Join("<project_dir>", helm.HelmChartsDir, chart.Name(), "values.yaml")
319+
320+
rawValues, err := yaml.Marshal(chart.Values)
321+
if err != nil {
322+
return fmt.Errorf("failed to get raw chart values: %w", err)
323+
}
324+
crSpec := fmt.Sprintf("# Default values copied from %s\n\n%s", valuesPath, rawValues)
319325

320326
roleScaffold := helm.DefaultRoleScaffold
321327
if k8sCfg, err := config.GetConfig(); err != nil {
@@ -331,7 +337,7 @@ func doHelmScaffold() error {
331337
&helm.Dockerfile{},
332338
&helm.WatchesYAML{
333339
Resource: resource,
334-
ChartName: chart.GetMetadata().GetName(),
340+
ChartName: chart.Name(),
335341
},
336342
&scaffold.ServiceAccount{},
337343
&roleScaffold,
@@ -344,11 +350,11 @@ func doHelmScaffold() error {
344350
},
345351
)
346352
if err != nil {
347-
return fmt.Errorf("new helm scaffold failed: (%v)", err)
353+
return fmt.Errorf("new helm scaffold failed: %w", err)
348354
}
349355

350356
if err := scaffold.UpdateRoleForResource(resource, cfg.AbsProjectPath); err != nil {
351-
return fmt.Errorf("failed to update the RBAC manifest for resource (%v, %v): (%v)", resource.APIVersion, resource.Kind, err)
357+
return fmt.Errorf("failed to update the RBAC manifest for resource (%v, %v): %w", resource.APIVersion, resource.Kind, err)
352358
}
353359
return nil
354360
}

0 commit comments

Comments
 (0)