Flux optional components
The flux bootstrap
command deploys a series of Kubernetes controllers along with their CRDs, RBAC
and network policies in the flux-system
namespace.
Default components
The default components are specified with the --components
flag.
flux bootstrap git \
--components source-controller,kustomize-controller,helm-controller,notification-controller
The minimum required components for bootstrapping are source-controller
and kustomize-controller
.
When not specifying the --components
flag, both flux bootstrap
and flux install
will
deploy the default components.
Extra components
To enable the Flux
image automation feature, the extra components
can be specified with the --components-extra
flag.
flux bootstrap git \
--components-extra image-reflector-controller,image-automation-controller
By default, both flux bootstrap
and flux install
commands do not include any extra components.
Network policies
Flux relies on Kubernetes network policies to ensure that only Flux components
have direct access to the source artifacts kept in the source-controller
.
The default network policies block all ingress access to the flux-system
namespace,
except for notification-controller
webhook receiver.
While not recommend, you can deploy the Flux components without network policies
using the --network-policy
flag.
flux bootstrap git \
--network-policy false
Cluster domain
The Flux components are communicating over HTTP with source-controller
and notification-controller
.
To reduce the DNS queries performed by each component, the cluster internal domain name is used to
compose the FQDN of each service e.g. http://source-controller.flux-system.svc.cluster.local./
.
The cluster domain name can be set using the --cluster-domain
flag.
flux bootstrap git \
--cluster-domain cluster.internal
When not specified, the cluster domain defaults to cluster.local
.