Skip to content

Commit 5221f52

Browse files
authored
Merge pull request #4741 from kersten/chore/improve-error-context-kustomize
🌱 (chore): improve error context in common kustomize plugin scaffolds
2 parents 23a8583 + 25d102f commit 5221f52

File tree

5 files changed

+35
-7
lines changed

5 files changed

+35
-7
lines changed

pkg/plugins/common/kustomize/v2/api.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package v2
1818

1919
import (
20+
"fmt"
21+
2022
"sigs.k8s.io/kubebuilder/v4/pkg/machinery"
2123
"sigs.k8s.io/kubebuilder/v4/pkg/plugin"
2224
"sigs.k8s.io/kubebuilder/v4/pkg/plugins/common/kustomize/v2/scaffolds"
@@ -34,5 +36,9 @@ func (p *createAPISubcommand) Scaffold(fs machinery.Filesystem) error {
3436
}
3537
scaffolder := scaffolds.NewAPIScaffolder(p.config, *p.resource, p.force)
3638
scaffolder.InjectFS(fs)
37-
return scaffolder.Scaffold()
39+
if err := scaffolder.Scaffold(); err != nil {
40+
return fmt.Errorf("failed to scaffold api subcommand: %w", err)
41+
}
42+
43+
return nil
3844
}

pkg/plugins/common/kustomize/v2/create.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package v2
1818

1919
import (
20+
"fmt"
2021
"strconv"
2122

2223
"github.com/spf13/pflag"
@@ -50,7 +51,7 @@ func (p *createSubcommand) InjectResource(res *resource.Resource) error {
5051
func (p *createSubcommand) configure() (err error) {
5152
if forceFlag := p.flagSet.Lookup("force"); forceFlag != nil {
5253
if p.force, err = strconv.ParseBool(forceFlag.Value.String()); err != nil {
53-
return err
54+
return fmt.Errorf("invalid value for --force %s: %w", forceFlag.Value.String(), err)
5455
}
5556
}
5657
return nil

pkg/plugins/common/kustomize/v2/init.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (p *initSubcommand) InjectConfig(c config.Config) error {
6565
p.config = c
6666

6767
if err := p.config.SetDomain(p.domain); err != nil {
68-
return err
68+
return fmt.Errorf("error setting domain: %w", err)
6969
}
7070

7171
// Assign a default project name
@@ -80,11 +80,20 @@ func (p *initSubcommand) InjectConfig(c config.Config) error {
8080
if err := validation.IsDNS1123Label(p.name); err != nil {
8181
return fmt.Errorf("project name %q is invalid: %v", p.name, err)
8282
}
83-
return p.config.SetProjectName(p.name)
83+
84+
if err := p.config.SetProjectName(p.name); err != nil {
85+
return fmt.Errorf("error setting project name: %w", err)
86+
}
87+
88+
return nil
8489
}
8590

8691
func (p *initSubcommand) Scaffold(fs machinery.Filesystem) error {
8792
scaffolder := scaffolds.NewInitScaffolder(p.config)
8893
scaffolder.InjectFS(fs)
89-
return scaffolder.Scaffold()
94+
if err := scaffolder.Scaffold(); err != nil {
95+
return fmt.Errorf("failed to scaffold init subcommand: %w", err)
96+
}
97+
98+
return nil
9099
}

pkg/plugins/common/kustomize/v2/scaffolds/init.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package scaffolds
1818

1919
import (
20+
"fmt"
21+
2022
log "github.com/sirupsen/logrus"
2123

2224
"sigs.k8s.io/kubebuilder/v4/pkg/config"
@@ -88,5 +90,9 @@ func (s *initScaffolder) Scaffold() error {
8890
&prometheus.ServiceMonitorPatch{},
8991
}
9092

91-
return scaffold.Execute(templates...)
93+
if err := scaffold.Execute(templates...); err != nil {
94+
return fmt.Errorf("failed to scaffold kustomize manifests: %w", err)
95+
}
96+
97+
return nil
9298
}

pkg/plugins/common/kustomize/v2/webhook.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package v2
1818

1919
import (
20+
"fmt"
21+
2022
"sigs.k8s.io/kubebuilder/v4/pkg/machinery"
2123
"sigs.k8s.io/kubebuilder/v4/pkg/plugin"
2224
"sigs.k8s.io/kubebuilder/v4/pkg/plugins/common/kustomize/v2/scaffolds"
@@ -34,5 +36,9 @@ func (p *createWebhookSubcommand) Scaffold(fs machinery.Filesystem) error {
3436
}
3537
scaffolder := scaffolds.NewWebhookScaffolder(p.config, *p.resource, p.force)
3638
scaffolder.InjectFS(fs)
37-
return scaffolder.Scaffold()
39+
if err := scaffolder.Scaffold(); err != nil {
40+
return fmt.Errorf("failed to scaffold webhook subcommand: %w", err)
41+
}
42+
43+
return nil
3844
}

0 commit comments

Comments
 (0)