Bonny.Config (bonny v0.4.4) View Source
Operator configuration interface
Link to this section Summary
Functions
Kubernetes APIVersion used. Defaults to apiextensions.k8s.io/v1
K8s.Cluster
name used for this operator. Defaults to :default
List of all controller modules to watch.
Kubernetes API Group of this operator
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
Specs
api_version() :: binary()
Kubernetes APIVersion used. Defaults to apiextensions.k8s.io/v1
Specs
cluster_name() :: atom()
K8s.Cluster
name used for this operator. Defaults to :default
Specs
controllers() :: [atom()]
List of all controller modules to watch.
This must be set in config.exs:
config :bonny, controllers: [MyController1, MyController2]
Specs
group() :: binary()
Kubernetes API Group of this operator
Specs
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"}
Specs
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
Specs
namespace() :: binary()
The namespace to watch for Namespaced
CRDs.
Defaults to default
This can be set via environment variable:
BONNY_POD_NAMESPACE=prod # specific namespace
# or
BONNY_POD_NAMESPACE=__ALL__ # all namespaces
iex -S mix
Or via config.exs:
config :bonny, namespace: "mynamespace" # specific namespace
# or
config :bonny; namespace: :all # all namespaces
Configuration via environment variable always takes precedence over config.exs.
Bonny sets BONNY_POD_NAMESPACE
on all Kubernetes deployments to the namespace the operator is deployed in.
Specs
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