We are not doing type V map[string]interface{} anymore as this breaks type assertion when deep-merging.
For example, if m is V then ok in vals, ok := m.(map[string]interface{} will be false.
To ensure that m is actually map[string]interface{}, we do a type alias with type V = map[string]interface{} instead (notice the = sign vs type V map[string]interface{}).
To group the available utility methods, I have moved everything into its own helmvalues package
Checklist
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] PR contains the label area:operator
[ ] Link this PR to related issues
[x] I have not made any changes in the charts/ directory.
Summary
We are not doing
type V map[string]interface{}
anymore as this breaks type assertion when deep-merging. For example, if m isV
thenok
invals, ok := m.(map[string]interface{}
will befalse
. To ensure that m is actuallymap[string]interface{}
, we do a type alias withtype V = map[string]interface{}
instead (notice the=
sign vstype V map[string]interface{}
).To group the available utility methods, I have moved everything into its own
helmvalues
packageChecklist
bug
,enhancement
,documentation
,change
,breaking
,dependency
as they show up in the changelogarea:operator
charts/
directory.