mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-15 14:53:44 +00:00
Add table printer for csr
This commit is contained in:
parent
623efb4e9c
commit
07dc45ea4c
@ -94,8 +94,10 @@ go_library(
|
|||||||
"//vendor/k8s.io/api/autoscaling/v2alpha1:go_default_library",
|
"//vendor/k8s.io/api/autoscaling/v2alpha1:go_default_library",
|
||||||
"//vendor/k8s.io/api/batch/v1:go_default_library",
|
"//vendor/k8s.io/api/batch/v1:go_default_library",
|
||||||
"//vendor/k8s.io/api/batch/v2alpha1:go_default_library",
|
"//vendor/k8s.io/api/batch/v2alpha1:go_default_library",
|
||||||
|
"//vendor/k8s.io/api/certificates/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
"//vendor/k8s.io/api/extensions/v1beta1:go_default_library",
|
||||||
|
"//vendor/k8s.io/api/rbac/v1beta1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||||
|
@ -30,6 +30,7 @@ import (
|
|||||||
autoscalingv2alpha1 "k8s.io/api/autoscaling/v2alpha1"
|
autoscalingv2alpha1 "k8s.io/api/autoscaling/v2alpha1"
|
||||||
batchv1 "k8s.io/api/batch/v1"
|
batchv1 "k8s.io/api/batch/v1"
|
||||||
batchv2alpha1 "k8s.io/api/batch/v2alpha1"
|
batchv2alpha1 "k8s.io/api/batch/v2alpha1"
|
||||||
|
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
|
||||||
apiv1 "k8s.io/api/core/v1"
|
apiv1 "k8s.io/api/core/v1"
|
||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
rbacv1beta1 "k8s.io/api/rbac/v1beta1"
|
rbacv1beta1 "k8s.io/api/rbac/v1beta1"
|
||||||
@ -63,11 +64,10 @@ const loadBalancerWidth = 16
|
|||||||
// NOTE: When adding a new resource type here, please update the list
|
// NOTE: When adding a new resource type here, please update the list
|
||||||
// pkg/kubectl/cmd/get.go to reflect the new resource type.
|
// pkg/kubectl/cmd/get.go to reflect the new resource type.
|
||||||
var (
|
var (
|
||||||
storageClassColumns = []string{"NAME", "PROVISIONER"}
|
storageClassColumns = []string{"NAME", "PROVISIONER"}
|
||||||
statusColumns = []string{"STATUS", "REASON", "MESSAGE"}
|
statusColumns = []string{"STATUS", "REASON", "MESSAGE"}
|
||||||
certificateSigningRequestColumns = []string{"NAME", "AGE", "REQUESTOR", "CONDITION"}
|
podPresetColumns = []string{"NAME", "AGE"}
|
||||||
podPresetColumns = []string{"NAME", "AGE"}
|
controllerRevisionColumns = []string{"NAME", "CONTROLLER", "REVISION", "AGE"}
|
||||||
controllerRevisionColumns = []string{"NAME", "CONTROLLER", "REVISION", "AGE"}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddHandlers adds print handlers for default Kubernetes types dealing with internal versions.
|
// AddHandlers adds print handlers for default Kubernetes types dealing with internal versions.
|
||||||
@ -398,8 +398,16 @@ func AddHandlers(h printers.PrintHandler) {
|
|||||||
}
|
}
|
||||||
h.TableHandler(clusterRoleBindingsColumnDefinitions, printClusterRoleBinding)
|
h.TableHandler(clusterRoleBindingsColumnDefinitions, printClusterRoleBinding)
|
||||||
h.TableHandler(clusterRoleBindingsColumnDefinitions, printClusterRoleBindingList)
|
h.TableHandler(clusterRoleBindingsColumnDefinitions, printClusterRoleBindingList)
|
||||||
h.Handler(certificateSigningRequestColumns, nil, printCertificateSigningRequest)
|
|
||||||
h.Handler(certificateSigningRequestColumns, nil, printCertificateSigningRequestList)
|
certificateSigningRequestColumnDefinitions := []metav1alpha1.TableColumnDefinition{
|
||||||
|
{Name: "Name", Type: "string", Format: "name", Description: metav1.ObjectMeta{}.SwaggerDoc()["name"]},
|
||||||
|
{Name: "Age", Type: "string", Description: metav1.ObjectMeta{}.SwaggerDoc()["creationTimestamp"]},
|
||||||
|
{Name: "Requestor", Description: certificatesv1beta1.CertificateSigningRequestSpec{}.SwaggerDoc()["request"]},
|
||||||
|
{Name: "Condition", Description: certificatesv1beta1.CertificateSigningRequestStatus{}.SwaggerDoc()["conditions"]},
|
||||||
|
}
|
||||||
|
h.TableHandler(certificateSigningRequestColumnDefinitions, printCertificateSigningRequest)
|
||||||
|
h.TableHandler(certificateSigningRequestColumnDefinitions, printCertificateSigningRequestList)
|
||||||
|
|
||||||
h.Handler(storageClassColumns, nil, printStorageClass)
|
h.Handler(storageClassColumns, nil, printStorageClass)
|
||||||
h.Handler(storageClassColumns, nil, printStorageClassList)
|
h.Handler(storageClassColumns, nil, printStorageClassList)
|
||||||
h.Handler(statusColumns, nil, printStatus)
|
h.Handler(statusColumns, nil, printStatus)
|
||||||
@ -1336,29 +1344,16 @@ func printClusterRoleBindingList(list *rbac.ClusterRoleBindingList, options prin
|
|||||||
return rows, nil
|
return rows, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func printCertificateSigningRequest(csr *certificates.CertificateSigningRequest, w io.Writer, options printers.PrintOptions) error {
|
func printCertificateSigningRequest(obj *certificates.CertificateSigningRequest, options printers.PrintOptions) ([]metav1alpha1.TableRow, error) {
|
||||||
name := printers.FormatResourceName(options.Kind, csr.Name, options.WithKind)
|
row := metav1alpha1.TableRow{
|
||||||
meta := csr.ObjectMeta
|
Object: runtime.RawExtension{Object: obj},
|
||||||
|
}
|
||||||
status, err := extractCSRStatus(csr)
|
status, err := extractCSRStatus(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
row.Cells = append(row.Cells, obj.Name, translateTimestamp(obj.CreationTimestamp), obj.Spec.Username, status)
|
||||||
if _, err := fmt.Fprintf(
|
return []metav1alpha1.TableRow{row}, nil
|
||||||
w, "%s\t%s\t%s\t%s",
|
|
||||||
name,
|
|
||||||
translateTimestamp(meta.CreationTimestamp),
|
|
||||||
csr.Spec.Username,
|
|
||||||
status,
|
|
||||||
); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if _, err := fmt.Fprint(w, printers.AppendLabels(meta.Labels, options.ColumnLabels)); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
_, err = fmt.Fprint(w, printers.AppendAllLabels(options.ShowLabels, meta.Labels))
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func extractCSRStatus(csr *certificates.CertificateSigningRequest) (string, error) {
|
func extractCSRStatus(csr *certificates.CertificateSigningRequest) (string, error) {
|
||||||
@ -1388,13 +1383,16 @@ func extractCSRStatus(csr *certificates.CertificateSigningRequest) (string, erro
|
|||||||
return status, nil
|
return status, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func printCertificateSigningRequestList(list *certificates.CertificateSigningRequestList, w io.Writer, options printers.PrintOptions) error {
|
func printCertificateSigningRequestList(list *certificates.CertificateSigningRequestList, options printers.PrintOptions) ([]metav1alpha1.TableRow, error) {
|
||||||
|
rows := make([]metav1alpha1.TableRow, 0, len(list.Items))
|
||||||
for i := range list.Items {
|
for i := range list.Items {
|
||||||
if err := printCertificateSigningRequest(&list.Items[i], w, options); err != nil {
|
r, err := printCertificateSigningRequest(&list.Items[i], options)
|
||||||
return err
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
|
rows = append(rows, r...)
|
||||||
}
|
}
|
||||||
return nil
|
return rows, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func printComponentStatus(obj *api.ComponentStatus, options printers.PrintOptions) ([]metav1alpha1.TableRow, error) {
|
func printComponentStatus(obj *api.ComponentStatus, options printers.PrintOptions) ([]metav1alpha1.TableRow, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user