Skip to content

Commit 5ff76f1

Browse files
authored
Merge pull request #66 from bart0sh/PR004-update-deployment-for-1.31
Update deployment for Kubernetes 1.31
2 parents 2713efd + e696b21 commit 5ff76f1

File tree

3 files changed

+48
-6
lines changed

3 files changed

+48
-6
lines changed

deployments/helm/dra-example-driver/templates/clusterrole.yaml

+9-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ metadata:
55
name: {{ include "dra-example-driver.fullname" . }}-role
66
namespace: {{ include "dra-example-driver.namespace" . }}
77
rules:
8-
- apiGroups:
9-
- ""
10-
- resource.k8s.io
11-
- gpu.resource.example.com
12-
resources: ["*"]
13-
verbs: ["*"]
8+
- apiGroups: ["resource.k8s.io"]
9+
resources: ["resourceclaims"]
10+
verbs: ["get"]
11+
- apiGroups: [""]
12+
resources: ["nodes"]
13+
verbs: ["get"]
14+
- apiGroups: ["resource.k8s.io"]
15+
resources: ["resourceslices"]
16+
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
apiVersion: admissionregistration.k8s.io/v1
2+
kind: ValidatingAdmissionPolicy
3+
metadata:
4+
name: resourceslices-policy-{{ include "dra-example-driver.fullname" . }}
5+
spec:
6+
failurePolicy: Fail
7+
matchConstraints:
8+
resourceRules:
9+
- apiGroups: ["resource.k8s.io"]
10+
apiVersions: ["v1alpha3"]
11+
operations: ["CREATE", "UPDATE", "DELETE"]
12+
resources: ["resourceslices"]
13+
matchConditions:
14+
- name: isRestrictedUser
15+
expression: >-
16+
request.userInfo.username == "system:serviceaccount:{{ include "dra-example-driver.namespace" . }}:{{ include "dra-example-driver.serviceAccountName" . }}"
17+
variables:
18+
- name: userNodeName
19+
expression: >-
20+
request.userInfo.extra[?'authentication.kubernetes.io/node-name'][0].orValue('')
21+
- name: objectNodeName
22+
expression: >-
23+
(request.operation == "DELETE" ? oldObject : object).spec.?nodeName.orValue("")
24+
validations:
25+
- expression: variables.userNodeName != ""
26+
message: >-
27+
no node association found for user, this user must run in a pod on a node and ServiceAccountTokenPodNodeInfo must be enabled
28+
- expression: variables.userNodeName == variables.objectNodeName
29+
messageExpression: >-
30+
"this user running on node '"+variables.userNodeName+"' may not modify " +
31+
(variables.objectNodeName == "" ?"cluster resourceslices" : "resourceslices on node '"+variables.objectNodeName+"'")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: admissionregistration.k8s.io/v1
2+
kind: ValidatingAdmissionPolicyBinding
3+
metadata:
4+
name: resourceslices-policy-{{ include "dra-example-driver.fullname" . }}
5+
spec:
6+
policyName: resourceslices-policy-{{ include "dra-example-driver.fullname" . }}
7+
validationActions: [Deny]
8+
# All ResourceSlices are matched.

0 commit comments

Comments
 (0)