Repositories

Repository

The repo resource represents an initialization of an helm repository. It is similar to helm cli commands “helm repo add …” and “helm repo update …” and downloads the repository index file for a given url to parse the content and create a configmap with chart index information for each specified chart. Or if no chart specified for each. It is also parsing the chart resources if they are specified in the chart list in the spec. 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 model participant K AS kube-apiserver participant H AS helm repository C->>K: create/update repository object R->>M: init model M->>H: download repository H-->>M: return response M-->>R: return object rect rgb(191, 223, 255) loop create/update chart indices M->>K: create/update chart index cm end end R->>M: create/update specified chart objects rect rgb(191, 223, 255) loop create/update chart resources M->>K: create/update chart custom resource rect rgb(255, 255, 204) alt error != nil K-->>R: return error end end end end # Note right of H: Rational thoughts
prevail...


\

RepoGroups

The repogroup resource represents a collection of helm repositories. This is needed if you want to deploy an helm release which has dependency charts which are part of different repositories. If dependencies are part of the same repository you don’t need this. See here for detailed information about the spec structure.

%%{init:{"theme":"forest", "mirrorActors":"true", "useMaxWidth":"true", "sequence": {"showSequenceNumbers":false, "wrap": true, "width":350}, "sequenceConfig": { "diagramMarginX": 50, "diagramMarginY": 10, "boxTextMargin": 5, "noteMargin": 10, "messageMargin": 35, "mirrorActors": true }}}%% sequenceDiagram participant C AS client participant R AS reconciler participant K AS kube-apiserver C->>K: create/update repository group object R->>K: get repositories by labels rect rgb(191, 223, 255) loop returned repository resources rect rgb(255, 255, 204) alt item is not in spec list R->>K: remove repository resource end end end end rect rgb(191, 223, 255) loop specified repository resources R->>K: create/update repository resource end end