• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubernetes-sigs / kubebuilder / 21778493952

07 Feb 2026 10:13AM UTC coverage: 73.863% (-0.09%) from 73.954%
21778493952

Pull #5448

github

camilamacedo86
fix(CLI/API) prevent --help from being validated as plugin name

- Add PersistentPreRunE hook to detect help flags in plugin values
- Filter help flags before plugin validation
- Show plugin descriptions instead of project versions
- Use short plugin keys (go/v4 vs go.kubebuilder.io/v4)
- Filter plugins by subcommand (init/edit/create)
- Hide deprecated plugins from help output
- Add documentation links for each plugin
- Improve root help wording for better getting-started experience

Generate-by: Cursour/Claude
Pull Request #5448: 🐛 fix(CLI/API) prevent --help from being validated as plugin name

174 of 227 new or added lines in 15 files covered. (76.65%)

1 existing line in 1 file now uncovered.

6887 of 9324 relevant lines covered (73.86%)

43.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.0
/pkg/plugins/optional/helm/v2alpha/plugin.go
1
/*
2
Copyright 2025 The Kubernetes Authors.
3

4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7

8
    http://www.apache.org/licenses/LICENSE-2.0
9

10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16

17
package v2alpha
18

19
import (
20
        "sigs.k8s.io/kubebuilder/v4/pkg/config"
21
        cfgv3 "sigs.k8s.io/kubebuilder/v4/pkg/config/v3"
22
        "sigs.k8s.io/kubebuilder/v4/pkg/model/stage"
23
        "sigs.k8s.io/kubebuilder/v4/pkg/plugin"
24
        "sigs.k8s.io/kubebuilder/v4/pkg/plugins"
25
)
26

27
const pluginName = "helm." + plugins.DefaultNameQualifier
28

29
var (
30
        pluginVersion            = plugin.Version{Number: 2, Stage: stage.Alpha}
31
        supportedProjectVersions = []config.Version{cfgv3.Version}
32
)
33

34
// Plugin implements the plugin.Full interface
35
type Plugin struct {
36
        editSubcommand
37
}
38

39
var _ plugin.Edit = Plugin{}
40

41
// PluginConfig defines the structure that will be used to track the data
42
type pluginConfig struct {
43
        ManifestsFile string `json:"manifests,omitempty"`
44
        OutputDir     string `json:"output,omitempty"`
45
}
46

47
// Name returns the name of the plugin
48
func (Plugin) Name() string { return pluginName }
7✔
49

50
// Version returns the version of the Helm plugin
51
func (Plugin) Version() plugin.Version { return pluginVersion }
7✔
52

53
// SupportedProjectVersions returns an array with all project versions supported by the plugin
54
func (Plugin) SupportedProjectVersions() []config.Version { return supportedProjectVersions }
1✔
55

56
// GetEditSubcommand will return the subcommand which is responsible for adding and/or edit a helm chart
57
func (p Plugin) GetEditSubcommand() plugin.EditSubcommand { return &p.editSubcommand }
1✔
58

59
// Description returns a short description of the plugin
NEW
60
func (Plugin) Description() string {
×
NEW
61
        return "Generate Helm Chart for project distribution"
×
NEW
62
}
×
63

64
// DeprecationWarning define the deprecation message or return empty when plugin is not deprecated
65
func (p Plugin) DeprecationWarning() string {
1✔
66
        return ""
1✔
67
}
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc