From 6d91d1aca802c6bb4ef132408c3534737b765d65 Mon Sep 17 00:00:00 2001 From: Yusuke Kuoka Date: Tue, 29 Oct 2019 22:22:33 +0900 Subject: [PATCH] fix(v3): Allow rendering CRDs in `helm template` client-only validation Fixes #6665 Ref https://github.com/helm/helm/pull/6729#issuecomment-547415165 Relates to #6729 and #6811 Signed-off-by: Yusuke Kuoka --- pkg/chartutil/capabilities.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/chartutil/capabilities.go b/pkg/chartutil/capabilities.go index 9d29c4d9a..97e4cc945 100644 --- a/pkg/chartutil/capabilities.go +++ b/pkg/chartutil/capabilities.go @@ -17,6 +17,8 @@ package chartutil import ( "k8s.io/client-go/kubernetes/scheme" + + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" ) var ( @@ -73,6 +75,10 @@ func (v VersionSet) Has(apiVersion string) bool { } func allKnownVersions() VersionSet { + // Otherwise `helm template` fails validating due to an error like the below: + // Error: apiVersion "apiextensions.k8s.io/v1beta1" in mychart/templates/crd.yaml is not available + apiextensionsv1beta1.AddToScheme(scheme.Scheme) + groups := scheme.Scheme.PrioritizedVersionsAllGroups() vs := make(VersionSet, 0, len(groups)) for _, gv := range groups {