After bootstrapping a cluster, the following resources must be created manually.
Created automatically by beam. Contains:
| Variable | Description |
|---|---|
NETWORK |
Network name (e.g. testnet, mainnet, stage) |
Cluster-specific overrides, created manually.
| Variable | Description |
|---|---|
CLUSTER_ID |
Unique cluster identifier |
PROVIDER |
Infrastructure provider identifier |
PUBLIC_SUBNET_LIST |
Public subnet list for CRD operator |
ENVOY_PUBLIC_SUBNET |
Public subnet for Envoy proxy |
STORAGE_SATELLITE_IPS |
Storage-network addresses for the LINSTOR satellite ip_pool, one per node running a satellite |
STORAGE_NAD |
<namespace>/<name> of the hand-applied storage NAD, e.g. storage/linstor |
STORAGE_PREF_NIC |
Name of the LINSTOR NetInterface DRBD replicates over, e.g. storage |
OVN_TUNNEL_IFACE |
Interface carrying Geneve traffic, kube-ovn --iface (optional; default is the interface holding the node IP) |
SERVICE_CIDR |
The cluster's real service range, for kube-ovn --service-cluster-ip-range (optional; defaults to the chart's 10.96.0.0/12) |
CLOUDFLARE_TOKEN |
Cloudflare API token for DNS and cert-manager |
Alertmanager configuration for VMAlertmanager. Must contain the key alertmanager.yaml.
kubectl create secret generic alertmanager-config \
--namespace observability \
--from-file=alertmanager.yaml=<PATH_TO_ALERTMANAGER_CONFIG>Required on every cluster that deploys the networking (NetBird) app group — i.e.
all clusters running the observability stack, since Grafana joins the mesh to reach
the mesh-only authentik.infra for OIDC.
A hand-seeded admin PAT for the per-cluster NetBird service user spectrum-<NETWORK>
(e.g. spectrum-testnet). The service user, plus the shared support and admins
groups, must already exist on the centralized management at
netbird.infrahub.cloudless.dev. The netbird-token-rotate CronJob rotates this PAT
in place afterwards.
The secret key consumed by the operator and the setup/rotate jobs is NB_API_KEY
(not token):
kubectl create namespace networking
kubectl create secret generic netbird-api-token \
--namespace networking \
--from-literal=NB_API_KEY=<spectrum-NETWORK_admin_PAT>The netbird-gate Flux Kustomization health-gates the whole NetBird stack on this
secret, so the rest of the cluster reconciles normally until it is present.