Skip to content

Commit d1f3427

Browse files
authored
gha: Allow the controller to watch Secrets / ConfigMaps in the single namespace mode (#5)
1 parent 8728190 commit d1f3427

File tree

4 files changed

+41
-10
lines changed

4 files changed

+41
-10
lines changed

charts/gha-runner-scale-set-controller/templates/manager_single_namespace_controller_role.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,20 @@ rules:
4646
verbs:
4747
- list
4848
- watch
49+
- apiGroups:
50+
- ""
51+
resources:
52+
- secrets
53+
verbs:
54+
- list
55+
- watch
56+
- apiGroups:
57+
- ""
58+
resources:
59+
- configmaps
60+
verbs:
61+
- list
62+
- watch
4963
- apiGroups:
5064
- rbac.authorization.k8s.io
5165
resources:

charts/gha-runner-scale-set-controller/templates/manager_single_namespace_watch_role.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,20 @@ rules:
107107
verbs:
108108
- list
109109
- watch
110+
- apiGroups:
111+
- ""
112+
resources:
113+
- secrets
114+
verbs:
115+
- list
116+
- watch
117+
- apiGroups:
118+
- ""
119+
resources:
120+
- configmaps
121+
verbs:
122+
- list
123+
- watch
110124
- apiGroups:
111125
- rbac.authorization.k8s.io
112126
resources:

charts/gha-runner-scale-set-controller/tests/template_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ func TestTemplate_CreateManagerSingleNamespaceRole(t *testing.T) {
911911

912912
assert.Equal(t, "test-arc-gha-rs-controller-single-namespace", managerSingleNamespaceControllerRole.Name)
913913
assert.Equal(t, namespaceName, managerSingleNamespaceControllerRole.Namespace)
914-
assert.Equal(t, 10, len(managerSingleNamespaceControllerRole.Rules))
914+
assert.Equal(t, 12, len(managerSingleNamespaceControllerRole.Rules))
915915

916916
output = helm.RenderTemplate(t, options, helmChartPath, releaseName, []string{"templates/manager_single_namespace_watch_role.yaml"})
917917

@@ -920,7 +920,7 @@ func TestTemplate_CreateManagerSingleNamespaceRole(t *testing.T) {
920920

921921
assert.Equal(t, "test-arc-gha-rs-controller-single-namespace-watch", managerSingleNamespaceWatchRole.Name)
922922
assert.Equal(t, "demo", managerSingleNamespaceWatchRole.Namespace)
923-
assert.Equal(t, 14, len(managerSingleNamespaceWatchRole.Rules))
923+
assert.Equal(t, 16, len(managerSingleNamespaceWatchRole.Rules))
924924
}
925925

926926
func TestTemplate_ManagerSingleNamespaceRoleBinding(t *testing.T) {

main.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,16 @@ func main() {
234234
cfg.QPS = float32(rateLimiterQPS)
235235
cfg.Burst = rateLimiterBurst
236236

237+
clientOptions := client.Options{}
238+
if watchSingleNamespace == "" {
239+
clientOptions.Cache = &client.CacheOptions{
240+
DisableFor: []client.Object{
241+
&corev1.Secret{},
242+
&corev1.ConfigMap{},
243+
},
244+
}
245+
}
246+
237247
mgr, err := ctrl.NewManager(cfg, ctrl.Options{
238248
Scheme: scheme,
239249
Metrics: metricsserver.Options{
@@ -246,14 +256,7 @@ func main() {
246256
WebhookServer: webhookServer,
247257
LeaderElection: enableLeaderElection,
248258
LeaderElectionID: leaderElectionId,
249-
Client: client.Options{
250-
Cache: &client.CacheOptions{
251-
DisableFor: []client.Object{
252-
&corev1.Secret{},
253-
&corev1.ConfigMap{},
254-
},
255-
},
256-
},
259+
Client: clientOptions,
257260
PprofBindAddress: pprofAddr,
258261
})
259262
if err != nil {

0 commit comments

Comments
 (0)