...
1
16
17 package certificates
18
19 import (
20 certificates "k8s.io/api/certificates/v1"
21 v1 "k8s.io/api/core/v1"
22 )
23
24
25
26 func IsCertificateRequestApproved(csr *certificates.CertificateSigningRequest) bool {
27 approved, denied := GetCertApprovalCondition(&csr.Status)
28 return approved && !denied
29 }
30
31
32 func HasTrueCondition(csr *certificates.CertificateSigningRequest, conditionType certificates.RequestConditionType) bool {
33 for _, c := range csr.Status.Conditions {
34 if c.Type == conditionType && (len(c.Status) == 0 || c.Status == v1.ConditionTrue) {
35 return true
36 }
37 }
38 return false
39 }
40
41 func GetCertApprovalCondition(status *certificates.CertificateSigningRequestStatus) (approved bool, denied bool) {
42 for _, c := range status.Conditions {
43 if c.Type == certificates.CertificateApproved {
44 approved = true
45 }
46 if c.Type == certificates.CertificateDenied {
47 denied = true
48 }
49 }
50 return
51 }
52
View as plain text