bootstrappers

package
v1.91.0 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// RequestKubeconfigWithBootstrapClient is an alias for bootstrap.RequestKubeconfigWithBootstrapClient.
	// Exposed for testing.
	RequestKubeconfigWithBootstrapClient = bootstrap.RequestKubeconfigWithBootstrapClient
	// NewClientFromBytes is an alias for kubernetes.NewClientFromBytes.
	// Exposed for testing.
	NewClientFromBytes = kubernetes.NewClientFromBytes
)

Functions

This section is empty.

Types

type GardenKubeconfig

type GardenKubeconfig struct {
	// SeedClient is the seed cluster client.
	SeedClient client.Client
	// Log is a logger.
	Log logr.Logger
	// Config is the gardenlet component configuration.
	Config *config.GardenletConfiguration
	// Result is a structure that will be filled with information about the requested kubeconfig. Must be initialized
	// by the caller.
	Result *KubeconfigBootstrapResult
}

GardenKubeconfig implements manager.Runnable and can be used to fetch a kubeconfig for the garden cluster.

func (*GardenKubeconfig) Start

func (g *GardenKubeconfig) Start(ctx context.Context) (err error)

Start starts the garden kubeconfig bootstrap process. It either uses the provided bootstrap kubeconfig with a bootstrap token to create a CertificateSigningRequest for retrieving a client certificate, or it returns the already existing kubeconfig (stored in the seed cluster as secret).

type KubeconfigBootstrapResult

type KubeconfigBootstrapResult struct {
	// Kubeconfig is the kubeconfig that can be used to communicate with the garden cluster.
	Kubeconfig []byte
	// CSRName is the name of the created CertificateSigningRequest. This might be empty when no CSR was created (e.g.,
	// because the kubeconfig already exists).
	CSRName string
	// SeedName is the name of the seed the kubeconfig was requested for. This might be empty when no CSR was created
	// (e.g. because the kubeconfig already exists).
	SeedName string
}

KubeconfigBootstrapResult is contains information about the result of the kubeconfig bootstrapping process.

type SeedConfigChecker

type SeedConfigChecker struct {
	SeedClient client.Client
	SeedConfig *config.SeedConfig
}

SeedConfigChecker checks whether the seed networks in the specification of the provided SeedConfig are correctly configured. Note that this only works in case the seed cluster is a shoot cluster (i.e., if it has the `shoot-info` ConfigMap in the kube-system namespace).

func (*SeedConfigChecker) Start

func (s *SeedConfigChecker) Start(ctx context.Context) error

Start performs the check.

Jump to

Keyboard shortcuts

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