This chart is supposed to be a better alternative to all the GitOps helm managers out there. It should follow the real helm workflow instead of trying to find some workaround. The idea is that I need to create a helm release ``` kind: HelmRelease metadata: name: test spec: repository: https://somerepo chart: somechart version: someversion ``` And the controller is supposed to pull the chart and install it to the cluster In order to make ic configurable, I need to add CRDs for handling values, like ``` kind: HelmValues metadata: name: test-values data: image: tag: latest ``` These values should be added to the helm release ``` kind: HelmRelease metadata: name: test spec: repository: https://somerepo chart: somechart version: someversion values: - test-values ``` After syncing, the values hashsum should be put to the status like ``` kind: HelmRelease status: values: test-values: SHA ``` To make sure that we are updating the chart every time, values are updated The next CRD that should be a part of any reliable helm workflow is the diff ``` kind: HelmDiff metadata: name: test spec: release: test context: 5 values: - test-values-SHA # these should be added in the cluster with a different name ``` It should provide a diff and put it to the staus in a base64 format (or maybe to secrets) After this is working, the next step would be adding support for secrets via SOPS ``` kind: HelmValues metadata name: test spec: secret: true sopsSec: name: sops-secret key: .sops.yaml templating: enabled: false data: # Encrypted data ```