File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed
kubebuilder-gen/internal/controllergen Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -96,6 +96,8 @@ func init() {
96
96
{{ range $group := .APIS.Groups }}{{ range $version := $group.Versions }}{{ range $res := $version.Resources -}}
97
97
arguments.ControllerManager.AddInformerProvider(&{{.Group}}{{.Version}}.{{.Kind}}{}, factory.{{title .Group}}().{{title .Version}}().{{plural .Kind}}())
98
98
{{ end }}{{ end }}{{ end -}}
99
+
100
+
99
101
}
100
102
101
103
Original file line number Diff line number Diff line change @@ -69,10 +69,21 @@ var (
69
69
// SetInformers adds the informers for the apis defined in this project.
70
70
// Should be set by code generation in this package.
71
71
SetInformers func(args.InjectArgs, externalversions.SharedInformerFactory)
72
+
73
+ // Inject may be set by generated code
74
+ Inject func(args.InjectArgs) error
75
+
76
+ // Run may be set by generated code
77
+ Run func(run.RunArguments) error
72
78
)
73
79
74
80
// RunAll starts all of the informers and Controllers
75
81
func RunAll(options run.RunArguments, arguments args.InjectArgs) error {
82
+ if Inject != nil {
83
+ if err := Inject(arguments); err != nil {
84
+ return err
85
+ }
86
+ }
76
87
if SetInformers != nil {
77
88
factory := externalversions.NewSharedInformerFactory(arguments.Clientset, time.Minute * 5)
78
89
SetInformers(arguments, factory)
@@ -85,6 +96,12 @@ func RunAll(options run.RunArguments, arguments args.InjectArgs) error {
85
96
}
86
97
}
87
98
arguments.ControllerManager.RunInformersAndControllers(options)
99
+
100
+ if Run != nil {
101
+ if err := Run(options); err != nil {
102
+ return error
103
+ }
104
+ }
88
105
<-options.Stop
89
106
return nil
90
107
}
You can’t perform that action at this time.
0 commit comments