Skip to content

Commit c8ea490

Browse files
authored
Merge pull request #377 from shengnuo/milvus-oc-rbac
Grant anyuid SCC to Milvus using k8s Role and RoleBinding
2 parents e203032 + be16f3f commit c8ea490

3 files changed

Lines changed: 51 additions & 6 deletions

File tree

test/e2e/nemo-dependencies/evaluator/tasks/milvus.yaml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@
77
set_fact:
88
is_openshift: "{{ 'routes.route.openshift.io' in api_resources.stdout_lines }}"
99

10-
- name: OpenShift - Create Milvus service account
11-
command: kubectl create serviceaccount milvus -n {{ namespace }}
12-
when: is_openshift
1310

14-
- name: OpenShift - Add SCC policy anyuid to Milvus service account
15-
command: oc adm policy add-scc-to-user anyuid system:serviceaccount:{{ namespace }}:milvus
16-
when: is_openshift
11+
- name: OpenShift - Prepare RBAC to use anyuid SCC
12+
ansible.builtin.template:
13+
src: milvus-oc-rbac.yaml.j2
14+
dest: milvus-oc-rbac.yaml
15+
when: is_openshift
16+
17+
- name: OpenShift - apply RBAC to use anyuid SCC
18+
command: kubectl apply -f milvus-oc-rbac.yaml
19+
when: is_openshift
1720

1821
- name: Add Helm repository for Milvus
1922
command: helm repo add {{ milvus.helm_repo_name }} {{ milvus.helm_repo_url }}

test/e2e/nemo-dependencies/evaluator/tasks/uninstall.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,12 @@
1919

2020
- name: Delete Milvus SA
2121
command: kubectl delete serviceaccount milvus -n {{ namespace }}
22+
ignore_errors: true
23+
24+
- name: Delete Milvus role
25+
command: kubectl delete role scc-anyuid -n {{ namespace }}
26+
ignore_errors: true
27+
28+
- name: Delete Milvus rolebinding
29+
command: kubectl delete rolebinding milvus-scc-anyuid-binding -n {{ namespace }}
2230
ignore_errors: true
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: milvus
5+
namespace: {{ namespace }}
6+
7+
---
8+
9+
apiVersion: rbac.authorization.k8s.io/v1
10+
kind: Role
11+
metadata:
12+
name: scc-anyuid
13+
namespace: {{ namespace }}
14+
rules:
15+
- apiGroups: ['security.openshift.io']
16+
resources: ['securitycontextconstraints']
17+
verbs: ['use']
18+
resourceNames: ['anyuid']
19+
20+
---
21+
22+
apiVersion: rbac.authorization.k8s.io/v1
23+
kind: RoleBinding
24+
metadata:
25+
name: milvus-scc-anyuid-binding
26+
namespace: {{ namespace }}
27+
subjects:
28+
- kind: ServiceAccount
29+
name: milvus
30+
namespace: {{ namespace }}
31+
roleRef:
32+
kind: ClusterRole
33+
name: scc-anyuid
34+
apiGroup: rbac.authorization.k8s.io

0 commit comments

Comments
 (0)