bonny v0.3.0 Bonny.Config

Operator configuration interface

Link to this section Summary

Functions

List of all controller modules to watch

Kubernetes API Group of this operator

K8s.Conf configuration. This is used to sign HTTP requests to the Kubernetes API

Labels to apply to all operator resources

The name of the operator

The namespace to watch for Namespaced CRDs

Kubernetes service account name to run operator as

Link to this section Functions

Link to this function

controllers()
controllers() :: [atom()]

List of all controller modules to watch.

This must be set in config.exs:

config :bonny, controllers: [MyController1, MyController2]
Link to this function

group()
group() :: binary()

Kubernetes API Group of this operator

K8s.Conf configuration. This is used to sign HTTP requests to the Kubernetes API.

Bonny defaults to the service account of the pod if a cluster configuration is not provided.

Link to this function

labels()
labels() :: map()

Labels to apply to all operator resources.

Note: These are only applied to the resoures that compose the operator itself, not the resources created by the operator.

This can be set in config.exs:

config :bonny, labels: %{foo: "bar", quz: "baz"}
Link to this function

name()
name() :: binary()

The name of the operator.

Name must consist of only lowercase letters and hyphens.

Defaults to hyphenated mix project app name. E.g.: :hello_operator becomes hello-operator

Link to this function

namespace()
namespace() :: binary()

The namespace to watch for Namespaced CRDs.

Defaults to default

This can be set via environment variable:

BONNY_POD_NAMESPACE=prod
iex -S mix

Bonny sets BONNY_POD_NAMESPACE on all Kubernetes deployments to the namespace the operator is deployed in.

Link to this function

service_account()
service_account() :: binary()

Kubernetes service account name to run operator as.

Note: if a kube config file is provided, this service account will still be created and assigned to pods, but the config file auth will be used when making requests to the Kube API.

Name must consist of only lowercase letters and hyphens.

Defaults to hyphenated mix project app name. E.g.: :hello_operator becomes hello-operator