Documentation

Overview

    Package controllermanager provides an entrypoint into running all of the controllers that run as a part of Pinniped.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func PrepareControllers

    func PrepareControllers(c *Config) (func(ctx context.Context), error)

      Prepare the controllers and their informers and return a function that will start them when called. nolint:funlen // Eh, fair, it is a really long function...but it is wiring the world...so...

      Types

      type Config

      type Config struct {
      	// ServerInstallationInfo provides the name of the pod in which Pinniped is running and the namespace in which Pinniped is deployed.
      	ServerInstallationInfo *downward.PodInfo
      
      	// APIGroupSuffix is the suffix of the Pinniped API that should be targeted by these controllers.
      	APIGroupSuffix string
      
      	// NamesConfig comes from the Pinniped config API (see api.Config). It specifies how Kubernetes
      	// objects should be named.
      	NamesConfig *concierge.NamesConfigSpec
      
      	// KubeCertAgentConfig comes from the Pinniped config API (see api.Config). It configures how
      	// the kubecertagent package's controllers should manage the agent pods.
      	KubeCertAgentConfig *concierge.KubeCertAgentSpec
      
      	// DiscoveryURLOverride allows a caller to inject a hardcoded discovery URL into Pinniped
      	// discovery document.
      	DiscoveryURLOverride *string
      
      	// DynamicServingCertProvider provides a setter and a getter to the Pinniped API's serving cert.
      	DynamicServingCertProvider dynamiccert.Provider
      	// DynamicSigningCertProvider provides a setter and a getter to the Pinniped API's
      	// signing cert, i.e., the cert that it uses to sign certs for Pinniped clients wishing to login.
      	DynamicSigningCertProvider dynamiccert.Provider
      
      	// ServingCertDuration is the validity period, in seconds, of the API serving certificate.
      	ServingCertDuration time.Duration
      	// ServingCertRenewBefore is the period of time, in seconds, that pinniped will wait before
      	// rotating the serving certificate. This period of time starts upon issuance of the serving
      	// certificate.
      	ServingCertRenewBefore time.Duration
      
      	// AuthenticatorCache is a cache of authenticators shared amongst various authenticated-related controllers.
      	AuthenticatorCache *authncache.Cache
      
      	// Labels are labels that should be added to any resources created by the controllers.
      	Labels map[string]string
      }

        Config holds all the input parameters to the set of controllers run as a part of Pinniped.

        It is used to inject parameters into PrepareControllers.