@@ -38,16 +38,59 @@ To access the API locally:
3838To access the UI locally:
3939 kubectl -n {{ .Release.Namespace}} port-forward svc/{{ include "netapp-neo.fullname" . }}-ui 8080:{{ .Values.ui.service.port }}
4040
41+ {{- if .Values.openshift.deploy }}
42+
43+ OpenShift mode is enabled (openshift.deploy=true).
44+
45+ Service accounts created:
46+ - api: {{ include "netapp-neo.apiServiceAccountName" . }}
47+ - ui: {{ include "netapp-neo.uiServiceAccountName" . }}
4148{{- if .Values.openshift.privilegedWorkloads.worker.enabled }}
49+ - worker: {{ include "netapp-neo.workerPrivilegedServiceAccountName" . }}
50+ {{- end }}
51+ {{- if .Values.openshift.privilegedWorkloads.extractor.enabled }}
52+ - extractor: {{ include "netapp-neo.extractorPrivilegedServiceAccountName" . }}
53+ {{- end }}
54+ {{- if and .Values.openshift.postgres.bindAnyuid .Values.postgresql.enabled }}
55+ - postgres: {{ include "netapp-neo.postgresServiceAccountName" . }}
56+ {{- end }}
4257
43- OpenShift setup required for worker privileged mode:
44- - Bind an SCC that allows the required mount behavior to service account:
45- {{ include "netapp-neo.workerPrivilegedServiceAccountName" . }}
58+ {{- if .Values.openshift.privilegedWorkloads.bindSCC }}
59+
60+ SCC access for the privileged workloads was bound automatically via RoleBindings:
61+ {{- if .Values.openshift.privilegedWorkloads.worker.enabled }}
62+ - {{ include "netapp-neo.workerPrivilegedServiceAccountName" . }} -> system:openshift:scc:{{ .Values.openshift.privilegedWorkloads.sccName }}
4663{{- end }}
64+ {{- if .Values.openshift.privilegedWorkloads.extractor.enabled }}
65+ - {{ include "netapp-neo.extractorPrivilegedServiceAccountName" . }} -> system:openshift:scc:{{ .Values.openshift.privilegedWorkloads.sccName }}
66+ {{- end }}
67+ No manual `oc adm policy` step is required.
68+ {{- else }}
4769
70+ SCC auto-binding is disabled (openshift.privilegedWorkloads.bindSCC=false).
71+ Bind an SCC that allows the required mount behavior manually:
72+ {{- if .Values.openshift.privilegedWorkloads.worker.enabled }}
73+ oc adm policy add-scc-to-user {{ .Values.openshift.privilegedWorkloads.sccName }} -z {{ include "netapp-neo.workerPrivilegedServiceAccountName" . }} -n {{ .Release.Namespace }}
74+ {{- end }}
4875{{- if .Values.openshift.privilegedWorkloads.extractor.enabled }}
76+ oc adm policy add-scc-to-user {{ .Values.openshift.privilegedWorkloads.sccName }} -z {{ include "netapp-neo.extractorPrivilegedServiceAccountName" . }} -n {{ .Release.Namespace }}
77+ {{- end }}
78+ {{- end }}
79+
80+ {{- if and .Values.openshift.postgres.bindAnyuid .Values.postgresql.enabled }}
81+
82+ PostgreSQL runs under the {{ .Values.openshift.postgres.sccName }} SCC
83+ {{- if not .Values.openshift.privilegedWorkloads.bindSCC }} (bind manually):
84+ oc adm policy add-scc-to-user {{ .Values.openshift.postgres.sccName }} -z {{ include "netapp-neo.postgresServiceAccountName" . }} -n {{ .Release.Namespace }}
85+ {{- else }} (bound automatically).
86+ {{- end }}
87+ {{- end }}
88+
89+ Verify the SCC RoleBindings:
90+ oc get rolebinding -n {{ .Release.Namespace }} | grep scc
91+ {{- else }}
4992
50- OpenShift setup required for extractor privileged mode:
51- - Bind an SCC that allows the required mount behavior to service account:
52- {{ include "netapp-neo.extractorPrivilegedServiceAccountName" . }}
93+ Running in vanilla Kubernetes mode (openshift.deploy=false).
94+ Workloads use explicit runAsUser security contexts and the default service account.
95+ Set openshift.deploy=true to enable the OpenShift security model (restricted-v2 + SCC binding).
5396{{- end }}
0 commit comments