in pkg/controller/certificates/certificates.go [32:65]
func CopyStatus(sslCert computev1.SslCertificate, mcrt *v1.ManagedCertificate,
config *config.Config) error {
certificateStatus, err := translateStatus(config.CertificateStatus.Certificate,
sslCert.Managed.Status)
if err != nil {
return fmt.Errorf("Failed to translate status of SslCertificate %v, err: %v",
sslCert, err)
}
mcrt.Status.CertificateStatus = certificateStatus
// Initialize with non-nil value to avoid ManagedCertificate CRD validation warnings
domainStatuses := make([]v1.DomainStatus, 0)
for domain, status := range sslCert.Managed.DomainStatus {
domainStatus, err := translateStatus(config.CertificateStatus.Domain, status)
if err != nil {
return err
}
domainStatuses = append(domainStatuses, v1.DomainStatus{
Domain: domain,
Status: domainStatus,
})
}
sort.SliceStable(domainStatuses, func(i, j int) bool {
return domainStatuses[i].Domain < domainStatuses[j].Domain
})
mcrt.Status.DomainStatus = domainStatuses
mcrt.Status.CertificateName = sslCert.Name
mcrt.Status.ExpireTime = sslCert.ExpireTime
return nil
}