sylva-units values, restructure "workload_clusters" top-level key
We'll benefit from having a key in sylva-units that directly maps to the values of the workload-team-defs chart.
Proposed structure:
workload_clusters:
#teams: # was mapping to workload-team-defs.workload_cluster_teams -> removed in favor of workload_clusters.workload_team_defs.teams , breaks backwards compat
teams_repo: # maps to workload-teams-repo unit (unchanged)
# sylva_units_release_presets -> removed, breaks backwards compat
# sylva_units_release_preset_default -> removed, breaks backwards compat
workload_team_defs: -> map to workload-team-defs values
-> mount the schema of workload-team-defs
# workload_cluster_teams -> would change into "teams"
# vault_settings:
# sylva_units_release_presets:
# sylva_units_release_preset_default
# kustomization_default:
# ...
Or even further simplified:
# workload_clusters: removed, breaks backwards compat
#teams: # was mapping to workload-team-defs.workload_cluster_teams -> removed in favor of workload_clusters.workload_team_defs.teams
# sylva_units_release_presets
# sylva_units_release_preset_default
workload_teams_repo: # maps to workload-teams-repo unit (moved to top-level)
workload_team_defs: #-> maps to workload-team-defs values
#-> mount the schema of workload-team-defs
# workload_cluster_teams -> would change into "teams"
# vault_settings:
# sylva_units_release_presets:
# sylva_units_release_preset_default
# kustomization_default:
# ...
The unit definition code would change into something like:
units:
workload-team-defs
helmrelease_spec:
values: '{{ .Values._internal.workload_team_defs_values }}'
_internal:
workload_team_defs_values: >-
{{/*
merge
+ workload_cluster_teams ...
+
vault_settings:
allowedRedirectURIs:
- "https://{{ .Values.external_hostnames.vault }}/v1/auth/oidc/oidc/callback"
- "https://{{ .Values.external_hostnames.vault }}/ui/vault/auth/oidc/oidc/callback"
+ managed_clusters_settings: '{{ tuple . "mgmt_cluster_state_values" | include "interpret" }}{{ .Values.mgmt_cluster_state_values | include "set-if-defined" }}'
}}
Things to do:
- sylva-core MR to adapt sylva-units schema
- includes adaptations to:
- workload-team-defs unit definition
- workload-teams-repo unit definition
- includes adaptations to:
- workload-teams-defs MR to change
workload_cluster_teamsintoteams
Note on breaking backwards compatibility:
- this code simplification is useful and worth breaking what is done, but not yet much used in the release 1.6 version
- we would hence propose to backport this to 1.6
Edited by Thomas Morin