immich-app / immich-charts

Helm chart implementation of Immich
https://immich.app
GNU Affero General Public License v3.0
132 stars 54 forks source link

Upgrade common chart. Allow split api/worker config. #137

Open midzelis opened 4 weeks ago

midzelis commented 4 weeks ago

Note - this is a breaking change, and chart's major version has been revved.

github-actions[bot] commented 4 weeks ago

Changes in Final Manifest

### manifest.yaml ```diff --- a/main/charts/immich/build/manifest.yaml +++ b/charts/immich/build/manifest.yaml @@ -5,21 +5,21 @@ kind: Service metadata: name: immich-machine-learning labels: - app.kubernetes.io/service: immich-machine-learning app.kubernetes.io/instance: immich app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: machine-learning + app.kubernetes.io/service: immich-machine-learning app.kubernetes.io/version: v1.118.0 - helm.sh/chart: immich-0.8.2 - annotations: + helm.sh/chart: immich-0.9.0 spec: type: ClusterIP ports: - port: 3003 - targetPort: http + targetPort: 3003 protocol: TCP name: http selector: + app.kubernetes.io/component: machine-learning app.kubernetes.io/instance: immich app.kubernetes.io/name: machine-learning --- @@ -29,21 +29,21 @@ kind: Service metadata: name: immich-server labels: - app.kubernetes.io/service: immich-server app.kubernetes.io/instance: immich app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: server + app.kubernetes.io/service: immich-server app.kubernetes.io/version: v1.118.0 - helm.sh/chart: immich-0.8.2 - annotations: + helm.sh/chart: immich-0.9.0 spec: type: ClusterIP ports: - port: 2283 - targetPort: http + targetPort: 2283 protocol: TCP name: http selector: + app.kubernetes.io/component: immich-server app.kubernetes.io/instance: immich app.kubernetes.io/name: server --- @@ -53,11 +53,12 @@ kind: Deployment metadata: name: immich-machine-learning labels: + app.kubernetes.io/component: machine-learning app.kubernetes.io/instance: immich app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: machine-learning app.kubernetes.io/version: v1.118.0 - helm.sh/chart: immich-0.8.2 + helm.sh/chart: immich-0.9.0 spec: revisionHistoryLimit: 3 replicas: 1 @@ -65,65 +66,33 @@ spec: type: Recreate selector: matchLabels: + app.kubernetes.io/component: machine-learning app.kubernetes.io/name: machine-learning app.kubernetes.io/instance: immich template: metadata: - labels: - app.kubernetes.io/name: machine-learning + labels: + app.kubernetes.io/component: machine-learning app.kubernetes.io/instance: immich - spec: - + app.kubernetes.io/name: machine-learning + spec: + enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true + hostIPC: false + hostNetwork: false + hostPID: false dnsPolicy: ClusterFirst - enableServiceLinks: true - containers: - - name: immich-machine-learning - image: ghcr.io/immich-app/immich-machine-learning:v1.118.0 + containers: + - image: ghcr.io/immich-app/immich-machine-learning:v1.118.0 imagePullPolicy: IfNotPresent - env: - - name: DB_DATABASE_NAME - value: immich - - name: DB_HOSTNAME - value: immich-postgresql - - name: DB_PASSWORD - value: immich - - name: DB_USERNAME - value: immich - - name: IMMICH_MACHINE_LEARNING_URL - value: http://immich-machine-learning:3003 - - name: REDIS_HOSTNAME - value: immich-redis-master - - name: TRANSFORMERS_CACHE - value: /cache - ports: - - name: http - containerPort: 3003 - protocol: TCP + name: main volumeMounts: - - name: cache - mountPath: /cache - livenessProbe: - failureThreshold: 3 - httpGet: - path: /ping - port: http - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - readinessProbe: - failureThreshold: 3 - httpGet: - path: /ping - port: http - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - volumes: - - name: cache - emptyDir: - {} + - mountPath: /cache + name: cache + volumes: + - emptyDir: {} + name: cache --- # Source: immich/templates/server.yaml apiVersion: apps/v1 @@ -131,11 +100,12 @@ kind: Deployment metadata: name: immich-server labels: + app.kubernetes.io/component: immich-server app.kubernetes.io/instance: immich app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: server app.kubernetes.io/version: v1.118.0 - helm.sh/chart: immich-0.8.2 + helm.sh/chart: immich-0.9.0 spec: revisionHistoryLimit: 3 replicas: 1 @@ -143,68 +113,31 @@ spec: type: Recreate selector: matchLabels: + app.kubernetes.io/component: immich-server app.kubernetes.io/name: server app.kubernetes.io/instance: immich template: metadata: - labels: - app.kubernetes.io/name: server + labels: + app.kubernetes.io/component: immich-server app.kubernetes.io/instance: immich - spec: - + app.kubernetes.io/name: server + spec: + enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true + hostIPC: false + hostNetwork: false + hostPID: false dnsPolicy: ClusterFirst - enableServiceLinks: true - containers: - - name: immich-server - image: ghcr.io/immich-app/immich-server:v1.118.0 + containers: + - image: ghcr.io/immich-app/immich-server:v1.118.0 imagePullPolicy: IfNotPresent - env: - - name: DB_DATABASE_NAME - value: immich - - name: DB_HOSTNAME - value: immich-postgresql - - name: DB_PASSWORD - value: immich - - name: DB_USERNAME - value: immich - - name: IMMICH_MACHINE_LEARNING_URL - value: http://immich-machine-learning:3003 - - name: REDIS_HOSTNAME - value: immich-redis-master - ports: - - name: http - containerPort: 2283 - protocol: TCP + name: main volumeMounts: - - name: library - mountPath: /usr/src/app/upload - livenessProbe: - failureThreshold: 3 - httpGet: - path: /api/server/ping - port: http - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - readinessProbe: - failureThreshold: 3 - httpGet: - path: /api/server/ping - port: http - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - startupProbe: - failureThreshold: 30 - httpGet: - path: /api/server/ping - port: http - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 1 - volumes: + - mountPath: /usr/src/app/upload + name: library + volumes: - name: library persistentVolumeClaim: claimName: test-pvc ```

See the workflow run