Merge pull request #130 from jk-cluster/feat/gotenberg-seccomp-runtimedefault

gotenberg: seccompProfile RuntimeDefault in the pod context
This commit is contained in:
jklein authored and GitHub committed 2026-08-23 21:11:07 +00:00
commit 1d73beff4c
3 files changed
+17 -2

No files matched your search

+1 -1
View File
@@ -5,7 +5,7 @@ icon: https://gotenberg.dev/img/logo.png
type: application
version: 7.0.0+up8.36.0
version: 8.0.0+up8.36.0
appVersion: "8.36.0"
maintainers:
+2 -1
View File
@@ -214,7 +214,8 @@ rebuilt default probe needs no further context.
{{- $defaults := dict
"runAsNonRoot" true
"runAsUser" 1001
"runAsGroup" 1001 -}}
"runAsGroup" 1001
"seccompProfile" (dict "type" "RuntimeDefault") -}}
{{- include "gotenberg.defaultedDict" (dict "defaults" $defaults "given" $given "path" "gotenberg.securityContext.pod") -}}
{{- end -}}
+14
View File
@@ -16,6 +16,20 @@ gotenberg:
runAsNonRoot: true
runAsUser: 1001
runAsGroup: 1001
# RuntimeDefault applies the container runtime's default seccomp filter,
# which blocks the syscalls a normal workload never makes. It sits in the
# pod context on purpose: from here it covers every container in the pod
# including init containers, while a container-level seccompProfile would
# have to be repeated for each one (and silently missed on the next one
# added). A container that genuinely needs a different filter can still
# override it under securityContext.container, which wins over this value.
#
# Verified against both conversion engines, because a browser sandbox is
# the classic case where a syscall filter bites: Chromium HTML->PDF and
# LibreOffice document->PDF both still return real PDFs under the filter,
# and /health reports chromium and libreoffice as "up".
seccompProfile:
type: RuntimeDefault
container:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true