Skip to content

Commit cf63cf3

Browse files
committed
Add functions to inject for forward comptability with codegen
1 parent 294c7ee commit cf63cf3

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

cmd/kubebuilder-gen/internal/controllergen/inject.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ func init() {
9696
{{ range $group := .APIS.Groups }}{{ range $version := $group.Versions }}{{ range $res := $version.Resources -}}
9797
arguments.ControllerManager.AddInformerProvider(&{{.Group}}{{.Version}}.{{.Kind}}{}, factory.{{title .Group}}().{{title .Version}}().{{plural .Kind}}())
9898
{{ end }}{{ end }}{{ end -}}
99+
100+
99101
}
100102
101103

cmd/kubebuilder/initproject/inject.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,21 @@ var (
6969
// SetInformers adds the informers for the apis defined in this project.
7070
// Should be set by code generation in this package.
7171
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
7278
)
7379
7480
// RunAll starts all of the informers and Controllers
7581
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+
}
7687
if SetInformers != nil {
7788
factory := externalversions.NewSharedInformerFactory(arguments.Clientset, time.Minute * 5)
7889
SetInformers(arguments, factory)
@@ -85,6 +96,12 @@ func RunAll(options run.RunArguments, arguments args.InjectArgs) error {
8596
}
8697
}
8798
arguments.ControllerManager.RunInformersAndControllers(options)
99+
100+
if Run != nil {
101+
if err := Run(options); err != nil {
102+
return error
103+
}
104+
}
88105
<-options.Stop
89106
return nil
90107
}

0 commit comments

Comments
 (0)