inveniosoftware / helm-invenio

Helm charts for deploying an Invenio instance
https://helm-invenio.readthedocs.io
7 stars 19 forks source link

Connection configuration for external and subchart backend services (postgreqsl, opensearch, s3, etc) #118

Open jaolwi opened 5 months ago

jaolwi commented 5 months ago

The configuration of connection for each backend service should be available under invenio. and not in the root of values.yaml. We can use functions to dynamically assemble the connection strings and also connect external databases, etc. With enable: false-like parameter we could then ignore individual backend services. Or if the subchart of the backend service is in use, the chart ignores this section completly.

Example:

invenio:
  rabbitmq:
      ## @param invenio.rabbitmq.host Rabbitmq hostname. Only used when `global.rabbitmqEnabled` is false.
      ##
      host: ""
      ## @param invenio.rabbitmq.port Rabbitmq port. Only used when `global.rabbitmqEnabled` is false.
      ##
      port: ""
      ## @param invenio.rabbitmq.username Rabbitmq username. Only used when `global.rabbitmqEnabled` is false.
      ##
      username: ""
      ## @param invenio.rabbitmq.password Rabbitmq password. Only used when `global.rabbitmqEnabled` is false.
      ##
      password: ""
      ## @param invenio.rabbitmq.existingSecret Existing secret name for rabbitmq password. Only used when `global.rabbitmqEnabled` is false.
      ##
      existingSecret: ""
      ## @param invenio.rabbitmq.secretKeys.passwordKey Name of key in existing secret to use for password. Only used when `invenio.rabbitmq.existingSecret` is set and `global.rabbitmqEnabled` is false.
      ##
      secretKeys:
        passwordKey: ""

TLS configuration params could also go there.