From 5d30dc2419260038583bb60e44f778f0763322e8 Mon Sep 17 00:00:00 2001 From: David-VTUK Date: Fri, 8 Sep 2023 11:25:35 +0100 Subject: [PATCH] Update logic to determine if rancher & backup operator is installed. --- internal/utils/utils.go | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/internal/utils/utils.go b/internal/utils/utils.go index 9c11e2e..6b9b3b0 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -4,12 +4,11 @@ import ( "context" "github.com/david-vtuk/prometheus-rancher-exporter/query/rancher" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" ) var ( - appGVR = schema.GroupVersionResource{Group: "catalog.cattle.io", Version: "v1", Resource: "apps"} + crdGVR = schema.GroupVersionResource{Group: "apiextensions.k8s.io", Version: "v1", Resource: "customresourcedefinitions"} ) // CheckInstalledRancherApps Determines if both Rancher and the Backup operator are installed @@ -18,31 +17,20 @@ func CheckInstalledRancherApps(r rancher.Client) (bool, bool, error) { var rancherInstalled = false var rancherBackupInstalled = false - res, err := r.Client.Resource(appGVR).List(context.Background(), v1.ListOptions{}) + res, err := r.Client.Resource(crdGVR).List(context.Background(), v1.ListOptions{}) if err != nil { return false, false, err } - for _, app := range res.Items { + for _, customResource := range res.Items { - appName, _, err := unstructured.NestedString(app.Object, "metadata", "name") - if err != nil { - return false, false, err - } - - appStatus, _, err := unstructured.NestedString(app.Object, "spec", "info", "status") - if err != nil { - return false, false, err - } - - if appName == "rancher" && appStatus == "deployed" { + if customResource.GetName() == "catalogs.management.cattle.io" { rancherInstalled = true } - if appName == "rancher-backup" && appStatus == "deployed" { + if customResource.GetName() == "backups.resources.cattle.io" { rancherBackupInstalled = true } - } return rancherInstalled, rancherBackupInstalled, nil