[][src]Module roperator::config

Types for creating OperatorConfig and ClientConfig. Most users will use OperatorConfig::new(). ClientConfig can be created automatically in most cases, but you can also create that manually.

Structs

ChildConfig

Configuration object that's specific to each type of child

ClientConfig

Configuration for how to connect to the Kubernetes API server and authenticate. This configuration can typically be created from either a service account or a kubeconfig file using one of the provided functions, but you may also create configurations manually.

KubeConfig

Represents a kubeconfig file that's been loaded into memory. This struct exposes some functions to help support some less common authentication and connection scenarios. For the vast majority of use cases, you can simply use the high-level functions for loading the kubeconfig file and creating a ClientConfig from it.

OperatorConfig

This is the main configuration of your operator. It is where you'll specify the type of your parent and child resources, among other things. OperatorConfig::new() returns sensible defaults for everything except for the child types.

Enums

CAData

Certificate Authority data for verifying Kubernetes TLS certificates. This typically comes from either a mounted service account Secret at SERVICE_ACCOUNT_CA_PATH, or else a "cluster" entry in a kubeconfig file.

Credentials

Represents how to authenticate to the cluster. Roperator supports either using an Authorization header or a public/private key pair. The Header value can support either username/password or token based authentication.

KubeConfigError

Error representing a problem with loading a kubeconfig file, or creating a ClientConfig from it.

UpdateStrategy

What to do when there's a difference between the "desired" state of a given resource and the actual state of that resource in the cluster. The three options are:

Constants

DEFAULT_OWNERSHIP_LABEL_NAME

Default label that's added to all child resources to identify this operator as the manager. The value will always be the operator_name from the OperatorConfig.

DEFAULT_TRACKING_LABEL_NAME

Default label that's added to all child resources, so that roperator can track the ownership of resources. The value is the metadata.uid of the parent.