-
Type: Task
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: helm-chart-2.0.2
-
Component/s: Helm Chart
-
Tags:
-
Upgrade notes:
-
Sprint:nxplatform #22, nxplatform #23
-
Story Points:1
Currently, the nuxeo Helm chart has dependencies on the following charts:
- mongodb
- postgresql
- elasticsearch
- kafka
- redis
See the latest 1.2.0 tag.
This is a problem for several reasons:
- For the multi-tenant use case, if we want to install multiple releases of the nuxeo chart pointing to mutualised external services. For instance, having a single MongoDB deployment with one database per nuxeo tenant and a single Elasticsearch cluster with a set of indexes per nuxeo tenant. With the nuxeo chart as an umbrella chart, it's tricky: we first need to install the chart once by disabling nuxeo and enabling the services, then the other way around: enable nuxeo and disable the services, for each tenant.
- Enabling/disabling the external services is tricky: we need to use tags when the chart is deployed directly, but nuxeo.mongodb.deploy when the chart is deployed as a dependency of another chart...
- The chart is tightly coupled with the dependent charts:
- It makes it hard to maintain, having to maintain a set of recommended "production-like" values.
- It doesn't seem to be the responsibility of the nuxeo chart to provide some values to configure the external services themselves. Moreover, it seems that in many cases, people will want to use cloud providers: typically MongoDB Atlas.
Let's get rid of these dependencies, and provide a simple way to install nuxeo and the external services separately, using their respective chart.
As a first step, this can be done with a shell script, then we can use helmfile.
- is related to
-
NXP-29994 Nuxeo Helm Chart Improvements
- Resolved
-
NXBT-3438 [Platform CI] Don't add deprecated stable chart repository when initializing Helm 2
- Resolved
- is required by
-
NXP-30126 Use helmfile to ease a full nuxeo deployment with the nuxeo Helm chart
- Resolved
- Is referenced in