feat: add ClusterCatalog and ClusterExtension analyzers (#1555)

Signed-off-by: Jian Zhang <jiazha@redhat.com>
This commit is contained in:
Jian Zhang
2025-08-09 00:12:05 +08:00
committed by GitHub
parent 50d5d78c06
commit a821814125
9 changed files with 804 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ limitations under the License.
package kubernetes
import (
"k8s.io/client-go/dynamic"
"k8s.io/client-go/kubernetes"
_ "k8s.io/client-go/plugin/pkg/client/auth/oidc"
"k8s.io/client-go/rest"
@@ -33,6 +34,10 @@ func (c *Client) GetCtrlClient() ctrl.Client {
return c.CtrlClient
}
func (c *Client) GetDynamicClient() dynamic.Interface {
return c.DynamicClient
}
func NewClient(kubecontext string, kubeconfig string) (*Client, error) {
var config *rest.Config
config, err := rest.InClusterConfig()
@@ -69,10 +74,16 @@ func NewClient(kubecontext string, kubeconfig string) (*Client, error) {
return nil, err
}
dynamicClient, err := dynamic.NewForConfig(config)
if err != nil {
return nil, err
}
return &Client{
Client: clientSet,
CtrlClient: ctrlClient,
Config: config,
ServerVersion: serverVersion,
DynamicClient: dynamicClient,
}, nil
}

View File

@@ -4,6 +4,7 @@ import (
openapi_v2 "github.com/google/gnostic/openapiv2"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/version"
"k8s.io/client-go/dynamic"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -14,6 +15,7 @@ type Client struct {
CtrlClient ctrl.Client
Config *rest.Config
ServerVersion *version.Info
DynamicClient dynamic.Interface
}
type K8sApiReference struct {