From 36eced0a3fa22c5a7cd2dbc879e3dbccd644306c Mon Sep 17 00:00:00 2001 From: jklein Date: Mon, 23 Feb 2026 16:34:15 +0100 Subject: [PATCH] feat(gotenberg): added initial chart --- gotenberg/.helmignore | 23 ++++++++++++++++++ gotenberg/Chart.yaml | 11 +++++++++ gotenberg/templates/deployment.yaml | 36 +++++++++++++++++++++++++++++ gotenberg/templates/service.yaml | 13 +++++++++++ gotenberg/values.yaml | 10 ++++++++ 5 files changed, 93 insertions(+) create mode 100644 gotenberg/.helmignore create mode 100644 gotenberg/Chart.yaml create mode 100644 gotenberg/templates/deployment.yaml create mode 100644 gotenberg/templates/service.yaml create mode 100644 gotenberg/values.yaml diff --git a/gotenberg/.helmignore b/gotenberg/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/gotenberg/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/gotenberg/Chart.yaml b/gotenberg/Chart.yaml new file mode 100644 index 0000000..8de3ed6 --- /dev/null +++ b/gotenberg/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v2 +name: gotenberg +description: A Helm chart to deploy Gotenberg on Kubernetes + +type: application + +version: 1.0.2-release-8-26-0 +appVersion: "8.26.0" + +maintainers: + - name: jklein \ No newline at end of file diff --git a/gotenberg/templates/deployment.yaml b/gotenberg/templates/deployment.yaml new file mode 100644 index 0000000..73122eb --- /dev/null +++ b/gotenberg/templates/deployment.yaml @@ -0,0 +1,36 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment + labels: + app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment + template: + metadata: + name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment + labels: + app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment + spec: + automountServiceAccountToken: false + containers: + - name: {{ .Release.Name }}-{{ .Chart.Name }}-deployment + image: "gotenberg/gotenberg:{{ .Chart.AppVersion }}" + imagePullPolicy: IfNotPresent + ports: + - containerPort: 3000 + protocol: TCP + name: gotenberg-port + resources: + requests: + memory: "{{ .Values.gotenberg.resources.requests.memory }}" + cpu: "{{ .Values.gotenberg.resources.requests.cpu }}" + ephemeral-storage: "{{ .Values.gotenberg.resources.requests.ephemeralStorage }}" + limits: + memory: "{{ .Values.gotenberg.resources.limits.memory }}" + cpu: "{{ .Values.gotenberg.resources.limits.cpu }}" + ephemeral-storage: "{{ .Values.gotenberg.resources.limits.ephemeralStorage }}" + restartPolicy: Always diff --git a/gotenberg/templates/service.yaml b/gotenberg/templates/service.yaml new file mode 100644 index 0000000..02600bd --- /dev/null +++ b/gotenberg/templates/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }}-{{ .Chart.Name }}-service +spec: + selector: + app: {{ .Release.Name }}-{{ .Chart.Name }}-deployment + ports: + - protocol: TCP + port: 80 + targetPort: gotenberg-port + name: gb-s-port + type: ClusterIP diff --git a/gotenberg/values.yaml b/gotenberg/values.yaml new file mode 100644 index 0000000..166dc06 --- /dev/null +++ b/gotenberg/values.yaml @@ -0,0 +1,10 @@ +gotenberg: + resources: + requests: + cpu: 0.1 + memory: 512Mi + ephemeralStorage: 10Mi + limits: + cpu: 1 + memory: 768Mi + ephemeralStorage: 100Mi \ No newline at end of file