diff --git a/apps/charts/readeck/Chart.yaml b/apps/charts/readeck/Chart.yaml index 71ce3d0..7e3359c 100644 --- a/apps/charts/readeck/Chart.yaml +++ b/apps/charts/readeck/Chart.yaml @@ -1,3 +1,7 @@ apiVersion: v2 version: 1.0.0 name: readeck +dependencies: + - name: common + version: 1.0.0 + repository: file://../../common diff --git a/apps/charts/readeck/templates/deployment.yaml b/apps/charts/readeck/templates/deployment.yaml index f65a26c..4508e33 100644 --- a/apps/charts/readeck/templates/deployment.yaml +++ b/apps/charts/readeck/templates/deployment.yaml @@ -1,38 +1 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: "{{ .Release.Name }}" - labels: - app: "{{ .Release.Name }}" -spec: - replicas: 1 - revisionHistoryLimit: 0 - strategy: - type: Recreate - selector: - matchLabels: - app: "{{ .Release.Name }}" - template: - metadata: - labels: - app: "{{ .Release.Name }}" - spec: - containers: - - name: "{{ .Release.Name }}" - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: "{{ .Values.image.pullPolicy }}" - ports: - - containerPort: 8000 - name: http - env: - - name: TZ - value: "{{ .Values.globals.timezone }}" - - name: READECK_SERVER_HOST - value: "0.0.0.0" - volumeMounts: - - mountPath: /readeck - name: data - volumes: - - name: data - persistentVolumeClaim: - claimName: "{{ .Release.Name }}-data" +{{ include "common.deployment" . }} diff --git a/apps/charts/readeck/templates/pvc.yaml b/apps/charts/readeck/templates/pvc.yaml index bc1d0a6..379bad9 100644 --- a/apps/charts/readeck/templates/pvc.yaml +++ b/apps/charts/readeck/templates/pvc.yaml @@ -1,11 +1 @@ -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: '{{ .Release.Name }}-data' -spec: - accessModes: - - 'ReadWriteOnce' - resources: - requests: - storage: '1Gi' - storageClassName: '{{ .Values.globals.environment }}' +{{ include "common.pvc" . }} diff --git a/apps/charts/readeck/templates/service.yaml b/apps/charts/readeck/templates/service.yaml index f7001fc..f024c64 100644 --- a/apps/charts/readeck/templates/service.yaml +++ b/apps/charts/readeck/templates/service.yaml @@ -1,15 +1 @@ -apiVersion: v1 -kind: Service -metadata: - name: "{{ .Release.Name }}" - labels: - app: "{{ .Release.Name }}" -spec: - type: ClusterIP - ports: - - port: 80 - targetPort: 8000 - protocol: TCP - name: http - selector: - app: "{{ .Release.Name }}" +{{ include "common.service" . }} diff --git a/apps/charts/readeck/templates/virtual-service.yaml b/apps/charts/readeck/templates/virtual-service.yaml index 36e9d43..766f6b9 100644 --- a/apps/charts/readeck/templates/virtual-service.yaml +++ b/apps/charts/readeck/templates/virtual-service.yaml @@ -1,39 +1 @@ -apiVersion: networking.istio.io/v1 -kind: VirtualService -metadata: - name: "{{ .Release.Name }}-public" - namespace: "{{ .Release.Namespace }}" -spec: - gateways: - - "{{ .Values.globals.istio.gateways.public }}" - - mesh - hosts: - - "{{ .Values.subdomain }}.{{ .Values.globals.domain }}" - - mesh - http: - - route: - - destination: - host: "{{ .Release.Name }}" - port: - number: 80 - ---- -apiVersion: networking.istio.io/v1 -kind: VirtualService -metadata: - name: "{{ .Release.Name }}-private" - namespace: "{{ .Release.Namespace }}" -spec: - gateways: - - "{{ .Values.globals.istio.gateways.private }}" - - mesh - hosts: - - "{{ .Values.subdomain }}.{{ .Values.globals.domain }}" - - mesh - http: - - route: - - destination: - host: "{{ .Release.Name }}" - port: - number: 80 - +{{ include "common.virtualService" . }} diff --git a/apps/charts/readeck/values.yaml b/apps/charts/readeck/values.yaml index a52e1d5..d3a25ab 100644 --- a/apps/charts/readeck/values.yaml +++ b/apps/charts/readeck/values.yaml @@ -2,4 +2,47 @@ image: repository: codeberg.org/readeck/readeck tag: latest@sha256:7abebe109eacffe5ec4d6fa4a0a49780d421a674213b4fecdb54329abda887a3 pullPolicy: IfNotPresent + subdomain: readeck + +# Deployment configuration +deployment: + strategy: Recreate + replicas: 1 + revisionHistoryLimit: 0 + +# Container configuration +container: + port: 8000 + healthProbe: + type: tcpSocket + port: http # Use named port + +# Service configuration +service: + port: 80 + type: ClusterIP + +# Volume configuration +volumes: + - name: data + mountPath: /readeck + persistentVolumeClaim: data + +# Persistent volume claims +persistentVolumeClaims: + - name: data + size: 1Gi + +# VirtualService configuration +virtualService: + enabled: true + gateways: + public: true + private: true + +# Environment variables +env: + TZ: + value: "{timezone}" + READECK_SERVER_HOST: "0.0.0.0"