mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Add webhook printers
This commit is contained in:
		@@ -45,6 +45,7 @@ go_library(
 | 
			
		||||
    ],
 | 
			
		||||
    importpath = "k8s.io/kubernetes/pkg/printers/internalversion",
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//pkg/apis/admissionregistration:go_default_library",
 | 
			
		||||
        "//pkg/apis/apps:go_default_library",
 | 
			
		||||
        "//pkg/apis/apps/install:go_default_library",
 | 
			
		||||
        "//pkg/apis/authentication/install:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,7 @@ import (
 | 
			
		||||
	"k8s.io/apimachinery/pkg/runtime/schema"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/duration"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/sets"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/admissionregistration"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/apps"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/autoscaling"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/batch"
 | 
			
		||||
@@ -500,6 +501,22 @@ func AddHandlers(h printers.PrintHandler) {
 | 
			
		||||
	}
 | 
			
		||||
	h.TableHandler(csiDriverColumnDefinitions, printCSIDriver)
 | 
			
		||||
	h.TableHandler(csiDriverColumnDefinitions, printCSIDriverList)
 | 
			
		||||
 | 
			
		||||
	mutatingWebhookColumnDefinitions := []metav1.TableColumnDefinition{
 | 
			
		||||
		{Name: "Name", Type: "string", Format: "name", Description: metav1.ObjectMeta{}.SwaggerDoc()["name"]},
 | 
			
		||||
		{Name: "Webhooks", Type: "integer", Description: "Webhooks indicates the number of webhooks registered in this configuration"},
 | 
			
		||||
		{Name: "Age", Type: "string", Description: metav1.ObjectMeta{}.SwaggerDoc()["creationTimestamp"]},
 | 
			
		||||
	}
 | 
			
		||||
	h.TableHandler(mutatingWebhookColumnDefinitions, printMutatingWebhook)
 | 
			
		||||
	h.TableHandler(mutatingWebhookColumnDefinitions, printMutatingWebhookList)
 | 
			
		||||
 | 
			
		||||
	validatingWebhookColumnDefinitions := []metav1.TableColumnDefinition{
 | 
			
		||||
		{Name: "Name", Type: "string", Format: "name", Description: metav1.ObjectMeta{}.SwaggerDoc()["name"]},
 | 
			
		||||
		{Name: "Webhooks", Type: "integer", Description: "Webhooks indicates the number of webhooks registered in this configuration"},
 | 
			
		||||
		{Name: "Age", Type: "string", Description: metav1.ObjectMeta{}.SwaggerDoc()["creationTimestamp"]},
 | 
			
		||||
	}
 | 
			
		||||
	h.TableHandler(validatingWebhookColumnDefinitions, printValidatingWebhook)
 | 
			
		||||
	h.TableHandler(validatingWebhookColumnDefinitions, printValidatingWebhookList)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Pass ports=nil for all ports.
 | 
			
		||||
@@ -1263,6 +1280,47 @@ func printCSIDriverList(list *storage.CSIDriverList, options printers.GenerateOp
 | 
			
		||||
	}
 | 
			
		||||
	return rows, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printMutatingWebhook(obj *admissionregistration.MutatingWebhookConfiguration, options printers.GenerateOptions) ([]metav1.TableRow, error) {
 | 
			
		||||
	row := metav1.TableRow{
 | 
			
		||||
		Object: runtime.RawExtension{Object: obj},
 | 
			
		||||
	}
 | 
			
		||||
	row.Cells = append(row.Cells, obj.Name, len(obj.Webhooks), translateTimestampSince(obj.CreationTimestamp))
 | 
			
		||||
	return []metav1.TableRow{row}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printMutatingWebhookList(list *admissionregistration.MutatingWebhookConfigurationList, options printers.GenerateOptions) ([]metav1.TableRow, error) {
 | 
			
		||||
	rows := make([]metav1.TableRow, 0, len(list.Items))
 | 
			
		||||
	for i := range list.Items {
 | 
			
		||||
		r, err := printMutatingWebhook(&list.Items[i], options)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		rows = append(rows, r...)
 | 
			
		||||
	}
 | 
			
		||||
	return rows, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printValidatingWebhook(obj *admissionregistration.ValidatingWebhookConfiguration, options printers.GenerateOptions) ([]metav1.TableRow, error) {
 | 
			
		||||
	row := metav1.TableRow{
 | 
			
		||||
		Object: runtime.RawExtension{Object: obj},
 | 
			
		||||
	}
 | 
			
		||||
	row.Cells = append(row.Cells, obj.Name, len(obj.Webhooks), translateTimestampSince(obj.CreationTimestamp))
 | 
			
		||||
	return []metav1.TableRow{row}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printValidatingWebhookList(list *admissionregistration.ValidatingWebhookConfigurationList, options printers.GenerateOptions) ([]metav1.TableRow, error) {
 | 
			
		||||
	rows := make([]metav1.TableRow, 0, len(list.Items))
 | 
			
		||||
	for i := range list.Items {
 | 
			
		||||
		r, err := printValidatingWebhook(&list.Items[i], options)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
		rows = append(rows, r...)
 | 
			
		||||
	}
 | 
			
		||||
	return rows, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func printNamespace(obj *api.Namespace, options printers.GenerateOptions) ([]metav1.TableRow, error) {
 | 
			
		||||
	row := metav1.TableRow{
 | 
			
		||||
		Object: runtime.RawExtension{Object: obj},
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,9 @@ go_library(
 | 
			
		||||
    importpath = "k8s.io/kubernetes/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage",
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//pkg/apis/admissionregistration:go_default_library",
 | 
			
		||||
        "//pkg/printers:go_default_library",
 | 
			
		||||
        "//pkg/printers/internalversion:go_default_library",
 | 
			
		||||
        "//pkg/printers/storage:go_default_library",
 | 
			
		||||
        "//pkg/registry/admissionregistration/mutatingwebhookconfiguration:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,9 @@ import (
 | 
			
		||||
	"k8s.io/apiserver/pkg/registry/generic"
 | 
			
		||||
	genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/admissionregistration"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/printers"
 | 
			
		||||
	printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
 | 
			
		||||
	printerstorage "k8s.io/kubernetes/pkg/printers/storage"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/registry/admissionregistration/mutatingwebhookconfiguration"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -42,6 +45,8 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
 | 
			
		||||
		CreateStrategy: mutatingwebhookconfiguration.Strategy,
 | 
			
		||||
		UpdateStrategy: mutatingwebhookconfiguration.Strategy,
 | 
			
		||||
		DeleteStrategy: mutatingwebhookconfiguration.Strategy,
 | 
			
		||||
 | 
			
		||||
		TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
 | 
			
		||||
	}
 | 
			
		||||
	options := &generic.StoreOptions{RESTOptions: optsGetter}
 | 
			
		||||
	if err := store.CompleteWithOptions(options); err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,9 @@ go_library(
 | 
			
		||||
    importpath = "k8s.io/kubernetes/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage",
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//pkg/apis/admissionregistration:go_default_library",
 | 
			
		||||
        "//pkg/printers:go_default_library",
 | 
			
		||||
        "//pkg/printers/internalversion:go_default_library",
 | 
			
		||||
        "//pkg/printers/storage:go_default_library",
 | 
			
		||||
        "//pkg/registry/admissionregistration/validatingwebhookconfiguration:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/registry/generic:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,9 @@ import (
 | 
			
		||||
	"k8s.io/apiserver/pkg/registry/generic"
 | 
			
		||||
	genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/apis/admissionregistration"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/printers"
 | 
			
		||||
	printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
 | 
			
		||||
	printerstorage "k8s.io/kubernetes/pkg/printers/storage"
 | 
			
		||||
	"k8s.io/kubernetes/pkg/registry/admissionregistration/validatingwebhookconfiguration"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -42,6 +45,8 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, error) {
 | 
			
		||||
		CreateStrategy: validatingwebhookconfiguration.Strategy,
 | 
			
		||||
		UpdateStrategy: validatingwebhookconfiguration.Strategy,
 | 
			
		||||
		DeleteStrategy: validatingwebhookconfiguration.Strategy,
 | 
			
		||||
 | 
			
		||||
		TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)},
 | 
			
		||||
	}
 | 
			
		||||
	options := &generic.StoreOptions{RESTOptions: optsGetter}
 | 
			
		||||
	if err := store.CompleteWithOptions(options); err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user