Page MenuHomePhabricator

Allow namespaces to be overriden in deployment-chart's admin_ng
Closed, ResolvedPublic

Description

The ML team's clusters would need to override the namespaces listed in values.yaml to start fresh. In the helmfile.yaml config we have:

ml-serve-eqiad:
  values:
    - "values/values.yaml"
    - "values/ml-serve-values.yaml"
    - "values/{{ .Environment.Name }}/values.yaml"

And in ml-serve-values.yaml:

namespaces: {}

But this doesn't work since it seems doing a deep merge instead of an override, so we should find an alternative :)

Event Timeline

Not sure if what I am proposing it totally crazy or not, but maybe a quick solution to this problem would be something like:

environments:
  eqiad:
    values:
      - "values/values.yaml"
+   - "values/services-values.yaml"
      - "values/{{ .Environment.Name }}/values.yaml"

And using services-values.yaml (or whatever other name we prefer) to keep the namespaces related to the Service Ops team. In this way, in theory, a namespace sync would work as expected on all clusters, and we'll have a way to manage common cluster configs between teams without impacting each other (basically keeping values.yaml as very generic and super common config layer between all teams).

Thoughts?

Change 675558 had a related patch set uploaded (by Elukey; author: Elukey):
[operations/deployment-charts@master] WIP - Idea about how to segment values.yaml between teams

https://gerrit.wikimedia.org/r/675558

Change 675558 merged by jenkins-bot:

[operations/deployment-charts@master] Segment values.yaml between teams

https://gerrit.wikimedia.org/r/675558

elukey claimed this task.