mirror of
https://github.com/kyverno/kyverno.git
synced 2025-04-16 09:16:24 +00:00
fix: error reported when sanity check fails (#7439)
Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
parent
c92605b7a6
commit
248e6be073
2 changed files with 11 additions and 11 deletions
|
@ -5,7 +5,6 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
@ -62,10 +61,7 @@ func showWarnings(logger logr.Logger) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func sanityChecks(apiserverClient apiserver.Interface) error {
|
func sanityChecks(apiserverClient apiserver.Interface) error {
|
||||||
if !kubeutils.CRDsInstalled(apiserverClient) {
|
return kubeutils.CRDsInstalled(apiserverClient)
|
||||||
return fmt.Errorf("CRDs not installed")
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func createNonLeaderControllers(
|
func createNonLeaderControllers(
|
||||||
|
|
|
@ -2,13 +2,15 @@ package kube
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"go.uber.org/multierr"
|
||||||
apiserver "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
apiserver "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CRDsInstalled checks if the Kyverno CRDs are installed or not
|
// CRDsInstalled checks if the Kyverno CRDs are installed or not
|
||||||
func CRDsInstalled(apiserverClient apiserver.Interface) bool {
|
func CRDsInstalled(apiserverClient apiserver.Interface) error {
|
||||||
kyvernoCRDs := []string{
|
kyvernoCRDs := []string{
|
||||||
"admissionreports.kyverno.io",
|
"admissionreports.kyverno.io",
|
||||||
"backgroundscanreports.kyverno.io",
|
"backgroundscanreports.kyverno.io",
|
||||||
|
@ -23,15 +25,17 @@ func CRDsInstalled(apiserverClient apiserver.Interface) bool {
|
||||||
"policyreports.wgpolicyk8s.io",
|
"policyreports.wgpolicyk8s.io",
|
||||||
"updaterequests.kyverno.io",
|
"updaterequests.kyverno.io",
|
||||||
}
|
}
|
||||||
|
var errs []error
|
||||||
for _, crd := range kyvernoCRDs {
|
for _, crd := range kyvernoCRDs {
|
||||||
if !isCRDInstalled(apiserverClient, crd) {
|
err := isCRDInstalled(apiserverClient, crd)
|
||||||
return false
|
if err != nil {
|
||||||
|
errs = append(errs, fmt.Errorf("failed to check CRD %s is installed: %s", crd, err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true
|
return multierr.Combine(errs...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func isCRDInstalled(apiserverClient apiserver.Interface, kind string) bool {
|
func isCRDInstalled(apiserverClient apiserver.Interface, kind string) error {
|
||||||
_, err := apiserverClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.Background(), kind, metav1.GetOptions{})
|
_, err := apiserverClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.Background(), kind, metav1.GetOptions{})
|
||||||
return err == nil
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue