Use a concrete type for helm.Values and add the operations to it
Summary
Currently helm.Values
is an interface with a private implementation and helper functions. A better implementation is to use a concrete type, such as map[string]interface{}
, and define functions with this type as the receiver, including getters and setters, and content manipulation.
Acceptance criteria
-
Redefine helm.Values
asmap[string]interface{}
and re-implement the existing interface methods. -
Remove the getter and setter helper functions and re-implement them as type operations. -
Change all the references to helm.Values
in Helm facility (/helm
), GitLab API (/api
), and GitLab controller (/controllers
). -
Relocate the new type to /pkg
directory underresource
package.
Edited by Mitchell Nielsen