Charts

Chart

The chart resource represents the specification for an helm chart. For every specified and valid version the controller will create or update 3 configmaps for chart templates, crds and default values. If enabled dependency chart resources will be also created or updated. See here for detailed information about the spec structure.

%%{init:{"theme":"forest", "mirrorActors":"true", "sequence": {"showSequenceNumbers":false, "wrap": false,"useMaxWidth": true}}}%% sequenceDiagram participant C AS client participant R AS reconciler participant M AS chart model participant VM AS chartversion model participant PKG AS helm v3 go.pkg participant K AS kube-apiserver participant H AS helm repository C->>K: create/update chart resource R->>M: init model M-->>M: set metadata M->>K: load index configmap rect rgb(191, 223, 255) loop iterate over specified versions M->>VM: init chartversion model VM-->>VM: parse version VM->>K: get respository resource rect rgb(255, 255, 204) alt error != nil K-->>M: return error end end VM->>PKG: resolve reference url rect rgb(255, 255, 204) alt values == nil VM->>K: get default value configmap rect rgb(255, 255, 204) alt error != nil K-->>M: return error end end end end VM-->>VM: load dependencies Note right of VM: load dependencies means to iterate over index deps

and init a chartversion model for each item VM-->>M: return object M-->>M: append version object end end M-->>R: return object R-->>M: create/update chart resource rect rgb(191, 223, 255) loop iterate over specified versions M->>VM: prepare version object rect rgb(255, 255, 204) alt object == nil VM->>H: download chartversion rect rgb(255, 255, 204) alt error != nil H-->>M: return error end end H-->>VM: return object VM->>PKG: loadArchive rect rgb(255, 255, 204) alt error != nil H-->>M: return error end end PKG-->>VM: return unmarshaled chart object end end M->>VM: manage configmaps related to chartversion rect rgb(191, 223, 255) loop iterate over specified version VM->>K: create/update configmaps rect rgb(255, 255, 204) alt error != nil K-->>M: return error end end end end end end R-->>M: create/update dependency charts rect rgb(191, 223, 255) loop iterate over object versions M-->>VM: manage subresources rect rgb(191, 223, 255) loop iterate over object version dependencies VM->>K: create/update chart resource rect rgb(255, 255, 204) alt error != nil K-->>M: return error end end end end end end