Commit new Chart releases for TrueCharts
Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
This commit is contained in:
parent
2984ea74bb
commit
73691914cf
|
@ -0,0 +1,99 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-6.0.0](https://github.com/truecharts/charts/compare/immich-5.0.16...immich-6.0.0) (2023-05-13)
|
||||
|
||||
### Feat
|
||||
|
||||
- BREAKING CHANGE - port to new common + multi-pod ([#8801](https://github.com/truecharts/charts/issues/8801))
|
||||
|
||||
### Fix
|
||||
|
||||
- already adapt questions.yaml GUI to prevent tests from needlessly failing for unported charts ([#8720](https://github.com/truecharts/charts/issues/8720))
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.16](https://github.com/truecharts/charts/compare/immich-5.0.15...immich-5.0.16) (2023-02-27)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#7725](https://github.com/truecharts/charts/issues/7725))
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.15](https://github.com/truecharts/charts/compare/immich-5.0.14...immich-5.0.15) (2023-02-24)
|
||||
|
||||
### Chore
|
||||
|
||||
- update immich to v1.49.0 (minor) ([#7487](https://github.com/truecharts/charts/issues/7487))
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.14](https://github.com/truecharts/charts/compare/immich-5.0.13...immich-5.0.14) (2023-02-20)
|
||||
|
||||
### Chore
|
||||
|
||||
- update immich to v1.47.3
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.13](https://github.com/truecharts/charts/compare/immich-5.0.12...immich-5.0.13) (2023-02-19)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.12](https://github.com/truecharts/charts/compare/immich-5.0.11...immich-5.0.12) (2023-02-13)
|
||||
|
||||
### Chore
|
||||
|
||||
- update immich to v1.47.2
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.11](https://github.com/truecharts/charts/compare/immich-5.0.10...immich-5.0.11) (2023-02-10)
|
||||
|
||||
### Chore
|
||||
|
||||
- update immich to v1.46.1
|
||||
|
||||
### Fix
|
||||
|
||||
- ensure new helm deps repo is used in latest releases as well.
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.10](https://github.com/truecharts/charts/compare/immich-5.0.9...immich-5.0.10) (2023-02-10)
|
||||
|
||||
### Chore
|
||||
|
||||
- update immich to v1.46.1
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.9](https://github.com/truecharts/charts/compare/immich-5.0.8...immich-5.0.9) (2023-02-09)
|
||||
|
||||
### Chore
|
||||
|
||||
- update immich to v1.46.0
|
||||
|
||||
|
||||
|
||||
|
||||
## [immich-5.0.8](https://github.com/truecharts/charts/compare/immich-5.0.7...immich-5.0.8) (2023-02-07)
|
||||
|
||||
### Chore
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
apiVersion: v2
|
||||
appVersion: "1.49.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.6.6
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.39
|
||||
description: High performance self-hosted photo and video backup solution.
|
||||
home: https://truecharts.org/charts/stable/immich
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/immich.png
|
||||
keywords:
|
||||
- photos
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: immich
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/stable/immich
|
||||
- https://github.com/immich-app/immich
|
||||
version: 6.0.0
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- media
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -0,0 +1,106 @@
|
|||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Blocky" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
|
@ -0,0 +1,27 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
|
||||
## [immich-6.0.0](https://github.com/truecharts/charts/compare/immich-5.0.16...immich-6.0.0) (2023-05-13)
|
||||
|
||||
### Feat
|
||||
|
||||
- BREAKING CHANGE - port to new common + multi-pod ([#8801](https://github.com/truecharts/charts/issues/8801))
|
||||
|
||||
### Fix
|
||||
|
||||
- already adapt questions.yaml GUI to prevent tests from needlessly failing for unported charts ([#8720](https://github.com/truecharts/charts/issues/8720))
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
High performance self-hosted photo and video backup solution.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/immich](https://truecharts.org/charts/stable/immich)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,109 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/immich-server
|
||||
tag: 1.55.1@sha256:c53b10695ed95b26a098e20788dcf0599b18f09d23dc54dd97717ed189370393
|
||||
pullPolicy: IfNotPresent
|
||||
mlImage:
|
||||
repository: tccr.io/truecharts/immich-ml
|
||||
tag: 1.55.1@sha256:5253b8bedf856669ca0d260190640fccbe7d19a3ff56af61b70b1e587a76d383
|
||||
pullPolicy: IfNotPresent
|
||||
webImage:
|
||||
repository: tccr.io/truecharts/immich-web
|
||||
tag: 1.55.1@sha256:9bd918a3c7e48e750867f16fc813913c5f00829fe0f187ec71168c789a3009db
|
||||
pullPolicy: IfNotPresent
|
||||
proxyImage:
|
||||
repository: tccr.io/truecharts/immich-proxy
|
||||
tag: 1.55.1@sha256:794dd24898a12eb7ab91f6f7322743e0ef9fe1d224fbd62fb7ec1349246d55c4
|
||||
pullPolicy: IfNotPresent
|
||||
typesenseImage:
|
||||
repository: tccr.io/truecharts/immich-typesense
|
||||
tag: v0.24.1@sha256:1e46a13a98670c98b483e0cbbf66f05aa418146e7edf447446ae72f3bb8477ac
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
immich:
|
||||
enable_ml: true
|
||||
enable_typesense: true
|
||||
public_login_page_message: Immich
|
||||
disable_reverse_geocoding: false
|
||||
reverse_geocoding_precision: 3
|
||||
# simple | verbose
|
||||
log_level: simple
|
||||
mapbox_enable: false
|
||||
mapbox_key: ""
|
||||
|
||||
service:
|
||||
main:
|
||||
# Main service targets the proxy
|
||||
targetSelector: proxy
|
||||
ports:
|
||||
main:
|
||||
port: 10323
|
||||
protocol: http
|
||||
targetSelector: proxy
|
||||
targetPort: 8080
|
||||
server:
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
# Server is the main container
|
||||
targetSelector: main
|
||||
ports:
|
||||
server:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 10001
|
||||
protocol: http
|
||||
targetSelector: main
|
||||
|
||||
persistence:
|
||||
uploads:
|
||||
enabled: true
|
||||
mountPath: /usr/src/app/upload
|
||||
targetSelector:
|
||||
# Main pod/container is server
|
||||
main:
|
||||
main: {}
|
||||
microservices:
|
||||
microservices: {}
|
||||
machinelearning:
|
||||
machinelearning: {}
|
||||
mlcache:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
targetSelector:
|
||||
machinelearning:
|
||||
machinelearning:
|
||||
mountPath: /mlcache
|
||||
microcache:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
targetSelector:
|
||||
microservices:
|
||||
microservices:
|
||||
mountPath: /microcache
|
||||
typesense:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
targetSelector:
|
||||
typesense:
|
||||
typesense:
|
||||
mountPath: /typesensedata
|
||||
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
user: immich
|
||||
database: immich
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
redisUsername: default
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -0,0 +1,95 @@
|
|||
{{- define "immich.config" -}}
|
||||
{{- $fname := (include "tc.v1.common.lib.chart.names.fullname" .) -}}
|
||||
{{- $secretName := printf "%s-secret" $fname -}}
|
||||
{{- $jwtSecret := randAlphaNum 32 -}}
|
||||
{{- $typesenseKey := randAlphaNum 32 -}}
|
||||
{{- with (lookup "v1" "Secret" .Release.Namespace $secretName) -}}
|
||||
{{- $jwtSecret = index .data "JWT_SECRET" | b64dec -}}
|
||||
{{- $typesenseKey = index .data "TYPESENSE_API_KEY" | b64dec -}}
|
||||
{{- end }}
|
||||
|
||||
configmap:
|
||||
web-config:
|
||||
enabled: true
|
||||
data:
|
||||
PORT: {{ .Values.service.web.ports.web.port | quote }}
|
||||
server-config:
|
||||
enabled: true
|
||||
data:
|
||||
{{/* User Defined */}}
|
||||
DISABLE_REVERSE_GEOCODING: {{ .Values.immich.disable_reverse_geocoding | quote }}
|
||||
REVERSE_GEOCODING_PRECISION: {{ .Values.immich.reverse_geocoding_precision | quote }}
|
||||
ENABLE_MAPBOX: {{ .Values.immich.mapbox_enable | quote }}
|
||||
SERVER_PORT: {{ .Values.service.server.ports.server.port | quote }}
|
||||
micro-config:
|
||||
enabled: true
|
||||
data:
|
||||
MICROSERVICES_PORT: {{ .Values.service.microservices.ports.microservices.port | quote }}
|
||||
REVERSE_GEOCODING_DUMP_DIRECTORY: {{ .Values.persistence.microcache.targetSelector.microservices.microservices.mountPath }}
|
||||
{{- if .Values.immich.enable_ml }}
|
||||
ml-config:
|
||||
enabled: true
|
||||
data:
|
||||
MACHINE_LEARNING_PORT: {{ .Values.service.machinelearning.ports.machinelearning.port | quote }}
|
||||
TRANSFORMERS_CACHE: {{ .Values.persistence.mlcache.targetSelector.machinelearning.machinelearning.mountPath }}
|
||||
{{- end }}
|
||||
common-config:
|
||||
enabled: true
|
||||
data:
|
||||
IMMICH_WEB_URL: {{ printf "http://%v-web:%v" $fname .Values.service.web.ports.web.port }}
|
||||
IMMICH_SERVER_URL: {{ printf "http://%v-server:%v" $fname .Values.service.server.ports.server.port }}
|
||||
{{- if .Values.immich.enable_ml }}
|
||||
IMMICH_MACHINE_LEARNING_URL: {{ printf "http://%v-machinelearning:%v" $fname .Values.service.machinelearning.ports.machinelearning.port }}
|
||||
{{- else }}
|
||||
IMMICH_MACHINE_LEARNING_URL: "false"
|
||||
{{- end }}
|
||||
TYPESENSE_ENABLED: {{ .Values.immich.enable_typesense | quote }}
|
||||
{{- if .Values.immich.enable_typesense }}
|
||||
TYPESENSE_URL: {{ printf "http://%v-typesense:%v" $fname .Values.service.typesense.ports.typesense.port }}
|
||||
TYPESENSE_PROTOCOL: http
|
||||
TYPESENSE_HOST: {{ printf "%v-typesense" $fname }}
|
||||
TYPESENSE_PORT: {{ .Values.service.typesense.ports.typesense.port | quote }}
|
||||
{{- end }}
|
||||
{{/*
|
||||
Its unclear where this URL is being used, but poking in their code, seems to be used internally?
|
||||
Its set to the value of IMMICH_SERVER_URL on their compose. If something doesnt work remotely,
|
||||
This is the place to start looking
|
||||
https://github.com/immich-app/immich/blob/b5d75e20167b92de12cc50a816da214779cb0807/web/src/api/api.ts#L55
|
||||
*/}}
|
||||
PUBLIC_IMMICH_SERVER_URL: {{ printf "http://%v-server:%v" $fname .Values.service.server.ports.server.port }}
|
||||
NODE_ENV: production
|
||||
{{/* User Defined */}}
|
||||
{{- with .Values.immich.public_login_page_message }}
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE: {{ . }}
|
||||
{{- end }}
|
||||
LOG_LEVEL: {{ .Values.immich.log_level }}
|
||||
|
||||
secret:
|
||||
typesense-secret:
|
||||
enabled: true
|
||||
data:
|
||||
{{/* Secret Key */}}
|
||||
TYPESENSE_API_KEY: {{ $typesenseKey }}
|
||||
TYPESENSE_DATA_DIR: {{ .Values.persistence.typesense.targetSelector.typesense.typesense.mountPath }}
|
||||
secret:
|
||||
enabled: true
|
||||
data:
|
||||
{{/* Secret Key */}}
|
||||
JWT_SECRET: {{ $jwtSecret }}
|
||||
TYPESENSE_API_KEY: {{ $typesenseKey }}
|
||||
{{- with .Values.immich.mapbox_key }}
|
||||
MAPBOX_KEY: {{ . }}
|
||||
{{- end }}
|
||||
deps-secret:
|
||||
enabled: true
|
||||
data:
|
||||
DB_USERNAME: {{ .Values.cnpg.main.user }}
|
||||
DB_DATABASE_NAME: {{ .Values.cnpg.main.database }}
|
||||
DB_HOSTNAME: {{ .Values.cnpg.main.creds.host }}
|
||||
DB_PASSWORD: {{ .Values.cnpg.main.creds.password }}
|
||||
DB_PORT: "5432"
|
||||
REDIS_HOSTNAME: {{ .Values.redis.creds.plainhost }}
|
||||
REDIS_PASSWORD: {{ .Values.redis.creds.redisPassword }}
|
||||
REDIS_PORT: "6379"
|
||||
REDIS_DBINDEX: "0"
|
||||
{{- end -}}
|
|
@ -0,0 +1,54 @@
|
|||
{{/* Define the machinelearning container */}}
|
||||
{{- define "immich.machinelearning" -}}
|
||||
enabled: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
initContainers:
|
||||
wait-server:
|
||||
{{- include "immich.wait" (dict "variable" "IMMICH_SERVER_URL" "path" "server-info/ping") | nindent 6 }}
|
||||
containers:
|
||||
machinelearning:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: mlImage
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: common-config
|
||||
- configMapRef:
|
||||
name: server-config
|
||||
- configMapRef:
|
||||
name: ml-config
|
||||
- secretRef:
|
||||
name: deps-secret
|
||||
- secretRef:
|
||||
name: secret
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /ping
|
||||
port: {{ .Values.service.machinelearning.ports.machinelearning.port }}
|
||||
liveness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /ping
|
||||
port: {{ .Values.service.machinelearning.ports.machinelearning.port }}
|
||||
startup:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /ping
|
||||
port: {{ .Values.service.machinelearning.ports.machinelearning.port }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "immich.machinelearning.service" -}}
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
targetSelector: machinelearning
|
||||
ports:
|
||||
machinelearning:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 10003
|
||||
protocol: http
|
||||
targetSelector: machinelearning
|
||||
{{- end -}}
|
|
@ -0,0 +1,64 @@
|
|||
{{- define "immich.microservices" -}}
|
||||
enabled: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
initContainers:
|
||||
wait-server:
|
||||
{{- include "immich.wait" (dict "variable" "IMMICH_SERVER_URL" "path" "server-info/ping") | nindent 6 }}
|
||||
containers:
|
||||
microservices:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: image
|
||||
command: /bin/sh
|
||||
args: ./start-microservices.sh
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: secret
|
||||
- secretRef:
|
||||
name: deps-secret
|
||||
- configMapRef:
|
||||
name: common-config
|
||||
- configMapRef:
|
||||
name: server-config
|
||||
- configMapRef:
|
||||
name: micro-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
ps -a | grep -v grep | grep -q microservices
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
ps -a | grep -v grep | grep -q microservices
|
||||
startup:
|
||||
enabled: true
|
||||
type: exec
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
ps -a | grep -v grep | grep -q microservices
|
||||
{{- end -}}
|
||||
|
||||
{{- define "immich.microservices.service" -}}
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
targetSelector: microservices
|
||||
ports:
|
||||
microservices:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 10004
|
||||
protocol: http
|
||||
targetSelector: microservices
|
||||
{{- end -}}
|
|
@ -0,0 +1,32 @@
|
|||
{{- define "immich.proxy" -}}
|
||||
enabled: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
initContainers:
|
||||
wait-server:
|
||||
{{- include "immich.wait" (dict "variable" "IMMICH_SERVER_URL" "path" "server-info/ping") | nindent 6 }}
|
||||
containers:
|
||||
proxy:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: proxyImage
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: common-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /api/server-info/ping
|
||||
port: {{ .Values.service.main.ports.main.targetPort }}
|
||||
liveness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /api/server-info/ping
|
||||
port: {{ .Values.service.main.ports.main.targetPort }}
|
||||
startup:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /api/server-info/ping
|
||||
port: {{ .Values.service.main.ports.main.targetPort }}
|
||||
{{- end -}}
|
|
@ -0,0 +1,32 @@
|
|||
{{- define "immich.server" -}}
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: image
|
||||
command: /bin/sh
|
||||
args: ./start-server.sh
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: server-config
|
||||
- configMapRef:
|
||||
name: common-config
|
||||
- secretRef:
|
||||
name: deps-secret
|
||||
- secretRef:
|
||||
name: secret
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /server-info/ping
|
||||
port: {{ .Values.service.server.ports.server.port }}
|
||||
readiness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /server-info/ping
|
||||
port: {{ .Values.service.server.ports.server.port }}
|
||||
startup:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /server-info/ping
|
||||
port: {{ .Values.service.server.ports.server.port }}
|
||||
{{- end -}}
|
|
@ -0,0 +1,46 @@
|
|||
{{/* Define the typesense container */}}
|
||||
{{- define "immich.typesense" -}}
|
||||
enabled: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
containers:
|
||||
typesense:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: typesenseImage
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: typesense-secret
|
||||
args:
|
||||
- --api-port
|
||||
- {{ .Values.service.typesense.ports.typesense.port | quote }}
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /health
|
||||
port: {{ .Values.service.typesense.ports.typesense.port }}
|
||||
liveness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /health
|
||||
port: {{ .Values.service.typesense.ports.typesense.port }}
|
||||
startup:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /health
|
||||
port: {{ .Values.service.typesense.ports.typesense.port }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "immich.typesense.service" -}}
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
targetSelector: typesense
|
||||
ports:
|
||||
typesense:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 10002
|
||||
protocol: http
|
||||
targetSelector: typesense
|
||||
{{- end -}}
|
|
@ -0,0 +1,20 @@
|
|||
{{- define "immich.wait" -}}
|
||||
{{- $path := .path | default "" }}
|
||||
{{- $variable := .variable }}
|
||||
enabled: true
|
||||
type: init
|
||||
imageSelector: alpineImage
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: common-config
|
||||
command:
|
||||
- /bin/ash
|
||||
- -c
|
||||
- |
|
||||
echo "Pinging [${{ $variable }}/{{ $path }}] until it is ready..."
|
||||
until wget --spider --quiet "${{ $variable }}/{{ $path }}"; do
|
||||
echo "Waiting for [${{ $variable }}/{{ $path }}] to be ready..."
|
||||
sleep 2
|
||||
done
|
||||
echo "URL [${{ $variable }}/{{ $path }}] is ready!"
|
||||
{{- end -}}
|
|
@ -0,0 +1,52 @@
|
|||
{{/* Define the web container */}}
|
||||
{{- define "immich.web" -}}
|
||||
enabled: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
initContainers:
|
||||
wait-server:
|
||||
{{- include "immich.wait" (dict "variable" "IMMICH_SERVER_URL" "path" "server-info/ping") | nindent 6 }}
|
||||
containers:
|
||||
web:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: webImage
|
||||
command: /bin/sh
|
||||
args: ./entrypoint.sh
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: common-config
|
||||
- configMapRef:
|
||||
name: web-config
|
||||
- secretRef:
|
||||
name: deps-secret
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /robots.txt
|
||||
port: {{ .Values.service.web.ports.web.port }}
|
||||
liveness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /robots.txt
|
||||
port: {{ .Values.service.web.ports.web.port }}
|
||||
startup:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /robots.txt
|
||||
port: {{ .Values.service.web.ports.web.port }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "immich.web.service" -}}
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
targetSelector: web
|
||||
ports:
|
||||
web:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 10000
|
||||
protocol: http
|
||||
targetSelector: web
|
||||
{{- end -}}
|
|
@ -0,0 +1,36 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{- $_ := set .Values.workload "proxy" (include "immich.proxy" . | fromYaml) -}}
|
||||
|
||||
{{- $_ := set .Values.workload.main.podSpec.containers "main" (include "immich.server" . | fromYaml) -}}
|
||||
{{- if .Values.immich.enable_typesense -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec.initContainers "wait-typesense" (include "immich.wait" (dict "variable" "TYPESENSE_URL" "path" "health") | fromYaml) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.service "web" (include "immich.web.service" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload "web" (include "immich.web" . | fromYaml) -}}
|
||||
|
||||
{{- $_ := set .Values.service "microservices" (include "immich.microservices.service" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload "microservices" (include "immich.microservices" . | fromYaml) -}}
|
||||
|
||||
{{- if .Values.immich.enable_ml -}}
|
||||
{{- $_ := set .Values.service "machinelearning" (include "immich.machinelearning.service" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload "machinelearning" (include "immich.machinelearning" . | fromYaml) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Values.immich.enable_typesense -}}
|
||||
{{- $_ := set .Values.service "typesense" (include "immich.typesense.service" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload "typesense" (include "immich.typesense" . | fromYaml) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render configuration for immich
|
||||
after services, as it has references
|
||||
*/}}
|
||||
{{- $config := include "immich.config" . | fromYaml -}}
|
||||
{{- if $config -}}
|
||||
{{- $_ := mustMergeOverwrite .Values $config -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
Loading…
Reference in New Issue