@@ -24,8 +24,12 @@ import (
24
24
"github.com/jetstack/navigator/pkg/controllers"
25
25
"github.com/jetstack/navigator/pkg/controllers/cassandra/nodepool"
26
26
"github.com/jetstack/navigator/pkg/controllers/cassandra/pilot"
27
+ "github.com/jetstack/navigator/pkg/controllers/cassandra/role"
28
+ "github.com/jetstack/navigator/pkg/controllers/cassandra/rolebinding"
27
29
servicecql "github.com/jetstack/navigator/pkg/controllers/cassandra/service/cql"
28
30
serviceseedprovider "github.com/jetstack/navigator/pkg/controllers/cassandra/service/seedprovider"
31
+ "github.com/jetstack/navigator/pkg/controllers/cassandra/serviceaccount"
32
+ rbacinformers "k8s.io/client-go/informers/rbac/v1beta1"
29
33
)
30
34
31
35
// NewCassandra returns a new CassandraController that can be used
@@ -35,16 +39,19 @@ import (
35
39
// It accepts a list of informers that are then used to monitor the state of the
36
40
// target cluster.
37
41
type CassandraController struct {
38
- control ControlInterface
39
- cassLister listersv1alpha1.CassandraClusterLister
40
- statefulSetLister appslisters.StatefulSetLister
41
- cassListerSynced cache.InformerSynced
42
- serviceListerSynced cache.InformerSynced
43
- statefulSetListerSynced cache.InformerSynced
44
- pilotsListerSynced cache.InformerSynced
45
- podsListerSynced cache.InformerSynced
46
- queue workqueue.RateLimitingInterface
47
- recorder record.EventRecorder
42
+ control ControlInterface
43
+ cassLister listersv1alpha1.CassandraClusterLister
44
+ statefulSetLister appslisters.StatefulSetLister
45
+ cassListerSynced cache.InformerSynced
46
+ serviceListerSynced cache.InformerSynced
47
+ statefulSetListerSynced cache.InformerSynced
48
+ pilotsListerSynced cache.InformerSynced
49
+ podsListerSynced cache.InformerSynced
50
+ serviceAccountsListerSynced cache.InformerSynced
51
+ rolesListerSynced cache.InformerSynced
52
+ roleBindingsListerSynced cache.InformerSynced
53
+ queue workqueue.RateLimitingInterface
54
+ recorder record.EventRecorder
48
55
}
49
56
50
57
func NewCassandra (
@@ -55,6 +62,9 @@ func NewCassandra(
55
62
statefulSets appsinformers.StatefulSetInformer ,
56
63
pilots navigatorinformers.PilotInformer ,
57
64
pods coreinformers.PodInformer ,
65
+ serviceAccounts coreinformers.ServiceAccountInformer ,
66
+ roles rbacinformers.RoleInformer ,
67
+ roleBindings rbacinformers.RoleBindingInformer ,
58
68
recorder record.EventRecorder ,
59
69
) * CassandraController {
60
70
queue := workqueue .NewNamedRateLimitingQueue (
@@ -82,6 +92,9 @@ func NewCassandra(
82
92
cc .statefulSetListerSynced = statefulSets .Informer ().HasSynced
83
93
cc .pilotsListerSynced = pilots .Informer ().HasSynced
84
94
cc .podsListerSynced = pods .Informer ().HasSynced
95
+ cc .serviceAccountsListerSynced = serviceAccounts .Informer ().HasSynced
96
+ cc .rolesListerSynced = roles .Informer ().HasSynced
97
+ cc .roleBindingsListerSynced = roleBindings .Informer ().HasSynced
85
98
cc .control = NewControl (
86
99
serviceseedprovider .NewControl (
87
100
kubeClient ,
@@ -105,6 +118,21 @@ func NewCassandra(
105
118
statefulSets .Lister (),
106
119
recorder ,
107
120
),
121
+ serviceaccount .NewControl (
122
+ kubeClient ,
123
+ serviceAccounts .Lister (),
124
+ recorder ,
125
+ ),
126
+ role .NewControl (
127
+ kubeClient ,
128
+ roles .Lister (),
129
+ recorder ,
130
+ ),
131
+ rolebinding .NewControl (
132
+ kubeClient ,
133
+ roleBindings .Lister (),
134
+ recorder ,
135
+ ),
108
136
recorder ,
109
137
)
110
138
cc .recorder = recorder
@@ -274,6 +302,9 @@ func CassandraControllerFromContext(ctx *controllers.Context) *CassandraControll
274
302
ctx .KubeSharedInformerFactory .Apps ().V1beta1 ().StatefulSets (),
275
303
ctx .SharedInformerFactory .Navigator ().V1alpha1 ().Pilots (),
276
304
ctx .KubeSharedInformerFactory .Core ().V1 ().Pods (),
305
+ ctx .KubeSharedInformerFactory .Core ().V1 ().ServiceAccounts (),
306
+ ctx .KubeSharedInformerFactory .Rbac ().V1beta1 ().Roles (),
307
+ ctx .KubeSharedInformerFactory .Rbac ().V1beta1 ().RoleBindings (),
277
308
ctx .Recorder ,
278
309
)
279
310
}
0 commit comments