Skip to content
Snippets Groups Projects
Commit 37928adb authored by Sheogorath's avatar Sheogorath :european_castle: Committed by Brad Davidson
Browse files

feat: Reduce permissions for system-upgrade-controller serviceaccount

This patch drastically cuts down the permissions of the
system-upgrades-controller from the previous cluster-admin permissions
to a tailored set of permissions for the controller.
parent da10aca7
Branches
Tags
No related merge requests found
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- manifests/clusterrole.yaml
- manifests/clusterrolebinding.yaml
- manifests/system-upgrade-controller.yaml - manifests/system-upgrade-controller.yaml
images: images:
- name: rancher/system-upgrade-controller - name: rancher/system-upgrade-controller
......
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: system-upgrade-controller
rules:
- apiGroups:
- batch
resources:
- jobs
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- namespaces
- nodes
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- update
- apiGroups:
- upgrade.cattle.io
resources:
- plans
- plans/status
verbs:
- get
- list
- watch
- create
- patch
- update
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: system-upgrade-controller
rules:
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- deletecollection
- patch
- update
- get
- list
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- get
- list
- watch
---
# Borrowed from https://stackoverflow.com/a/63553032
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: system-upgrade-controller-drainer
rules:
# Needed to evict pods
- apiGroups:
- ""
resources:
- "pods/eviction"
verbs:
- "create"
# Needed to list pods by Node
- apiGroups:
- ""
resources:
- "pods"
verbs:
- "get"
- "list"
# Needed to cordon Nodes
- apiGroups:
- ""
resources:
- "nodes"
verbs:
- "get"
- "patch"
# Needed to determine Pod owners
- apiGroups:
- "apps"
resources:
- "statefulsets"
- "daemonsets"
- "replicasets"
verbs:
- "get"
- "list"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: system-upgrade-drainer
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system-upgrade-controller-drainer
subjects:
- kind: ServiceAccount
name: system-upgrade
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: system-upgrade
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system-upgrade-controller
subjects:
- kind: ServiceAccount
name: system-upgrade
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: system-upgrade
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: system-upgrade-controller
subjects:
- kind: ServiceAccount
name: system-upgrade
...@@ -11,19 +11,6 @@ metadata: ...@@ -11,19 +11,6 @@ metadata:
name: system-upgrade name: system-upgrade
namespace: system-upgrade namespace: system-upgrade
--- ---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: system-upgrade
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: system-upgrade
namespace: system-upgrade
---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment