Skip to content

Commit 9dde5a1

Browse files
authored
Merge pull request #4739 from kersten/chore/improve-error-context-and-wrapping-helm
🌱 (chore): consistently wrap and enrich error messages across helm plugin
2 parents 5dadeac + 62c9753 commit 9dde5a1

File tree

4 files changed

+10
-9
lines changed

4 files changed

+10
-9
lines changed

pkg/plugins/optional/helm/v1alpha/commons.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package v1alpha
1818

1919
import (
2020
"errors"
21+
"fmt"
2122

2223
"sigs.k8s.io/kubebuilder/v4/pkg/config"
2324
)
@@ -26,10 +27,10 @@ func insertPluginMetaToConfig(target config.Config, cfg pluginConfig) error {
2627
err := target.DecodePluginConfig(pluginKey, cfg)
2728
if !errors.As(err, &config.UnsupportedFieldError{}) {
2829
if err != nil && !errors.As(err, &config.PluginKeyNotFoundError{}) {
29-
return err
30+
return fmt.Errorf("error decoding plugin configuration: %w", err)
3031
}
3132
if err = target.EncodePluginConfig(pluginKey, cfg); err != nil {
32-
return err
33+
return fmt.Errorf("error encoding plugin config: %w", err)
3334
}
3435
}
3536

pkg/plugins/optional/helm/v1alpha/edit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func (p *editSubcommand) Scaffold(fs machinery.Filesystem) error {
7878
scaffolder.InjectFS(fs)
7979
err := scaffolder.Scaffold()
8080
if err != nil {
81-
return err
81+
return fmt.Errorf("error scaffolding Helm chart: %w", err)
8282
}
8383

8484
// Track the resources following a declarative approach

pkg/plugins/optional/helm/v1alpha/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (p *initSubcommand) Scaffold(fs machinery.Filesystem) error {
5151
scaffolder.InjectFS(fs)
5252
err := scaffolder.Scaffold()
5353
if err != nil {
54-
return err
54+
return fmt.Errorf("error scaffolding helm chart: %w", err)
5555
}
5656

5757
// Track the resources following a declarative approach

pkg/plugins/optional/helm/v1alpha/scaffolds/init.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ func (s *initScaffolder) copyConfigFiles() error {
246246

247247
files, err := filepath.Glob(filepath.Join(dir.SrcDir, "*.yaml"))
248248
if err != nil {
249-
return err
249+
return fmt.Errorf("failed finding files in %q: %w", dir.SrcDir, err)
250250
}
251251

252252
// Skip processing if the directory is empty (no matching files)
@@ -291,13 +291,13 @@ func (s *initScaffolder) copyConfigFiles() error {
291291
func copyFileWithHelmLogic(srcFile, destFile, subDir, projectName string, hasConvertionalWebhook bool) error {
292292
if _, err := os.Stat(srcFile); os.IsNotExist(err) {
293293
log.Printf("Source file does not exist: %s", srcFile)
294-
return err
294+
return fmt.Errorf("source file does not exist %q: %w", srcFile, err)
295295
}
296296

297297
content, err := os.ReadFile(srcFile)
298298
if err != nil {
299299
log.Printf("Error reading source file: %s", srcFile)
300-
return err
300+
return fmt.Errorf("failed to read file %q: %w", srcFile, err)
301301
}
302302

303303
contentStr := string(content)
@@ -433,13 +433,13 @@ func copyFileWithHelmLogic(srcFile, destFile, subDir, projectName string, hasCon
433433
}
434434

435435
if err = os.MkdirAll(filepath.Dir(destFile), os.ModePerm); err != nil {
436-
return err
436+
return fmt.Errorf("error creating directory %q: %w", filepath.Dir(destFile), err)
437437
}
438438

439439
err = os.WriteFile(destFile, []byte(wrappedContent), os.ModePerm)
440440
if err != nil {
441441
log.Printf("Error writing destination file: %s", destFile)
442-
return err
442+
return fmt.Errorf("error writing destination file %q: %w", destFile, err)
443443
}
444444

445445
log.Printf("Successfully copied %s to %s", srcFile, destFile)

0 commit comments

Comments
 (0)