From f519a0e43f6731961d372727e66293d8bf7129d6 Mon Sep 17 00:00:00 2001 From: titver968 Date: Wed, 10 Sep 2025 14:31:07 +0200 Subject: [PATCH] qr-formlink added --- qr-formlink/index.yaml | 14 ++++ qr-formlink/qr-formlink-0.0.1.tgz | Bin 0 -> 2500 bytes qr-formlink/qr-formlink/Chart.yaml | 6 ++ .../qr-formlink/templates/_helpers.tpl | 62 ++++++++++++++ .../qr-formlink/templates/deployment.yaml | 78 ++++++++++++++++++ qr-formlink/qr-formlink/templates/hpa.yaml | 18 ++++ .../qr-formlink/templates/ingress.yaml | 45 ++++++++++ .../qr-formlink/templates/service.yaml | 26 ++++++ .../qr-formlink/templates/serviceaccount.yaml | 13 +++ qr-formlink/qr-formlink/values.yaml | 76 +++++++++++++++++ 10 files changed, 338 insertions(+) create mode 100644 qr-formlink/index.yaml create mode 100644 qr-formlink/qr-formlink-0.0.1.tgz create mode 100644 qr-formlink/qr-formlink/Chart.yaml create mode 100644 qr-formlink/qr-formlink/templates/_helpers.tpl create mode 100644 qr-formlink/qr-formlink/templates/deployment.yaml create mode 100644 qr-formlink/qr-formlink/templates/hpa.yaml create mode 100644 qr-formlink/qr-formlink/templates/ingress.yaml create mode 100644 qr-formlink/qr-formlink/templates/service.yaml create mode 100644 qr-formlink/qr-formlink/templates/serviceaccount.yaml create mode 100644 qr-formlink/qr-formlink/values.yaml diff --git a/qr-formlink/index.yaml b/qr-formlink/index.yaml new file mode 100644 index 0000000..2288bf1 --- /dev/null +++ b/qr-formlink/index.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +entries: + qr-formlink: + - apiVersion: v2 + appVersion: 0.0.1 + created: "2025-09-10T14:30:06.250652+02:00" + description: A Helm chart for Kubernetes + digest: 782c2b9f212c13d22409afae86ebbcd80adf8874a1c34f27fbd81e502f2c9747 + name: qr-formlink + type: application + urls: + - https://gitea.innovation-hub-niedersachsen.de/innohub/charts/raw/main/qr-formlink/qr-formlink-0.0.1.tgz + version: 0.0.1 +generated: "2025-09-10T14:30:06.250083+02:00" diff --git a/qr-formlink/qr-formlink-0.0.1.tgz b/qr-formlink/qr-formlink-0.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4ed795556614a4509d37de4ac7b908ecf23bd4ec GIT binary patch literal 2500 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 O0RR8qwsv*^J^%nA-sW5Y literal 0 HcmV?d00001 diff --git a/qr-formlink/qr-formlink/Chart.yaml b/qr-formlink/qr-formlink/Chart.yaml new file mode 100644 index 0000000..3ac0149 --- /dev/null +++ b/qr-formlink/qr-formlink/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: qr-formlink +description: A Helm chart for Kubernetes +type: application +version: "0.0.1" +appVersion: "0.0.1" diff --git a/qr-formlink/qr-formlink/templates/_helpers.tpl b/qr-formlink/qr-formlink/templates/_helpers.tpl new file mode 100644 index 0000000..8fe85e2 --- /dev/null +++ b/qr-formlink/qr-formlink/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "qr-formlink.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "qr-formlink.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "qr-formlink.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "qr-formlink.labels" -}} +helm.sh/chart: {{ include "qr-formlink.chart" . }} +{{ include "qr-formlink.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "qr-formlink.selectorLabels" -}} +app.kubernetes.io/name: {{ include "qr-formlink.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "qr-formlink.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "qr-formlink.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/qr-formlink/qr-formlink/templates/deployment.yaml b/qr-formlink/qr-formlink/templates/deployment.yaml new file mode 100644 index 0000000..66fb9ce --- /dev/null +++ b/qr-formlink/qr-formlink/templates/deployment.yaml @@ -0,0 +1,78 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "qr-formlink.fullname" . }} + labels: + app: {{ template "qr-formlink.name" . }} + chart: {{ template "qr-formlink.chart" . }} + component: qr-formlink + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + {{- if .Values.deploymentLabels }} + {{- toYaml .Values.deploymentLabels | nindent 4 }} + {{- end }} +spec: + strategy: + {{ toYaml .Values.updateStrategy | nindent 4 }} + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ template "qr-formlink.name" . }} + component: qr-formlink + release: {{ .Release.Name }} + template: + metadata: + annotations: + labels: + app: {{ template "qr-formlink.name" . }} + component: qr-formlink + release: {{ .Release.Name }} + {{- if .Values.podLabels }} + {{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + serviceAccountName: {{ template "qr-formlink.serviceAccountName" . }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + terminationMessagePolicy: FallbackToLogsOnError + ports: + - name: http + containerPort: {{ .Values.service.port }} + env: + {{- range $key := .Values.env }} + {{- if .value }} + - name: {{ .name }} + value: {{ .value | quote }} + {{- end }} + {{- end }} + {{- range $key := .Values.secretEnv }} + - name: {{ .name }} + valueFrom: + secretKeyRef: + name: {{ template "qr-formlink.fullname" $ }}-secret + key: {{ .name }} + {{- end }} + envFrom: + {{- with .Values.extraEnvFrom }} + {{- tpl . $ | nindent 10 }} + {{- end }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- with .Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} +{{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} diff --git a/qr-formlink/qr-formlink/templates/hpa.yaml b/qr-formlink/qr-formlink/templates/hpa.yaml new file mode 100644 index 0000000..303c34d --- /dev/null +++ b/qr-formlink/qr-formlink/templates/hpa.yaml @@ -0,0 +1,18 @@ +{{- if .Values.autoscaling.enabled -}} +apiVersion: autoscaling/v1 +kind: HorizontalPodAutoscaler +metadata: + name: {{ template "qr-formlink.fullname" . }} + labels: + app: {{ template "qr-formlink.name" . }} + chart: {{ template "qr-formlink.chart" . }} + component: qr-formlink + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ template "qr-formlink.fullname" . }} +{{ toYaml .Values.autoscaling.config | indent 2 }} +{{- end -}} diff --git a/qr-formlink/qr-formlink/templates/ingress.yaml b/qr-formlink/qr-formlink/templates/ingress.yaml new file mode 100644 index 0000000..a69b813 --- /dev/null +++ b/qr-formlink/qr-formlink/templates/ingress.yaml @@ -0,0 +1,45 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := include "qr-formlink.fullname" . -}} +{{- $servicePort := .Values.service.port -}} +{{- $ingressPath := .Values.ingress.path -}} +{{- $ingressPathType := .Values.ingress.pathtype -}} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ template "qr-formlink.name" . }} + chart: {{ template "qr-formlink.chart" . }} + component: qr-formlink + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +{{- with .Values.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ . }} + http: + paths: + - path: {{ $ingressPath }} + pathType: {{ $ingressPathType }} + backend: + service: + name: {{ $fullName }} + port: + number: 3000 + {{- end }} +{{- end }} + diff --git a/qr-formlink/qr-formlink/templates/service.yaml b/qr-formlink/qr-formlink/templates/service.yaml new file mode 100644 index 0000000..3a300c8 --- /dev/null +++ b/qr-formlink/qr-formlink/templates/service.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +kind: Service +metadata: + {{- if .Values.service.annotations }} + annotations: +{{ toYaml .Values.service.annotations | indent 4 }} + {{- end }} + name: {{ template "qr-formlink.fullname" . }} + labels: + app: {{ template "qr-formlink.name" . }} + chart: {{ template "qr-formlink.chart" . }} + component: qr-formlink + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: 3000 + protocol: TCP + name: npm + selector: + app: {{ template "qr-formlink.name" . }} + component: qr-formlink + release: {{ .Release.Name }} + diff --git a/qr-formlink/qr-formlink/templates/serviceaccount.yaml b/qr-formlink/qr-formlink/templates/serviceaccount.yaml new file mode 100644 index 0000000..0bd6b95 --- /dev/null +++ b/qr-formlink/qr-formlink/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "qr-formlink.serviceAccountName" . }} + labels: + {{- include "qr-formlink.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automount }} +{{- end }} diff --git a/qr-formlink/qr-formlink/values.yaml b/qr-formlink/qr-formlink/values.yaml new file mode 100644 index 0000000..d914fb5 --- /dev/null +++ b/qr-formlink/qr-formlink/values.yaml @@ -0,0 +1,76 @@ +platform: kubernetes + +serviceAccount: + create: true + name: "" + annotations: "" + automount: false + +image: + repository: gitea.innovation-hub-niedersachsen.de/innohub/qr-formlink + tag: v0.0.1 + pullPolicy: IfNotPresent + insecure: true + +replicaCount: 1 + +service: + type: ClusterIP + port: 3000 + annotations: {} + +endpoint: qr-formlink.local + +ingress: + enabled: false + annotations: {} + path: / + pathtype: ImplementationSpecific + hosts: + - qr-formlink.innohub.local + tls: + +route: + enabled: false + +resources: + requests: + memory: 128Mi + cpu: 300m + limits: + memory: 1Gi + cpu: 500m + +nodeSelector: {} +tolerations: [] +affinity: {} + +autoscaling: + enabled: true + config: + minReplicas: 1 + maxReplicas: 10 + targetCPUUtilizationPercentage: 80 + +deploymentLabels: {} +podLabels: {} + +sharedDataFolder: + enabled: true + path: /daten + accessMode: ReadWriteOnce + storageClass: + resources: + requests: + storage: 5Gi + +updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + maxSurge: 1 + +podSecurityContext: {} +securityContext: {} + +extraDeploy: []