immich-app / immich-charts

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

feat: support custom nameOverride for components #97

Closed onichandame closed 4 months ago

onichandame commented 4 months ago

Problem

the default nameOverride of all components are not changable. This may cause maintenance issues when multiple apps are combined in a super chart. For instance, a release named 'release' which includes immich and another app may have the following workloads:

By looking at the names it is hard to tell which app the release-server deployment belongs to. It could even cause name conflict if the other app has decided to use the same assumption on the nameOverride.

Solution

Each component now receives a value called 'nameOverride', so that the name of workloads can be customized according to the end user's requirements.

Alternatives/Workarounds

There is not workaround I could imagine. On the other hand there exists many other ways to solve the problem. One of them is as follows:

# values.yaml
name: 'immich'

# server.yaml
global:
  # example name: release-immich-server
  nameOverride: {{ printf "%s-%s" .Values.name "server" | quote }}

Considering backward compatibility, it may cause breaking change on upgrades.

onichandame commented 4 months ago

in the final values.yaml:

server:
  global:
    nameOverride: 'immich-server'

this will change the name of the deployment from release-server to release-immich-server