mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 05:57:25 +00:00
Print and describe failed CSRs
This commit is contained in:
parent
d33a19cee7
commit
6b61cb2907
@ -1781,10 +1781,7 @@ func printCertificateSigningRequest(obj *certificates.CertificateSigningRequest,
|
|||||||
row := metav1.TableRow{
|
row := metav1.TableRow{
|
||||||
Object: runtime.RawExtension{Object: obj},
|
Object: runtime.RawExtension{Object: obj},
|
||||||
}
|
}
|
||||||
status, err := extractCSRStatus(obj)
|
status := extractCSRStatus(obj)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
signerName := "<none>"
|
signerName := "<none>"
|
||||||
if obj.Spec.SignerName != "" {
|
if obj.Spec.SignerName != "" {
|
||||||
signerName = obj.Spec.SignerName
|
signerName = obj.Spec.SignerName
|
||||||
@ -1793,16 +1790,16 @@ func printCertificateSigningRequest(obj *certificates.CertificateSigningRequest,
|
|||||||
return []metav1.TableRow{row}, nil
|
return []metav1.TableRow{row}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func extractCSRStatus(csr *certificates.CertificateSigningRequest) (string, error) {
|
func extractCSRStatus(csr *certificates.CertificateSigningRequest) string {
|
||||||
var approved, denied bool
|
var approved, denied, failed bool
|
||||||
for _, c := range csr.Status.Conditions {
|
for _, c := range csr.Status.Conditions {
|
||||||
switch c.Type {
|
switch c.Type {
|
||||||
case certificates.CertificateApproved:
|
case certificates.CertificateApproved:
|
||||||
approved = true
|
approved = true
|
||||||
case certificates.CertificateDenied:
|
case certificates.CertificateDenied:
|
||||||
denied = true
|
denied = true
|
||||||
default:
|
case certificates.CertificateFailed:
|
||||||
return "", fmt.Errorf("unknown csr condition %q", c)
|
failed = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var status string
|
var status string
|
||||||
@ -1814,10 +1811,13 @@ func extractCSRStatus(csr *certificates.CertificateSigningRequest) (string, erro
|
|||||||
} else {
|
} else {
|
||||||
status += "Pending"
|
status += "Pending"
|
||||||
}
|
}
|
||||||
|
if failed {
|
||||||
|
status += ",Failed"
|
||||||
|
}
|
||||||
if len(csr.Status.Certificate) > 0 {
|
if len(csr.Status.Certificate) > 0 {
|
||||||
status += ",Issued"
|
status += ",Issued"
|
||||||
}
|
}
|
||||||
return status, nil
|
return status
|
||||||
}
|
}
|
||||||
|
|
||||||
func printCertificateSigningRequestList(list *certificates.CertificateSigningRequestList, options printers.GenerateOptions) ([]metav1.TableRow, error) {
|
func printCertificateSigningRequestList(list *certificates.CertificateSigningRequestList, options printers.GenerateOptions) ([]metav1.TableRow, error) {
|
||||||
|
@ -3261,10 +3261,7 @@ func (p *CertificateSigningRequestDescriber) Describe(namespace, name string, de
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("Error parsing CSR: %v", err)
|
return "", fmt.Errorf("Error parsing CSR: %v", err)
|
||||||
}
|
}
|
||||||
status, err := extractCSRStatus(csr)
|
status := extractCSRStatus(csr)
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
var events *corev1.EventList
|
var events *corev1.EventList
|
||||||
if describerSettings.ShowEvents {
|
if describerSettings.ShowEvents {
|
||||||
@ -4843,16 +4840,16 @@ func formatEndpoints(endpoints *corev1.Endpoints, ports sets.String) string {
|
|||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
func extractCSRStatus(csr *certificatesv1beta1.CertificateSigningRequest) (string, error) {
|
func extractCSRStatus(csr *certificatesv1beta1.CertificateSigningRequest) string {
|
||||||
var approved, denied bool
|
var approved, denied, failed bool
|
||||||
for _, c := range csr.Status.Conditions {
|
for _, c := range csr.Status.Conditions {
|
||||||
switch c.Type {
|
switch c.Type {
|
||||||
case certificatesv1beta1.CertificateApproved:
|
case certificatesv1beta1.CertificateApproved:
|
||||||
approved = true
|
approved = true
|
||||||
case certificatesv1beta1.CertificateDenied:
|
case certificatesv1beta1.CertificateDenied:
|
||||||
denied = true
|
denied = true
|
||||||
default:
|
case certificatesv1beta1.CertificateFailed:
|
||||||
return "", fmt.Errorf("unknown csr condition %q", c)
|
failed = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var status string
|
var status string
|
||||||
@ -4864,10 +4861,13 @@ func extractCSRStatus(csr *certificatesv1beta1.CertificateSigningRequest) (strin
|
|||||||
} else {
|
} else {
|
||||||
status += "Pending"
|
status += "Pending"
|
||||||
}
|
}
|
||||||
|
if failed {
|
||||||
|
status += ",Failed"
|
||||||
|
}
|
||||||
if len(csr.Status.Certificate) > 0 {
|
if len(csr.Status.Certificate) > 0 {
|
||||||
status += ",Issued"
|
status += ",Issued"
|
||||||
}
|
}
|
||||||
return status, nil
|
return status
|
||||||
}
|
}
|
||||||
|
|
||||||
// backendStringer behaves just like a string interface and converts the given backend to a string.
|
// backendStringer behaves just like a string interface and converts the given backend to a string.
|
||||||
|
Loading…
Reference in New Issue
Block a user