Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
Updated the Paperless AI Helm chart to version 0.3.0 to reflect the latest changes and improvements. Modified the deployment.yaml by adding liveness and readiness probes, which enhance the resilience and monitoring of the application by checking its availability and readiness to serve traffic. Additionally, adjusted the values.yaml file to set the service account creation to false and commented out the PUID and PGID environment variables for increased flexibility and to avoid potential permission issues during deployment. Note that the securityContext settings for the Pod and Container have also been changed to disable the pod's user/group settings, which may affect how the application interacts with resources.
84 lines
3.9 KiB
YAML
84 lines
3.9 KiB
YAML
# deployment.yaml
|
|
# Definiert das Kubernetes Deployment für die Paperless AI Anwendung.
|
|
# Ein Deployment verwaltet die Erstellung und Skalierung von Pods.
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ include "paperless-ai.fullname" . }} # Der Name des Deployments, generiert mit dem fullname-Template.
|
|
labels:
|
|
{{- include "paperless-ai.labels" . | nindent 4 }} # Allgemeine Labels für das Deployment.
|
|
spec:
|
|
{{- if not .Values.autoscaling.enabled }}
|
|
replicas: {{ .Values.replicaCount }} # Anzahl der gewünschten Pod-Replikate, wenn Autoscaling deaktiviert ist.
|
|
{{- end }}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "paperless-ai.selectorLabels" . | nindent 6 }} # Selector, um die Pods zu finden, die zu diesem Deployment gehören.
|
|
template:
|
|
metadata:
|
|
{{- with .Values.podAnnotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 8 }} # Zusätzliche Anmerkungen für den Pod.
|
|
{{- end }}
|
|
labels:
|
|
{{- include "paperless-ai.selectorLabels" . | nindent 8 }} # Labels für den Pod.
|
|
spec:
|
|
{{- with .Values.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{- toYaml . | nindent 8 }} # Secrets für den Image-Pull, falls private Registries verwendet werden.
|
|
{{- end }}
|
|
serviceAccountName: {{ include "paperless-ai.serviceAccountName" . }} # Der zu verwendende Service Account.
|
|
{{- if .Values.securityContext.enabled }}
|
|
securityContext:
|
|
{{- toYaml .Values.securityContext.pod | nindent 8 }} # Sicherheitskontext-Einstellungen für den gesamten Pod.
|
|
{{- end }}
|
|
containers:
|
|
- name: {{ .Chart.Name }} # Name des Containers.
|
|
{{- if .Values.securityContext.enabled }}
|
|
securityContext:
|
|
{{- toYaml .Values.securityContext.container | nindent 12 }} # Sicherheitskontext-Einstellungen für diesen Container.
|
|
{{- end }}
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" # Das zu verwendende Image.
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }} # Die Image-Pull-Policy.
|
|
ports:
|
|
- name: http # Name des Ports.
|
|
containerPort: {{ .Values.service.targetPort }} # Der Port, der im Container geöffnet ist.
|
|
protocol: TCP # Das Protokoll des Ports.
|
|
livenessProbe:
|
|
{{- toYaml .Values.livenessProbe | nindent 12 }}
|
|
readinessProbe:
|
|
{{- toYaml .Values.readinessProbe | nindent 12 }}
|
|
resources:
|
|
{{- toYaml .Values.resources | nindent 12 }}
|
|
{{- with .Values.envs }}
|
|
env:
|
|
{{- range $key, $value := .Values.env }}
|
|
- name: {{ $key }} # Name der Umgebungsvariable.
|
|
value: {{ $value | quote }} # Wert der Umgebungsvariable.
|
|
{{- end }}
|
|
{{- if .Values.persistence.enabled }}
|
|
volumeMounts:
|
|
- name: paperless-ai-data # Name des Volumes, das gemountet werden soll.
|
|
mountPath: /app/data # Der Pfad im Container, an dem das Volume gemountet wird.
|
|
{{- end }}
|
|
resources:
|
|
{{- toYaml .Values.resources | nindent 12 }} # Ressourcenanforderungen und -limits für den Container.
|
|
{{- with .Values.nodeSelector }}
|
|
nodeSelector:
|
|
{{- toYaml . | nindent 8 }} # Node-Selector-Regeln für die Pod-Platzierung.
|
|
{{- end }}
|
|
{{- with .Values.affinity }}
|
|
affinity:
|
|
{{- toYaml . | nindent 8 }} # Affinitätsregeln für die Pod-Platzierung.
|
|
{{- end }}
|
|
{{- with .Values.tolerations }}
|
|
tolerations:
|
|
{{- toYaml . | nindent 8 }} # Toleranzen für die Pod-Platzierung auf Tainted Nodes.
|
|
{{- end }}
|
|
{{- if .Values.persistence.enabled }}
|
|
volumes:
|
|
- name: paperless-ai-data # Definiert ein Volume mit dem Namen 'paperless-ai-data'.
|
|
persistentVolumeClaim:
|
|
claimName: {{ include "paperless-ai.fullname" . }}-data # Verweist auf den Persistent Volume Claim.
|
|
{{- end }}
|