diff --git a/apps/immich/deployment-machine-learning.yaml b/apps/immich/deployment-machine-learning.yaml new file mode 100644 index 0000000..ef7d623 --- /dev/null +++ b/apps/immich/deployment-machine-learning.yaml @@ -0,0 +1,39 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: immich-machine-learning +spec: + replicas: 1 + selector: + matchLabels: + app: immich-machine-learning + template: + metadata: + labels: + app: immich-machine-learning + component: machine-learning + spec: + containers: + - image: ghcr.io/immich-app/immich-machine-learning:release + name: immich-machine-learning + ports: + - containerPort: 3003 + protocol: TCP + envFrom: + - configMapRef: + name: config + env: + - name: TZ + valueFrom: + configMapKeyRef: + key: TZ + name: config + volumeMounts: + - mountPath: /cache + name: immich-cache + readOnly: false + volumes: + - name: immich-cache + persistentVolumeClaim: + claimName: immich-cache-pvc diff --git a/apps/immich/deployment-microservices.yaml b/apps/immich/deployment-microservices.yaml new file mode 100644 index 0000000..5ff8e29 --- /dev/null +++ b/apps/immich/deployment-microservices.yaml @@ -0,0 +1,49 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: immich-microservices +spec: + replicas: 1 + selector: + matchLabels: + app: immich-microservices + strategy: + rollingUpdate: + maxSurge: 0 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: immich-microservices + component: microservices + spec: + containers: + - image: ghcr.io/immich-app/immich-server:release + name: immich-microservices + envFrom: + - secretRef: + name: secrets + - configMapRef: + name: config + env: + - name: REDIS_HOSTNAME + value: redis.redis.svc.cluster.local + - name: DB_HOSTNAME + value: postgres.postgres.svc.cluster.local + - name: TZ + valueFrom: + configMapKeyRef: + key: TZ + name: config + - name: IMMICH_WORKERS_EXCLUDE + value: api + volumeMounts: + - mountPath: /usr/src/app/upload + name: immich-storage + readOnly: false + volumes: + - name: immich-storage + persistentVolumeClaim: + claimName: immich-pvc diff --git a/apps/immich/deployment-server.yaml b/apps/immich/deployment-server.yaml new file mode 100644 index 0000000..6a029c8 --- /dev/null +++ b/apps/immich/deployment-server.yaml @@ -0,0 +1,52 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: immich-server +spec: + replicas: 1 + selector: + matchLabels: + app: immich-server + strategy: + rollingUpdate: + maxSurge: 0 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: immich-server + component: server + spec: + containers: + - image: ghcr.io/immich-app/immich-server:release + name: immich-server + ports: + - containerPort: 2283 + protocol: TCP + envFrom: + - secretRef: + name: secrets + - configMapRef: + name: config + env: + - name: REDIS_HOSTNAME + value: redis.redis.svc.cluster.local + - name: DB_HOSTNAME + value: postgres.postgres.svc.cluster.local + - name: TZ + valueFrom: + configMapKeyRef: + key: TZ + name: config + - name: IMMICH_WORKERS_EXCLUDE + value: microservices + volumeMounts: + - mountPath: /usr/src/app/upload + name: immich-storage + readOnly: false + volumes: + - name: immich-storage + persistentVolumeClaim: + claimName: immich-pvc diff --git a/apps/immich/deployment.yaml b/apps/immich/deployment.yaml deleted file mode 100644 index 0c7fbd1..0000000 --- a/apps/immich/deployment.yaml +++ /dev/null @@ -1,138 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: immich-server -spec: - replicas: 1 - selector: - matchLabels: - app: immich-server - strategy: - rollingUpdate: - maxSurge: 0 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: immich-server - component: server - spec: - containers: - - image: ghcr.io/immich-app/immich-server:release - name: immich-server - ports: - - containerPort: 2283 - protocol: TCP - envFrom: - - secretRef: - name: secrets - - configMapRef: - name: config - env: - - name: REDIS_HOSTNAME - value: redis.redis - - name: DB_HOSTNAME - value: postgres.postgres - - name: TZ - valueFrom: - configMapKeyRef: - key: TZ - name: config - volumeMounts: - - mountPath: /usr/src/app/upload - name: immich-storage - readOnly: false - volumes: - - name: immich-storage - persistentVolumeClaim: - claimName: immich-pvc ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: immich-microservices -spec: - replicas: 1 - selector: - matchLabels: - app: immich-microservices - strategy: - rollingUpdate: - maxSurge: 0 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: immich-microservices - component: microservices - spec: - containers: - - image: ghcr.io/immich-app/immich-server:release - name: immich-microservices - envFrom: - - secretRef: - name: secrets - - configMapRef: - name: config - env: - - name: REDIS_HOSTNAME - value: redis.redis - - name: DB_HOSTNAME - value: postgres.postgres - - name: TZ - valueFrom: - configMapKeyRef: - key: TZ - name: config - - name: IMMICH_WORKERS_INCLUDE - value: api - volumeMounts: - - mountPath: /usr/src/app/upload - name: immich-storage - readOnly: false - volumes: - - name: immich-storage - persistentVolumeClaim: - claimName: immich-pvc ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: immich-machine-learning -spec: - replicas: 1 - selector: - matchLabels: - app: immich-machine-learning - template: - metadata: - labels: - app: immich-machine-learning - component: machine-learning - spec: - containers: - - image: ghcr.io/immich-app/immich-machine-learning:release - name: immich-machine-learning - ports: - - containerPort: 3003 - protocol: TCP - envFrom: - - configMapRef: - name: config - env: - - name: TZ - valueFrom: - configMapKeyRef: - key: TZ - name: config - volumeMounts: - - mountPath: /cache - name: immich-cache - readOnly: false - volumes: - - name: immich-cache - persistentVolumeClaim: - claimName: immich-cache-pvc \ No newline at end of file diff --git a/apps/immich/kustomization.yaml b/apps/immich/kustomization.yaml index 6e789d7..8aa8d24 100644 --- a/apps/immich/kustomization.yaml +++ b/apps/immich/kustomization.yaml @@ -8,7 +8,9 @@ labels: managedBy: kustomize partOf: wild-cloud resources: - - deployment.yaml + - deployment-server.yaml + - deployment-machine-learning.yaml + - deployment-microservices.yaml - ingress.yaml - namespace.yaml - pvc.yaml