Documentation
¶
Overview ¶
Package config contains functionality for interacting with configuration for controller-runtime components.
Index ¶
- type Controller
- type ControllerManagerConfigurationdeprecated
- type DeferredFileLoaderdeprecated
- func File() *DeferredFileLoaderdeprecated
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶ added in v0.15.0
type Controller struct {
// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
// allowed for that controller.
//
// When a controller is registered within this manager using the builder utilities,
// users have to specify the type the controller reconciles in the For(...) call.
// If the object's kind passed matches one of the keys in this map, the concurrency
// for that controller is set to the number specified.
//
// The key is expected to be consistent in form with GroupKind.String(),
// e.g. ReplicaSet in apps group (regardless of version) would be `ReplicaSet.apps`.
GroupKindConcurrency map[string]int
// MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1.
MaxConcurrentReconciles int
// CacheSyncTimeout refers to the time limit set to wait for syncing caches.
// Defaults to 2 minutes if not set.
CacheSyncTimeout time.Duration
// RecoverPanic indicates whether the panic caused by reconcile should be recovered.
// Defaults to the Controller.RecoverPanic setting from the Manager if unset.
RecoverPanic *bool
// NeedLeaderElection indicates whether the controller needs to use leader election.
// Defaults to true, which means the controller will use leader election.
NeedLeaderElection *bool
}
Controller contains configuration options for a controller.
type ControllerManagerConfiguration
deprecated
type ControllerManagerConfiguration interface {
runtime.Object
// Complete returns the versioned configuration
Complete() (v1alpha1.ControllerManagerConfigurationSpec, error)
}
ControllerManagerConfiguration defines the functions necessary to parse a config file and to configure the Options struct for the ctrl.Manager.
Deprecated: The component config package has been deprecated and will be removed in a future release. Users should migrate to their own config implementation, please share feedback in https://github.com/kubernetes-sigs/controller-runtime/issues/895.
type DeferredFileLoader
deprecated
type DeferredFileLoader struct {
ControllerManagerConfiguration
// contains filtered or unexported fields
}
DeferredFileLoader is used to configure the decoder for loading controller runtime component config types.
Deprecated: The component config package has been deprecated and will be removed in a future release. Users should migrate to their own config implementation, please share feedback in https://github.com/kubernetes-sigs/controller-runtime/issues/895.
func File
deprecated
func File() *DeferredFileLoader
File will set up the deferred file loader for the configuration this will also configure the defaults for the loader if nothing is
Defaults: * Path: "./config.yaml" * Kind: GenericControllerManagerConfiguration
Deprecated: The component config package has been deprecated and will be removed in a future release. Users should migrate to their own config implementation, please share feedback in https://github.com/kubernetes-sigs/controller-runtime/issues/895.
Example ¶
This example will load a file using Complete with only defaults set.
package main
import (
"fmt"
"os"
"sigs.k8s.io/controller-runtime/pkg/config"
)
func main() {
// This will load a config file from ./config.yaml
loader := config.File()
if _, err := loader.Complete(); err != nil {
fmt.Println("failed to load config")
os.Exit(1)
}
}
Example (AtPath) ¶
This example will load the file from a custom path.
package main
import (
"fmt"
"os"
"sigs.k8s.io/controller-runtime/pkg/config"
)
func main() {
loader := config.File().AtPath("/var/run/controller-runtime/config.yaml")
if _, err := loader.Complete(); err != nil {
fmt.Println("failed to load config")
os.Exit(1)
}
}
func (*DeferredFileLoader) AtPath ¶
func (d *DeferredFileLoader) AtPath(path string) *DeferredFileLoader
AtPath will set the path to load the file for the decoder.
func (*DeferredFileLoader) Complete ¶
func (d *DeferredFileLoader) Complete() (v1alpha1.ControllerManagerConfigurationSpec, error)
Complete will use sync.Once to set the scheme.
func (*DeferredFileLoader) OfKind ¶
func (d *DeferredFileLoader) OfKind(obj ControllerManagerConfiguration) *DeferredFileLoader
OfKind will set the type to be used for decoding the file into.