loft-sh / component-chart

Kubernetes Component Chart - Helm Chart for Application Components in Kubernetes
https://devspace.sh/component-chart/docs/introduction
Apache License 2.0
32 stars 39 forks source link

usage of CSI drivers in volume..... #65

Closed rkennedy-tpl closed 2 years ago

rkennedy-tpl commented 2 years ago

this might be entirely too advanced to reasonably request (and I can probably workaround with classic Helm charts)

I'm using vault-csi and secrets-store-csi to make Super Awesome k8s-Secrets integrations.

it requires a chunk volumes similar to this in order to instantiate Secrets Objects and perform the Vault API calls...

       volumes:
       - name: vault
         csi:
           driver: secrets-store.csi.k8s.io
           readOnly: true
           volumeAttributes:
             secretProviderClass: vault-api

predictably, it results in:

[fatal]  deployments[2].helm.componentChart: component values are incorrect: yaml: unmarshal errors:
  line 76: field csi not found in type latest.VolumeConfig
github.com/loft-sh/devspace/pkg/devspace/config/loader.validateDeployments

kubernetes-csi is some pretty new and powerful stuff, and I think it's The Way everything is going, sort of an "operating-system driver" metaphor for different types of vendor-specific or software-specific storage backends. (I believe most of the "built-in storage engines" are deprecated for CSI already.)

I did a quick look for csi in the repo and found nothing, so a quick smell-test on how possible and important it is before I keep attempting to hack on the problem. I'd rather contribute to Upstream and empower more people than workaround with classic Helm chart. perhaps the YAML smiles upon us today and extending VolumeConfig for csi is "fairly simple".