INNER CODE UNIT · Go

dynamicCrdChecker

kubermatic/kubermatic · cmd/http-prober/main.go:239

func dynamicCrdChecker(kind, apiVersion string, cfg *rest.Config) func() error {
	list := &unstructured.UnstructuredList{}
	list.SetKind(kind)
	list.SetAPIVersion(apiVersion)
	listOpts := &ctrlruntimeclient.ListOptions{Raw: &metav1.ListOptions{Limit: 1}}

	return func() error {
		// Client creation does discovery calls, so do not attempt to do it initially
		// when the API may not be up yet.
		client, err := ctrlruntimeclient.New(cfg, ctrlruntimeclient.Options{})
		if err != nil {
			return fmt.Errorf("failed to create kube client: %w", err)
		}

		if err := client.List(context.Background(), list, listOpts); err != nil {
			return fmt.Errorf("failed to list %s.%s: %w", kind, apiVersion, err)
		}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…