У меня есть диаграмма управления, которая может использовать либо внутреннюю базу данных, либо внешнюю базу данных.Значения являются взаимоисключающими.Если одно значение истинно, другое значение должно быть ложным.
Есть ли способ обеспечить взаимную исключительность, чтобы пользователь случайно не включил оба?
Пример использования встроенной базы данных (redis)
helm install foo --set redis.enabled=true --set corvus.enabled=false
Пример использования внешней базы данных (corvus)
helm install foo --set redis.enabled=false --set corvus.enabled=true --set corvus.location=foobar
Я решил не использовать 2 отдельных значения redis.enabled
corvus.enabled
и вместо этого использовать одно значение, например database
, которое можно установитьлибо internal
, либо external
, однако, поскольку условные выражения helm в Requriements.yaml могут выполнять логику только на логическом значении, я не верю, что это возможно.
dependencies:
- name: redis
version: 4.2.7
repository: https://kubernetes-charts.storage.googleapis.com
condition: redis.enabled,global.redis.enabled