kubernetesk8s.io/kubernetes/pkg/kubelet/clustertrustbundle Index | Files

package clustertrustbundle

import "k8s.io/kubernetes/pkg/kubelet/clustertrustbundle"

Package clustertrustbundle abstracts access to ClusterTrustBundles so that projected volumes can use them.

Index

Types

type InformerManager

type InformerManager[T clusterTrustBundle] struct {
	// contains filtered or unexported fields
}

InformerManager is the "real" manager. It uses informers to track ClusterTrustBundle objects.

func (*InformerManager[T]) GetTrustAnchorsByName

func (m *InformerManager[T]) GetTrustAnchorsByName(name string, allowMissing bool) ([]byte, error)

GetTrustAnchorsByName returns normalized and deduplicated trust anchors from a single named ClusterTrustBundle.

func (*InformerManager[T]) GetTrustAnchorsBySigner

func (m *InformerManager[T]) GetTrustAnchorsBySigner(signerName string, labelSelector *metav1.LabelSelector, allowMissing bool) ([]byte, error)

GetTrustAnchorsBySigner returns normalized and deduplicated trust anchors from a set of selected ClusterTrustBundles.

type LazyInformerManager

type LazyInformerManager struct {
	// contains filtered or unexported fields
}

LazyInformerManager decides whether to use the noop or the actual manager on a call to the manager's methods. We cannot determine this upon startup because some may rely on the kubelet to be fully running in order to setup their kube-apiserver.

func (*LazyInformerManager) GetTrustAnchorsByName

func (m *LazyInformerManager) GetTrustAnchorsByName(name string, allowMissing bool) ([]byte, error)

func (*LazyInformerManager) GetTrustAnchorsBySigner

func (m *LazyInformerManager) GetTrustAnchorsBySigner(signerName string, labelSelector *metav1.LabelSelector, allowMissing bool) ([]byte, error)

type Manager

type Manager interface {
	GetTrustAnchorsByName(name string, allowMissing bool) ([]byte, error)
	GetTrustAnchorsBySigner(signerName string, labelSelector *metav1.LabelSelector, allowMissing bool) ([]byte, error)
}

Manager abstracts over the ability to get trust anchors.

func NewAlphaInformerManager

func NewAlphaInformerManager(
	ctx context.Context, informerFactory informers.SharedInformerFactory, cacheSize int, cacheTTL time.Duration,
) (Manager, error)

func NewBetaInformerManager

func NewBetaInformerManager(
	ctx context.Context, informerFactory informers.SharedInformerFactory, cacheSize int, cacheTTL time.Duration,
) (Manager, error)

func NewLazyInformerManager

func NewLazyInformerManager(ctx context.Context, kubeClient clientset.Interface, cacheSize int) Manager

type NoopManager

type NoopManager struct{}

NoopManager always returns an error, for use in static kubelet mode.

func (*NoopManager) GetTrustAnchorsByName

func (m *NoopManager) GetTrustAnchorsByName(name string, allowMissing bool) ([]byte, error)

GetTrustAnchorsByName implements Manager.

func (*NoopManager) GetTrustAnchorsBySigner

func (m *NoopManager) GetTrustAnchorsBySigner(signerName string, labelSelector *metav1.LabelSelector, allowMissing bool) ([]byte, error)

GetTrustAnchorsBySigner implements Manager.

Source Files

clustertrustbundle_manager.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
19 packages
Last checked
3 hours ago

Tools for package owners.