**Experimental - Not Supported**: The `RawFRRConfig` CRD is provided for experimentation and advanced debugging purposes only. It is not supported and may be removed or changed without notice in future releases. Use at your own risk.
Overview #
The RawFRRConfig CRD allows injecting arbitrary FRR configuration snippets into the rendered FRR configuration. The raw text is appended verbatim at the end of the generated configuration file.
This is useful for experimenting with FRR features that are not yet exposed through the OpenPERouter API.
Example #
apiVersion: openpe.openperouter.github.io/v1alpha1
kind: RawFRRConfig
metadata:
name: custom-prefix-list
namespace: openperouter-system
spec:
priority: 10
rawConfig: |
ip prefix-list my-list seq 10 permit 10.0.0.0/8
Configuration Fields #
| Field | Type | Description | Required |
|---|---|---|---|
rawConfig | string | The raw FRR configuration text to append. No syntax validation is performed at admission time; invalid configuration will cause FRR reload failures. | Yes |
priority | integer | Controls ordering of raw snippets. Lower values are rendered first. Defaults to 0. | No |
nodeSelector | object | Label selector to target specific nodes. Applies to all nodes if omitted. | No |
Priority Ordering #
When multiple RawFRRConfig resources exist, their snippets are ordered by priority (ascending) and appended at the end of the rendered FRR configuration. This allows controlling the order in which snippets appear, which matters for FRR directives like prefix lists and route maps.
# This snippet appears first (priority 5)
apiVersion: openpe.openperouter.github.io/v1alpha1
kind: RawFRRConfig
metadata:
name: prefix-list
namespace: openperouter-system
spec:
priority: 5
rawConfig: |
ip prefix-list my-list seq 10 permit 10.0.0.0/8
---
# This snippet appears second (priority 10)
apiVersion: openpe.openperouter.github.io/v1alpha1
kind: RawFRRConfig
metadata:
name: route-map
namespace: openperouter-system
spec:
priority: 10
rawConfig: |
route-map my-map permit 10
match ip address prefix-list my-list
Node Selector #
Like other OpenPERouter CRDs, RawFRRConfig supports the nodeSelector field to target specific nodes. See Node Selector Configuration for details.
Caveats #
- No syntax validation: The raw configuration is injected as-is. If the FRR syntax is invalid, FRR will fail to reload and the configuration will not be applied.
- No conflict detection: Raw snippets may conflict with the configuration generated by other OpenPERouter CRDs. It is the operator’s responsibility to avoid conflicts.
- Append only: Raw snippets are always appended at the end of the rendered configuration. They cannot override or modify earlier sections.