func CopyStatus()

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
}