Documentation ¶
Index ¶
- Constants
- func GetFinalizerName(name string) string
- func IsExecutionFailed(err error) bool
- func IsInvalidConfig(err error) bool
- func IsNoResourceSet(err error) bool
- func IsPortforward(err error) bool
- func IsStatusForbidden(err error) bool
- func IsTooManyResourceSets(err error) bool
- type Config
- type Controller
Constants ¶
View Source
const ( PrometheusNamespace = "operatorkit" PrometheusSubsystem = "controller" )
View Source
const (
DefaultResyncPeriod = 5 * time.Minute
)
View Source
const (
DisableMetricsServing = "0"
)
Variables ¶
This section is empty.
Functions ¶
func GetFinalizerName ¶
func IsExecutionFailed ¶
IsExecutionFailed asserts executionFailedError.
func IsInvalidConfig ¶
IsInvalidConfig asserts invalidConfigError.
func IsNoResourceSet ¶
IsNoResourceSet asserts noResourceSetError.
func IsStatusForbidden ¶
IsStatusForbiddenError asserts statusForbiddenError and apimachinery StatusError with StatusReasonForbidden.
func IsTooManyResourceSets ¶
IsTooManyResourceSets asserts tooManyResourceSetsError.
Types ¶
type Config ¶
type Config struct { // InitCtx is deprecated and should not be used anymore. InitCtx func(ctx context.Context, obj interface{}) (context.Context, error) // K8sClient is the client collection used to setup and manage certain // operatorkit primitives. The Controller Client is used to fetch runtime // objects. It therefore must be properly configured using the AddToScheme // option. The REST Client is used to patch finalizers on runtime objects. K8sClient k8sclient.Interface Logger micrologger.Logger // NewRuntimeObjectFunc returns a new initialized pointer of a type // implementing the runtime object interface. The object returned is used with // the controller-runtime client to fetch the latest version of the object // itself. That way we can manage all runtime objects in a somewhat generic // way. See the example below. // // func() pkgruntime.Object { // return new(corev1.ConfigMap) // } // NewRuntimeObjectFunc func() client.Object Pause map[string]string // Resources is the list of controller resources being executed on runtime // object reconciliation. Resources are executed in given order. Resources []resource.Interface // Selector is used to filter objects before passing them to the controller. Selector labels.Selector // Name is the name which the controller uses on finalizers for resources. // The name used should be unique in the kubernetes cluster, to ensure that // two operators which handle the same resource add two distinct finalizers. Name string // Namespace is where the controller would reconcile the runtime objects. // Empty string means all namespaces. Namespace string // ResyncPeriod is the duration after which a complete sync with all known // runtime objects the controller watches is performed. Defaults to // DefaultResyncPeriod. ResyncPeriod time.Duration // SentryDSN is the optional URL used to forward runtime errors to the sentry.io service. // If this field is empty, logs will not be forwarded. SentryDSN string // SentryTags is an optional map that allows to specify key-value pairs to be be sent alongside // errors to the sentry.io service. SentryTags map[string]string }
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
func New ¶
func New(config Config) (*Controller, error)
New creates a new configured operator controller.
func (*Controller) Boot ¶
func (c *Controller) Boot(ctx context.Context)
func (*Controller) Booted ¶
func (c *Controller) Booted() chan struct{}
func (*Controller) Reconcile ¶
func (c *Controller) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error)
Reconcile implements the reconciler given to the controller-runtime controller. Reconcile never returns any error as we deal with them in operatorkit internally.
func (*Controller) Stop ¶
func (c *Controller) Stop(ctx context.Context)
Directories ¶
Path | Synopsis |
---|---|
context
|
|
cachekeycontext
Package cachekeycontext stores and accesses the local context key in context.Context.
|
Package cachekeycontext stores and accesses the local context key in context.Context. |
finalizerskeptcontext
Package finalizerskeptcontext stores and accesses the kept in context.Context.
|
Package finalizerskeptcontext stores and accesses the kept in context.Context. |
reconciliationcanceledcontext
Package reconciliationcanceledcontext stores and accesses the canceled in context.Context.
|
Package reconciliationcanceledcontext stores and accesses the canceled in context.Context. |
resourcecanceledcontext
Package resourcecanceledcontext stores and accesses the canceled in context.Context.
|
Package resourcecanceledcontext stores and accesses the canceled in context.Context. |
updateallowedcontext
Package updateallowedcontext stores and accesses the update allowed in context.Context.
|
Package updateallowedcontext stores and accesses the update allowed in context.Context. |
internal
|
|
Click to show internal directories.
Click to hide internal directories.