skaffold icon indicating copy to clipboard operation
skaffold copied to clipboard

include possibility to use helm's "--include-crds" flag on render

Open hown3d opened this issue 3 years ago • 3 comments

Expected behavior

--include-crds flag for helm template on render step, since only helm install installs them automaticly and that's only used when using deploy

Actual behavior

Information

When using helm to render charts I'd like to render the crds of the chart as well. There's currently no way how to do that.

apiVersion: skaffold/v4beta1
kind: Config
manifests:
  helm: 
    releases:
      - name: external-secret
        repo: https://charts.external-secrets.io
        namespace: external-secrets
        remoteChart: external-secrets
        # using a flag like "installCRDs" could be useful
        setValues:
          installCRDs: true
          serviceAccount.name: external-secret
          serviceAccount.create: false
        createNamespace: true

hown3d avatar Dec 13 '22 16:12 hown3d

If anybody stumbled upon this, we are currently using this workaround to include CRDs in our render pipeline

apiVersion: skaffold/v4beta1
kind: Config
manifests:
  helm:
    flags:
      global:
        - '--include-crds'
    # ↑ adding flags globally

    releases:
      - name: external-secret
        repo: https://charts.external-secrets.io
        namespace: external-secrets
        remoteChart: external-secrets
        setValues:
          serviceAccount.name: external-secret
          serviceAccount.create: false
        createNamespace: true

aniskhan001 avatar Apr 28 '23 15:04 aniskhan001

FYI, adding --include-crds as a global flag is incompatible with skipBuildDependencies: false. E.g.:

apiVersion: skaffold/v4beta1
kind: Config
manifests:
  helm:
    flags:
      global:
        - '--include-crds'
    # ↑ adding flags globally

    releases:
      - name: keda
        chartPath: ../../helm/charts/keda
        namespace: keda
        remoteChart: external-secrets
        setValues:
          serviceAccount.name: external-secret
          serviceAccount.create: false
        createNamespace: true
        skipBuildDependencies: false # ⚠️

Would lead to such an error:

INFO[0000] Building helm dependencies...                 subtask=0 task=Render
DEBU[0000] Running command: [helm --kube-context  dep build ***** --include-crds]  subtask=0 task=Render
INFO[0000] Error: unknown flag: --include-crds           subtask=0 task=Render
...
building helm dependencies: exit status 1

Zebradil avatar Jan 08 '24 21:01 Zebradil