Docs: add a section about metallb behaviour in case of bad configuration
We want to make clear that not all the invalid configurations are caught
by metallb, and what's the behaviour in case an invalid config makes it
to the cluster.
@@ -18,7 +18,6 @@ namespace of the CRs to match the namespace in which MetalLB was
deployed.
{{% /notice %}}
-
## Defining the IPs to assign to the Load Balancer services
In order to assign an IP to the services, MetalLB must be instructed to do so via the
@@ -40,7 +39,7 @@ spec:
- fc00:f853:0ccd:e799::/124
```
-Multiple instances of `IPAddressPool`s can co-exist and addresses can defined by CIDR,
+Multiple instances of `IPAddressPool`s can co-exist and addresses can be defined by CIDR,
by range, and both IPV4 and IPV6 addresses can be assigned.
## Announce the service IPs
@@ -213,3 +212,15 @@ spec:
peerAddress: 172.30.0.3
bfdProfile: testbfdprofile
```
+
+## Configuration validation
+
+MetalLB ships validation webhooks that check the validity of the CRs applied.
+
+However, due to the fact that the global MetalLB configuration is composed by different pieces, not all of the
+invalid configurations are blocked by those webhooks. Because of that, if a non valid MetalLB configuration
+is applied, MetalLB discards it and keeps using the last valid configuration.
+
+In future releases MetalLB will expose misconfigurations as part of Kubernetes resources,
+but currently the only way to understand why the configuration was not loaded is by checking
+the controller's logs.
