Newer
Older
AnthosCertManager / pkg / controller / issuers / checks.go
@Yangyang Xie Yangyang Xie on 19 Nov 2022 780 bytes add issuer support
package issuers

import (
	"fmt"

	v1 "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/apis/anthoscertmanager/v1"
	corev1 "k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/labels"
)

// issuersForSecret iterater all existing issuers and see if the secret is the one owned by our issuer.
func (c *controller) issuersForSecret(secret *corev1.Secret) ([]*v1.Issuer, error) {
	issuers, err := c.issuerLister.List(labels.NewSelector())

	if err != nil {
		return nil, fmt.Errorf("error listing certificates: %s", err.Error())
	}

	var affected []*v1.Issuer

	for _, iss := range issuers {
		if iss.Namespace != secret.Namespace {
			continue
		}
		if iss.Spec.CA != nil && iss.Spec.CA.SecretName == secret.Name {
			affected = append(affected, iss)
		}
	}

	return affected, nil
}