@@ -20,7 +20,7 @@ import (
20
20
"sigs.k8s.io/kubebuilder/v3/pkg/config"
21
21
)
22
22
23
- // Plugin is an interface that defines the common base for all plugins
23
+ // Plugin is an interface that defines the common base for all plugins.
24
24
type Plugin interface {
25
25
// Name returns a DNS1123 label string identifying the plugin uniquely. This name should be fully-qualified,
26
26
// i.e. have a short prefix describing the plugin type (like a language) followed by a domain.
@@ -41,45 +41,46 @@ type Deprecated interface {
41
41
DeprecationWarning () string
42
42
}
43
43
44
- // Init is an interface for plugins that provide an `init` subcommand
44
+ // Init is an interface for plugins that provide an `init` subcommand.
45
45
type Init interface {
46
46
Plugin
47
47
// GetInitSubcommand returns the underlying InitSubcommand interface.
48
48
GetInitSubcommand () InitSubcommand
49
49
}
50
50
51
- // CreateAPI is an interface for plugins that provide a `create api` subcommand
51
+ // CreateAPI is an interface for plugins that provide a `create api` subcommand.
52
52
type CreateAPI interface {
53
53
Plugin
54
54
// GetCreateAPISubcommand returns the underlying CreateAPISubcommand interface.
55
55
GetCreateAPISubcommand () CreateAPISubcommand
56
56
}
57
57
58
- // CreateWebhook is an interface for plugins that provide a `create webhook` subcommand
58
+ // CreateWebhook is an interface for plugins that provide a `create webhook` subcommand.
59
59
type CreateWebhook interface {
60
60
Plugin
61
61
// GetCreateWebhookSubcommand returns the underlying CreateWebhookSubcommand interface.
62
62
GetCreateWebhookSubcommand () CreateWebhookSubcommand
63
63
}
64
64
65
- // Edit is an interface for plugins that provide a `edit` subcommand
65
+ // Edit is an interface for plugins that provide a `edit` subcommand.
66
66
type Edit interface {
67
67
Plugin
68
68
// GetEditSubcommand returns the underlying EditSubcommand interface.
69
69
GetEditSubcommand () EditSubcommand
70
70
}
71
71
72
- // Full is an interface for plugins that provide `init`, `create api`, `create webhook` and `edit` subcommands
72
+ // Full is an interface for plugins that provide `init`, `create api`, `create webhook` and `edit` subcommands.
73
73
type Full interface {
74
74
Init
75
75
CreateAPI
76
76
CreateWebhook
77
77
Edit
78
78
}
79
79
80
- // Bundle allows to group plugins under a single key
80
+ // Bundle allows to group plugins under a single key.
81
81
type Bundle interface {
82
82
Plugin
83
- // Plugins returns a list of the bundled plugins
83
+ // Plugins returns a list of the bundled plugins.
84
+ // The returned list should be flattened, i.e., no plugin bundles should be part of this list.
84
85
Plugins () []Plugin
85
86
}
0 commit comments