factory

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CertManagerConfig

type CertManagerConfig struct {
	// ComponentName represents the name of the component which will use this CertManager.
	ComponentName string
	// CommonName is CN of cert.
	CommonName string
	// CertDir represents the dir of local file system where the cert related files will be stored.
	CertDir string
	// Organizations is O of cert.
	Organizations []string
	// DNSNames contain a list of DNS names this component will use.
	// Note:
	// If DNSGetter is set and it can get dns names with no error returned,
	// DNSNames will be ignored and what got from DNSGetter will be used.
	DNSNames []string
	// DNSGetter can get dns names at runtime. If no error returned when getting dns names,
	// these dns names will be used in the cert instead of the DNSNames.
	DNSGetter
	// IPs contain a list of IP this component will use.
	// Note:
	// If IPGetter is set and it can get ips with no error returned,
	// IPs will be ignored and what got from IPGetter will be used.
	IPs []net.IP
	// IPGetter can get ips at runtime. If no error returned when getting ips,
	// these ips will be used in the cert instead of the IPs.
	IPGetter
	// SignerName can specified the signer of Kubernetes, which can be one of
	// 1. "kubernetes.io/kube-apiserver-client"
	// 2. "kubernetes.io/kube-apiserver-client-kubelet"
	// 3. "kubernetes.io/kubelet-serving"
	// More details can be found at k8s.io/api/certificates/v1
	SignerName string
	// ForServerUsage indicates the usage of this cert.
	// If set, UsageServerAuth will be used, otherwise UsageClientAuth will be used.
	// Additionally, UsageKeyEncipherment and UsageDigitalSignature are always used.
	ForServerUsage bool
}

CertManagerConfig specifies the attributes of the created CertManager

type CertManagerFactory

type CertManagerFactory interface {
	// New function will create the CertManager as what CertManagerConfig specified.
	New(*CertManagerConfig) (certificate.Manager, error)
}

CertManagerFactory knows how to create CertManager for OpenYurt Components.

func NewCertManagerFactory

func NewCertManagerFactory(clientSet kubernetes.Interface) CertManagerFactory

func NewCertManagerFactoryWithFnAndStore added in v1.2.0

func NewCertManagerFactoryWithFnAndStore(clientsetFn certificate.ClientsetFunc, store certificate.FileStore) CertManagerFactory

type DNSGetter

type DNSGetter func() ([]string, error)

type IPGetter

type IPGetter func() ([]net.IP, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL