View Source Bonny.Config (bonny v1.4.0)
Operator configuration interface
Summary
Functions
Kubernetes APIVersion used. Defaults to apiextensions.k8s.io/v1
List of all controller modules to watch.
Kubernetes API Group of this operator
The name of the operator instance.
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.
Kubernetes API Versions of this operator
Functions
@spec api_version() :: binary()
Kubernetes APIVersion used. Defaults to apiextensions.k8s.io/v1
@spec conn() :: K8s.Conn.t()
K8s.Conn
name used for this operator.
@spec controllers() :: [atom()]
List of all controller modules to watch.
This must be set in config.exs:
config :bonny, controllers: [MyController1, MyController2]
@spec group() :: binary()
Kubernetes API Group of this operator
@spec instance_name() :: binary()
The name of the operator instance.
This is set via environment variable BONNY_POD_NAME
@spec labels() :: map()
Labels to apply to all operator resources.
Note: These are only applied to the resources 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"}
@spec 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
@spec 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.
@spec 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
@spec versions() :: binary()
Kubernetes API Versions of this operator