/
template.go
60 lines (50 loc) · 1.77 KB
/
template.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package controller
import (
openshiftcontrolplanev1 "github.com/openshift/api/openshiftcontrolplane/v1"
buildv1client "github.com/openshift/client-go/build/clientset/versioned"
templatecontroller "github.com/openshift/openshift-controller-manager/pkg/template/controller"
"k8s.io/client-go/dynamic"
)
func RunTemplateInstanceController(ctx *ControllerContext) (bool, error) {
saName := infraTemplateInstanceControllerServiceAccountName
restConfig, err := ctx.ClientBuilder.Config(saName)
if err != nil {
return true, err
}
dynamicClient, err := dynamic.NewForConfig(restConfig)
if err != nil {
return true, err
}
var buildClient buildv1client.Interface
if ctx.IsControllerEnabled(string(openshiftcontrolplanev1.OpenShiftBuildController)) {
buildClient = ctx.ClientBuilder.OpenshiftBuildClientOrDie(saName)
}
go templatecontroller.NewTemplateInstanceController(
ctx.RestMapper,
dynamicClient,
ctx.ClientBuilder.ClientOrDie(saName).AuthorizationV1(),
ctx.ClientBuilder.ClientOrDie(saName),
buildClient,
ctx.ClientBuilder.OpenshiftTemplateClientOrDie(saName).TemplateV1(),
ctx.TemplateInformers.Template().V1().TemplateInstances(),
).Run(5, ctx.Stop)
return true, nil
}
func RunTemplateInstanceFinalizerController(ctx *ControllerContext) (bool, error) {
saName := infraTemplateInstanceFinalizerControllerServiceAccountName
restConfig, err := ctx.ClientBuilder.Config(saName)
if err != nil {
return true, err
}
dynamicClient, err := dynamic.NewForConfig(restConfig)
if err != nil {
return true, err
}
go templatecontroller.NewTemplateInstanceFinalizerController(
ctx.RestMapper,
dynamicClient,
ctx.ClientBuilder.OpenshiftTemplateClientOrDie(saName),
ctx.TemplateInformers.Template().V1().TemplateInstances(),
).Run(5, ctx.Stop)
return true, nil
}