Skip to content

Commit b812a8a

Browse files
authored
[CHORE] Switch to namespace-scoped role + rolebinding resources (#5972)
## Description of changes This will be the first step towards making it easily possible to run multiple chroma instances in the same k8s cluster. ## Test plan `tilt up` ## Migration plan Will have to try this out in a staging environment. Not completely sure yet. ## Observability plan n/a ## Documentation Changes n/a
1 parent c10e9be commit b812a8a

9 files changed

+67
-49
lines changed

Tiltfile

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -190,27 +190,27 @@ k8s_resource(
190190
'garbage-collection-service-memberlist:MemberList',
191191
'rust-log-service-memberlist:MemberList',
192192

193-
'sysdb-serviceaccount:serviceaccount',
193+
'sysdb-serviceaccount:ServiceAccount',
194194
'sysdb-serviceaccount-rolebinding:RoleBinding',
195-
'sysdb-query-service-memberlist-binding:clusterrolebinding',
196-
'sysdb-compaction-service-memberlist-binding:clusterrolebinding',
195+
'sysdb-query-service-memberlist-binding:RoleBinding',
196+
'sysdb-compaction-service-memberlist-binding:RoleBinding',
197197

198-
'query-service-serviceaccount:serviceaccount',
198+
'query-service-serviceaccount:ServiceAccount',
199199
'query-service-serviceaccount-rolebinding:RoleBinding',
200-
'query-service-memberlist-readerwriter:ClusterRole',
201-
'query-service-query-service-memberlist-binding:clusterrolebinding',
202-
'query-service-memberlist-readerwriter-binding:clusterrolebinding',
203-
204-
'compaction-service-memberlist-readerwriter:ClusterRole',
205-
'compaction-service-compaction-service-memberlist-binding:clusterrolebinding',
206-
'compaction-service-memberlist-readerwriter-binding:clusterrolebinding',
207-
'compaction-service-serviceaccount:serviceaccount',
200+
'query-service-memberlist-readerwriter:Role',
201+
'query-service-query-service-memberlist-binding:RoleBinding',
202+
'query-service-memberlist-readerwriter-binding:RoleBinding',
203+
204+
'compaction-service-memberlist-readerwriter:Role',
205+
'compaction-service-compaction-service-memberlist-binding:RoleBinding',
206+
'compaction-service-memberlist-readerwriter-binding:RoleBinding',
207+
'compaction-service-serviceaccount:ServiceAccount',
208208
'compaction-service-serviceaccount-rolebinding:RoleBinding',
209209

210210
'test-memberlist:MemberList',
211-
'test-memberlist-reader:ClusterRole',
212-
'test-memberlist-reader-binding:ClusterRoleBinding',
213-
'lease-watcher:role',
211+
'test-memberlist-reader:Role',
212+
'test-memberlist-reader-binding:RoleBinding',
213+
'lease-watcher:Role',
214214
'rust-frontend-service-config:ConfigMap',
215215
],
216216
new_name='k8s_setup',

k8s/distributed-chroma/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ apiVersion: v2
1616
name: distributed-chroma
1717
description: A helm chart for distributed Chroma
1818
type: application
19-
version: 0.1.67
19+
version: 0.1.68
2020
appVersion: "0.4.24"
2121
keywords:
2222
- chroma

k8s/distributed-chroma/templates/compaction-service-memberlist-cr.yaml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ spec:
1313
---
1414

1515
apiVersion: rbac.authorization.k8s.io/v1
16-
kind: ClusterRole
16+
kind: Role
1717
metadata:
1818
name: compaction-service-memberlist-readerwriter
19+
namespace: {{ .Values.namespace }}
1920
rules:
2021
- apiGroups:
2122
- chroma.cluster
@@ -34,12 +35,13 @@ rules:
3435
---
3536

3637
apiVersion: rbac.authorization.k8s.io/v1
37-
kind: ClusterRoleBinding
38+
kind: RoleBinding
3839
metadata:
3940
name: sysdb-compaction-service-memberlist-binding
41+
namespace: {{ .Values.namespace }}
4042
roleRef:
4143
apiGroup: rbac.authorization.k8s.io
42-
kind: ClusterRole
44+
kind: Role
4345
name: compaction-service-memberlist-readerwriter
4446
subjects:
4547
- kind: ServiceAccount
@@ -49,14 +51,15 @@ subjects:
4951
---
5052

5153
apiVersion: rbac.authorization.k8s.io/v1
52-
kind: ClusterRoleBinding
54+
kind: RoleBinding
5355
metadata:
5456
# Awkward name, but this lets the compaction-service-serviceaccount read
5557
# the compaction-service-memberlist.
5658
name: compaction-service-compaction-service-memberlist-binding
59+
namespace: {{ .Values.namespace }}
5760
roleRef:
5861
apiGroup: rbac.authorization.k8s.io
59-
kind: ClusterRole
62+
kind: Role
6063
name: compaction-service-memberlist-readerwriter
6164
subjects:
6265
- kind: ServiceAccount
@@ -66,12 +69,13 @@ subjects:
6669
---
6770

6871
apiVersion: rbac.authorization.k8s.io/v1
69-
kind: ClusterRoleBinding
72+
kind: RoleBinding
7073
metadata:
7174
name: compaction-service-memberlist-readerwriter-binding
75+
namespace: {{ .Values.namespace }}
7276
roleRef:
7377
apiGroup: rbac.authorization.k8s.io
74-
kind: ClusterRole
78+
kind: Role
7579
name: compaction-service-memberlist-readerwriter
7680
subjects:
7781
- kind: ServiceAccount

k8s/distributed-chroma/templates/garbage-collection-service-memberlist-cr.yaml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ spec:
88

99
---
1010
apiVersion: rbac.authorization.k8s.io/v1
11-
kind: ClusterRole
11+
kind: Role
1212
metadata:
1313
name: garbage-collection-service-memberlist-readerwriter
14+
namespace: {{ .Values.namespace }}
1415
rules:
1516
- apiGroups:
1617
- chroma.cluster
@@ -29,12 +30,13 @@ rules:
2930
---
3031

3132
apiVersion: rbac.authorization.k8s.io/v1
32-
kind: ClusterRoleBinding
33+
kind: RoleBinding
3334
metadata:
3435
name: sysdb-garbage-collection-service-memberlist-binding
36+
namespace: {{ .Values.namespace }}
3537
roleRef:
3638
apiGroup: rbac.authorization.k8s.io
37-
kind: ClusterRole
39+
kind: Role
3840
name: garbage-collection-service-memberlist-readerwriter
3941
subjects:
4042
- kind: ServiceAccount
@@ -43,12 +45,13 @@ subjects:
4345

4446
---
4547
apiVersion: rbac.authorization.k8s.io/v1
46-
kind: ClusterRoleBinding
48+
kind: RoleBinding
4749
metadata:
4850
name: garbage-collection-service-garbage-collection-service-memberlist-binding
51+
namespace: {{ .Values.namespace }}
4952
roleRef:
5053
apiGroup: rbac.authorization.k8s.io
51-
kind: ClusterRole
54+
kind: Role
5255
name: garbage-collection-service-memberlist-readerwriter
5356
subjects:
5457
- kind: ServiceAccount
@@ -58,12 +61,13 @@ subjects:
5861
---
5962

6063
apiVersion: rbac.authorization.k8s.io/v1
61-
kind: ClusterRoleBinding
64+
kind: RoleBinding
6265
metadata:
6366
name: garbage-collection-service-memberlist-readerwriter-binding
67+
namespace: {{ .Values.namespace }}
6468
roleRef:
6569
apiGroup: rbac.authorization.k8s.io
66-
kind: ClusterRole
70+
kind: Role
6771
name: garbage-collection-service-memberlist-readerwriter
6872
subjects:
6973
- kind: ServiceAccount

k8s/distributed-chroma/templates/lease-watcher-role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
apiVersion: rbac.authorization.k8s.io/v1
44
kind: Role
55
metadata:
6-
namespace: {{ .Values.namespace }}
76
name: lease-watcher
7+
namespace: {{ .Values.namespace }}
88
rules:
99
- apiGroups: ["coordination.k8s.io"]
1010
resources: ["leases"]

k8s/distributed-chroma/templates/pod-watcher-role.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
apiVersion: rbac.authorization.k8s.io/v1
44
kind: Role
55
metadata:
6-
namespace: {{ .Values.namespace }}
76
name: pod-watcher
7+
namespace: {{ .Values.namespace }}
88
rules:
99
- apiGroups: [""]
1010
resources: ["pods"]

k8s/distributed-chroma/templates/query-service-memberlist-cr.yaml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ spec:
1313
---
1414

1515
apiVersion: rbac.authorization.k8s.io/v1
16-
kind: ClusterRole
16+
kind: Role
1717
metadata:
1818
name: query-service-memberlist-readerwriter
19+
namespace: {{ .Values.namespace }}
1920
rules:
2021
- apiGroups:
2122
- chroma.cluster
@@ -34,12 +35,13 @@ rules:
3435
---
3536

3637
apiVersion: rbac.authorization.k8s.io/v1
37-
kind: ClusterRoleBinding
38+
kind: RoleBinding
3839
metadata:
3940
name: sysdb-query-service-memberlist-binding
41+
namespace: {{ .Values.namespace }}
4042
roleRef:
4143
apiGroup: rbac.authorization.k8s.io
42-
kind: ClusterRole
44+
kind: Role
4345
name: query-service-memberlist-readerwriter
4446
subjects:
4547
- kind: ServiceAccount
@@ -49,14 +51,15 @@ subjects:
4951
---
5052

5153
apiVersion: rbac.authorization.k8s.io/v1
52-
kind: ClusterRoleBinding
54+
kind: RoleBinding
5355
metadata:
5456
# Awkward name, but this lets the query-service-serviceaccount read
5557
# the query-service-memberlist.
5658
name: query-service-query-service-memberlist-binding
59+
namespace: {{ .Values.namespace }}
5760
roleRef:
5861
apiGroup: rbac.authorization.k8s.io
59-
kind: ClusterRole
62+
kind: Role
6063
name: query-service-memberlist-readerwriter
6164
subjects:
6265
- kind: ServiceAccount
@@ -66,12 +69,13 @@ subjects:
6669
---
6770

6871
apiVersion: rbac.authorization.k8s.io/v1
69-
kind: ClusterRoleBinding
72+
kind: RoleBinding
7073
metadata:
7174
name: query-service-memberlist-readerwriter-binding
75+
namespace: {{ .Values.namespace }}
7276
roleRef:
7377
apiGroup: rbac.authorization.k8s.io
74-
kind: ClusterRole
78+
kind: Role
7579
name: query-service-memberlist-readerwriter
7680
subjects:
7781
- kind: ServiceAccount
@@ -82,12 +86,13 @@ subjects:
8286

8387

8488
apiVersion: rbac.authorization.k8s.io/v1
85-
kind: ClusterRoleBinding
89+
kind: RoleBinding
8690
metadata:
8791
name: rust-frontend-service-query-service-memberlist-binding
92+
namespace: {{ .Values.namespace }}
8893
roleRef:
8994
apiGroup: rbac.authorization.k8s.io
90-
kind: ClusterRole
95+
kind: Role
9196
name: query-service-memberlist-readerwriter
9297
subjects:
9398
- kind: ServiceAccount

k8s/distributed-chroma/templates/rust-log-service-memberlist-cr.yaml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ spec:
88

99
---
1010
apiVersion: rbac.authorization.k8s.io/v1
11-
kind: ClusterRole
11+
kind: Role
1212
metadata:
1313
name: rust-log-service-memberlist-readerwriter
14+
namespace: {{ .Values.namespace }}
1415
rules:
1516
- apiGroups:
1617
- chroma.cluster
@@ -30,12 +31,13 @@ rules:
3031

3132
# Allows the sysdb service to read and write to the memberlist
3233
apiVersion: rbac.authorization.k8s.io/v1
33-
kind: ClusterRoleBinding
34+
kind: RoleBinding
3435
metadata:
3536
name: sysdb-rust-log-service-memberlist-binding
37+
namespace: {{ .Values.namespace }}
3638
roleRef:
3739
apiGroup: rbac.authorization.k8s.io
38-
kind: ClusterRole
40+
kind: Role
3941
name: rust-log-service-memberlist-readerwriter
4042
subjects:
4143
- kind: ServiceAccount
@@ -46,12 +48,13 @@ subjects:
4648

4749
# Allows the rust-frontend-service to read and write to the memberlist
4850
apiVersion: rbac.authorization.k8s.io/v1
49-
kind: ClusterRoleBinding
51+
kind: RoleBinding
5052
metadata:
5153
name: rust-frontend-service-rust-log-service-memberlist-binding
54+
namespace: {{ .Values.namespace }}
5255
roleRef:
5356
apiGroup: rbac.authorization.k8s.io
54-
kind: ClusterRole
57+
kind: Role
5558
name: rust-log-service-memberlist-readerwriter
5659
subjects:
5760
- kind: ServiceAccount

k8s/test/test-memberlist-cr.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ spec:
1414
---
1515

1616
apiVersion: rbac.authorization.k8s.io/v1
17-
kind: ClusterRole
17+
kind: Role
1818
metadata:
1919
name: test-memberlist-reader
20+
namespace: chroma
2021
rules:
2122
- apiGroups:
2223
- chroma.cluster
@@ -35,12 +36,13 @@ rules:
3536
---
3637

3738
apiVersion: rbac.authorization.k8s.io/v1
38-
kind: ClusterRoleBinding
39+
kind: RoleBinding
3940
metadata:
4041
name: test-memberlist-reader-binding
42+
namespace: chroma
4143
roleRef:
4244
apiGroup: rbac.authorization.k8s.io
43-
kind: ClusterRole
45+
kind: Role
4446
name: test-memberlist-reader
4547
subjects:
4648
- kind: ServiceAccount

0 commit comments

Comments
 (0)