Newer
Older
AnthosCertManager / pkg / issuer / selfsigned / selfsigned.go
@Yangyang Xie Yangyang Xie on 19 Nov 2022 937 bytes add issuer support
package selfsigned

import (
	corelisters "k8s.io/client-go/listers/core/v1"

	apiutil "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/api/util"
	v1 "gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/apis/anthoscertmanager/v1"
	"gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/controller"
	"gitbucket.jerxie.com/yangyangxie/AnthosCertManager/pkg/issuer"
)

// SelfSigned is an Issuer implementation the simply self-signs Certificates.
type SelfSigned struct {
	*controller.Context
	issuer v1.GenericIssuer

	secretsLister corelisters.SecretLister
}

func NewSelfSigned(ctx *controller.Context, issuer v1.GenericIssuer) (issuer.Interface, error) {
	secretsLister := ctx.KubeSharedInformerFactory.Core().V1().Secrets().Lister()
	return &SelfSigned{
		Context:       ctx,
		issuer:        issuer,
		secretsLister: secretsLister,
	}, nil
}

func init() {
	issuer.RegisterIssuer(apiutil.IssuerSelfSigned, NewSelfSigned)
}