Files
helm-charts-hardened/charts/spire/charts/spire-server/templates/roles.yaml
T
kfox1111 5d07eaff52 Align more settings to convention (#467)
* Align more settings to convention

Signed-off-by: Kevin Fox <[email protected]>

* Update docs

Signed-off-by: Kevin Fox <[email protected]>

---------

Signed-off-by: Kevin Fox <[email protected]>
2024-10-03 12:06:38 -07:00

96 lines
2.6 KiB
YAML

{{- $subject := include "spire-server.subject" . }}
{{- $namespace := include "spire-server.namespace" . }}
{{- $bundleNamespace := include "spire-server.bundle-namespace" . }}
{{- if .Values.notifier.k8sBundle.enabled }}
# Role to be able to push certificate bundles to a configmap
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "spire-lib.bundle-configmap" . }}
namespace: {{ $bundleNamespace }}
rules:
- apiGroups: [""]
resources: [configmaps]
resourceNames: [{{ include "spire-lib.bundle-configmap" . }}]
verbs:
- get
- patch
{{- end }}
{{- if and .Values.upstreamAuthority.certManager.enabled .Values.upstreamAuthority.certManager.rbac.create }}
---
# Role to be able to manage cert requests with Cert-Manager
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "spire-server.fullname" . }}-cm
namespace: {{ $namespace }}
rules:
- apiGroups: ["cert-manager.io"]
resources:
- certificaterequests
- issuers
verbs:
- list
- get
- create
- delete
- patch
- update
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "spire-server.fullname" . }}-cm
namespace: {{ $namespace }}
{{ $subject }}
roleRef:
kind: Role
name: {{ include "spire-server.fullname" . }}-cm
apiGroup: rbac.authorization.k8s.io
{{- end }}
{{- if .Values.notifier.k8sBundle.enabled }}
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "spire-lib.bundle-configmap" . }}
namespace: {{ $bundleNamespace }}
{{ $subject }}
roleRef:
kind: Role
name: {{ include "spire-lib.bundle-configmap" . }}
apiGroup: rbac.authorization.k8s.io
{{- end }}
{{- if and .Values.nodeAttestor.k8sPSAT.enabled }}
---
# ClusterRole to allow spire-server node attestor to query Token Review API
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Namespace}}-{{ include "spire-server.fullname" . }}
rules:
- apiGroups: [authentication.k8s.io]
resources: [tokenreviews]
verbs:
- get
- watch
- list
- create
- apiGroups: [""]
resources: [nodes, pods]
verbs:
- get
- list
---
# Binds above cluster role to spire-server service account
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ .Release.Namespace}}-{{ include "spire-server.fullname" . }}
{{ $subject }}
roleRef:
kind: ClusterRole
name: {{ .Release.Namespace}}-{{ include "spire-server.fullname" . }}
apiGroup: rbac.authorization.k8s.io
{{- end }}