Skip to content

Commit

Permalink
Merge pull request #108 from steadybit/refa/helm-no-hardcoded-uid
Browse files Browse the repository at this point in the history
refa: improve helm chart for openshift
  • Loading branch information
joshiste authored Dec 9, 2024
2 parents c96256f + df59b84 commit 46fcc44
Show file tree
Hide file tree
Showing 10 changed files with 325 additions and 67 deletions.
2 changes: 1 addition & 1 deletion charts/steadybit-extension-host/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: steadybit-extension-host
description: Steadybit host extension Helm chart for Kubernetes.
version: 1.1.28
version: 1.1.30
appVersion: v1.2.25
home: https://www.steadybit.com/
icon: https://steadybit-website-assets.s3.amazonaws.com/logo-symbol-transparent.png
Expand Down
13 changes: 13 additions & 0 deletions charts/steadybit-extension-host/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{- /*
will omit attribute from the passed in object depending on the KubeVersion
*/}}
{{- define "omitForKuberVersion" -}}
{{- $top := index . 0 -}}
{{- $versionConstraint := index . 1 -}}
{{- $dict := index . 2 -}}
{{- $toOmit := index . 3 -}}
{{- if semverCompare $versionConstraint $top.Capabilities.KubeVersion.Version -}}
{{- $dict := omit $dict $toOmit -}}
{{- end -}}
{{- $dict | toYaml -}}
{{- end -}}
15 changes: 3 additions & 12 deletions charts/steadybit-extension-host/templates/daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -114,19 +114,10 @@ spec:
httpGet:
path: /health/readiness
port: {{ .Values.containerPorts.health }}
{{- with (include "omitForKuberVersion" (list . "<1.30-0" .Values.containerSecurityContext "appArmorProfile" )) }}
securityContext:
{{- if semverCompare ">=1.30-0" .Capabilities.KubeVersion.Version}}
appArmorProfile:
type: Unconfined
{{- end }}
seccompProfile:
type: Unconfined
capabilities:
add: {{ toJson .Values.securityContext.capabilities.add }}
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 10000
runAsGroup: 10000
{{- . | nindent 12 }}
{{- end }}
volumes:
- name: tmp-dir
emptyDir: {}
Expand Down
15 changes: 15 additions & 0 deletions charts/steadybit-extension-host/templates/scc-clusterrole.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{{- if or .Values.securityContextConstraint.create (and (.Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints") (eq .Values.securityContextConstraint.create nil)) -}}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: "system:openshift:scc:{{ .Values.securityContextConstraint.name }}"
rules:
- apiGroups:
- security.openshift.io
resourceNames:
- {{ .Values.securityContextConstraint.name }}
resources:
- securitycontextconstraints
verbs:
- use
{{- end -}}
15 changes: 15 additions & 0 deletions charts/steadybit-extension-host/templates/scc-rolebinding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{{- if or .Values.securityContextConstraint.create (and (.Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints") (eq .Values.securityContextConstraint.create nil)) -}}
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: "system:openshift:scc:{{ .Values.securityContextConstraint.name }}"
namespace: {{ .Release.Namespace }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: "system:openshift:scc:{{ .Values.securityContextConstraint.name }}"
subjects:
- kind: ServiceAccount
name: {{ .Values.serviceAccount.name }}
namespace: {{ .Release.Namespace }}
{{- end -}}
20 changes: 20 additions & 0 deletions charts/steadybit-extension-host/templates/scc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{{- if or .Values.securityContextConstraint.create (and (.Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints") (eq .Values.securityContextConstraint.create nil)) -}}
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
name: {{ .Values.securityContextConstraint.name }}
priority: null
allowedCapabilities:
{{- .Values.containerSecurityContext.capabilities.add | toYaml | nindent 2 }}
allowHostNetwork: true
allowHostPID: true
allowHostPorts: true
allowHostDirVolumePlugin: true
allowPrivilegeEscalation: true
runAsUser:
type: MustRunAsNonRoot
seccompProfiles:
- unconfined
seLinuxContext:
type: MustRunAs
{{- end -}}
Loading

0 comments on commit 46fcc44

Please sign in to comment.