Skip to content

API Reference ​

Packages ​

evpn.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the evpn.networking.metal.ironcore.dev v1alpha1 API group.

Resource Types ​

AnycastRendezvousPoint ​

AnycastRendezvousPoint defines an anycast PIM rendezvous point group.

Appears in:

FieldDescriptionDefaultValidation
name stringname is a unique identifier for this rendezvous point group within the fabric.MaxLength: 63
MinLength: 1
Required: {}
multicastGroups IPPrefix arraymulticastGroups lists the multicast group address ranges served by this
rendezvous point. Each entry must be a valid IPv4 multicast CIDR prefix.
Format: cidr
MinItems: 1
Type: string
Required: {}
deviceSelector LabelSelectordeviceSelector identifies which devices are configured as rendezvous points
in this group.
Required: {}
clientDeviceSelector LabelSelectorclientDeviceSelector identifies the devices that register with the rendezvous
points in this group.
Required: {}

BUMType ​

Underlying type: string

BUMType is the mechanism used to handle BUM (Broadcast, Unknown unicast, Multicast) traffic in the fabric.

Validation:

  • Enum: [Multicast]

Appears in:

FieldDescription
MulticastBUMTypeMulticast uses PIM sparse mode for BUM traffic forwarding.

Fabric ​

Fabric is the Schema for the fabrics API

FieldDescriptionDefaultValidation
apiVersion stringevpn.networking.metal.ironcore.dev/v1alpha1
kind stringFabric
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec FabricSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status FabricStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

FabricAnycastGatewaySpec ​

FabricAnycastGatewaySpec configures the anycast gateway on VTEP devices.

Appears in:

FieldDescriptionDefaultValidation
virtualMAC stringvirtualMAC is the shared MAC address used by all anycast gateway instances
across the fabric. Must be a valid IEEE 802 MAC address in colon-separated
hexadecimal notation (e.g. f0:0c:c1:5c:00:00).
Pattern: ^([0-9a-fA-F]\{2\}:)\{5\}[0-9a-fA-F]\{2\}$
Required: {}

FabricBUMSpec ​

FabricBUMSpec defines how BUM (Broadcast, Unknown unicast, Multicast) traffic is forwarded across the fabric.

Appears in:

FieldDescriptionDefaultValidation
type BUMTypetype selects the BUM forwarding mechanism.Enum: [Multicast]
Required: {}
pim FabricPIMSpecpim configures PIM sparse mode when type is Multicast.Optional: {}

FabricIBGPSpec ​

FabricIBGPSpec configures the iBGP overlay control plane.

Appears in:

FieldDescriptionDefaultValidation
asNumber IntOrStringasNumber is the BGP autonomous system number shared by all devices in the
iBGP fabric. Supports both plain format (1-4294967295) and dotted notation
(1-65535.0-65535) as per RFC 5396.
Required: {}
routeReflectors RouteReflectorGroup arrayrouteReflectors lists the route reflector groups that provide iBGP scalability.
Each group designates a set of reflectors and their client devices.
MinItems: 1
Required: {}

FabricLoopbacksSpec ​

FabricLoopbacksSpec configures IP address allocation for loopback interfaces.

Appears in:

FieldDescriptionDefaultValidation
ipAddressPoolRef LocalObjectReferenceipAddressPoolRef references the IPAddressPool from which loopback addresses
are allocated for devices in the fabric.
Required: {}

FabricOverlaySpec ​

FabricOverlaySpec defines the overlay control-plane configuration.

Appears in:

FieldDescriptionDefaultValidation
protocol OverlayProtocolprotocol is the control-plane protocol used for the EVPN overlay.Enum: [IBGP]
Required: {}
ibgp FabricIBGPSpecibgp configures the iBGP overlay when protocol is IBGP.Optional: {}

FabricPIMSpec ​

FabricPIMSpec configures PIM sparse mode for BUM traffic.

Appears in:

FieldDescriptionDefaultValidation
anycastRendezvousPoints AnycastRendezvousPoint arrayanycastRendezvousPoints lists the anycast rendezvous point groups used for
PIM sparse mode. Anycast RPs share the same IP address across multiple
devices for redundancy.
MinItems: 1
Required: {}

FabricSpec ​

FabricSpec defines the desired state of Fabric.

Appears in:

FieldDescriptionDefaultValidation
deviceSelector LabelSelectordeviceSelector identifies which devices are members of this fabric.
All devices whose labels match this selector will be enrolled.
A device must not match the deviceSelector of more than one Fabric;
overlapping selectors lead to undefined behaviour as both controllers
will compete for ownership of the device's sub-resources.
Required: {}
loopbacks FabricLoopbacksSpecloopbacks configures IP address allocation for loopback interfaces on
fabric devices.
Required: {}
underlay FabricUnderlaySpecunderlay defines the underlay routing configuration for the fabric.Required: {}
overlay FabricOverlaySpecoverlay defines the overlay control-plane configuration for the fabric.Required: {}
bum FabricBUMSpecbum defines how BUM traffic is forwarded across the fabric.Required: {}
vtep FabricVTEPSpecvtep identifies the VTEP devices and configures their anycast gateway.Required: {}
vniPool TypedLocalObjectReferencevniPool references an IndexPool from which VNIs are allocated for Networks
realized by this Fabric.
This field is introduced as optional until the NetworkAttachment
controller is implemented. The field currently has no effect.
Optional: {}

FabricStatus ​

FabricStatus defines the observed state of Fabric.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the Fabric resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

FabricUnderlayAddressingSpec ​

FabricUnderlayAddressingSpec configures how IP addresses are assigned to underlay point-to-point links.

Appears in:

FieldDescriptionDefaultValidation
ipPrefixPoolRef LocalObjectReferenceipPrefixPoolRef references the IPPrefixPool from which point-to-point
prefixes are allocated for underlay interfaces.
Optional: {}
unnumbered booleanunnumbered controls whether underlay interfaces use unnumbered addressing
(borrowing from loopback0) instead of dedicated point-to-point addresses.
falseOptional: {}

FabricUnderlaySpec ​

FabricUnderlaySpec defines the underlay network configuration.

Appears in:

FieldDescriptionDefaultValidation
protocol UnderlayProtocolprotocol is the routing protocol used to build IP reachability across the
fabric underlay.
Enum: [OSPF ISIS]
Required: {}
interfaceSelector LabelSelectorinterfaceSelector identifies which interfaces participate in the underlay.
Interfaces on fabric devices matching these labels will be enrolled in the
underlay routing process.
Required: {}
addressing FabricUnderlayAddressingSpecaddressing configures how IP addresses are assigned to underlay interfaces.Required: {}

FabricVTEPSpec ​

FabricVTEPSpec identifies which devices act as VXLAN Tunnel Endpoints (VTEPs) and optionally configures their shared anycast gateway.

Appears in:

FieldDescriptionDefaultValidation
deviceSelector LabelSelectordeviceSelector identifies which devices are configured as VTEPs.Required: {}
anycastGateway FabricAnycastGatewaySpecanycastGateway configures the anycast gateway shared across all VTEP devices.Optional: {}

OverlayProtocol ​

Underlying type: string

OverlayProtocol is the control-plane protocol used for the overlay network.

Validation:

  • Enum: [IBGP]

Appears in:

FieldDescription
IBGPOverlayProtocolIBGP uses iBGP EVPN for the overlay control plane.

RouteReflectorGroup ​

RouteReflectorGroup defines a set of BGP route reflectors and their clients.

Appears in:

FieldDescriptionDefaultValidation
name stringname is a unique identifier for this route reflector group within the fabric.MaxLength: 63
MinLength: 1
Required: {}
deviceSelector LabelSelectordeviceSelector identifies which devices act as route reflectors in this group.Required: {}
clientDeviceSelector LabelSelectorclientDeviceSelector identifies the devices that are route reflector clients
for this group.
Required: {}

UnderlayProtocol ​

Underlying type: string

UnderlayProtocol is the routing protocol used for the underlay network.

Validation:

  • Enum: [OSPF ISIS]

Appears in:

FieldDescription
OSPFUnderlayProtocolOSPF uses OSPF for underlay routing.
ISISUnderlayProtocolISIS uses IS-IS for underlay routing.

networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the networking.metal.ironcore.dev v1alpha1 API group.

Resource Types ​

AAA ​

AAA is the Schema for the aaa API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringAAA
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AAASpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status AAAStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

AAAAccounting ​

AAAAccounting defines the AAA accounting method list.

Appears in:

FieldDescriptionDefaultValidation
methods AAAMethod arrayMethods is the ordered list of accounting methods.
Methods are tried in order until one succeeds or all fail.
MaxItems: 4
MinItems: 1
Required: {}

AAAAuthentication ​

AAAAuthentication defines the AAA authentication method list.

Appears in:

FieldDescriptionDefaultValidation
methods AAAMethod arrayMethods is the ordered list of authentication methods.
Methods are tried in order until one succeeds or all fail.
MaxItems: 4
MinItems: 1
Required: {}

AAAAuthorization ​

AAAAuthorization defines the AAA authorization method list.

Appears in:

FieldDescriptionDefaultValidation
methods AAAMethod arrayMethods is the ordered list of authorization methods.
Methods are tried in order until one succeeds or all fail.
MaxItems: 4
MinItems: 1
Required: {}

AAAMethod ​

AAAMethod represents an AAA method.

Appears in:

FieldDescriptionDefaultValidation
type AAAMethodTypeType is the type of AAA method.Enum: [Group Local None]
Required: {}
groupName stringGroupName is the name of the server group when Type is Group.MaxLength: 63
Optional: {}

AAAMethodType ​

Underlying type: string

AAAMethodType defines the type of AAA method.

Validation:

  • Enum: [Group Local None]

Appears in:

FieldDescription
GroupAAAMethodTypeGroup uses a server group (e.g., TACACS+ group).
LocalAAAMethodTypeLocal uses the local user database.
NoneAAAMethodTypeNone allows access without authentication.

AAAServer ​

AAAServer represents a single AAA server within a group.

Appears in:

FieldDescriptionDefaultValidation
address stringAddress is the IP address or hostname of the server.MaxLength: 253
MinLength: 1
Required: {}
timeout DurationTimeout is the response timeout for this server.Optional: {}
tacacs AAAServerTACACSTACACS contains TACACS+ specific server configuration.
Required when the parent server group type is TACACS.
Optional: {}
radius AAAServerRADIUSRADIUS contains RADIUS specific server configuration.
Required when the parent server group type is RADIUS.
Optional: {}

AAAServerGroup ​

AAAServerGroup represents a named group of AAA servers.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the server group.MaxLength: 63
MinLength: 1
Required: {}
type AAAServerGroupTypeType is the protocol type of this server group.Enum: [TACACS RADIUS]
Required: {}
servers AAAServer arrayServers is the list of servers in this group.MaxItems: 16
MinItems: 1
Required: {}
vrfName stringVrfName is the VRF to use for communication with the servers in this group.MaxLength: 63
Optional: {}
sourceInterfaceName stringSourceInterfaceName is the source interface to use for communication with the servers.MaxLength: 63
Optional: {}

AAAServerGroupType ​

Underlying type: string

AAAServerGroupType defines the protocol type of an AAA server group.

Validation:

  • Enum: [TACACS RADIUS]

Appears in:

FieldDescription
TACACSAAAServerGroupTypeTACACS is a TACACS+ server group.
RADIUSAAAServerGroupTypeRADIUS is a RADIUS server group.

AAAServerRADIUS ​

AAAServerRADIUS contains RADIUS specific server configuration.

Appears in:

FieldDescriptionDefaultValidation
authenticationPort integerAuthenticationPort is the UDP port for RADIUS authentication requests.
Defaults to 1812 if not specified.
1812Maximum: 65535
Minimum: 1
Optional: {}
accountingPort integerAccountingPort is the UDP port for RADIUS accounting requests.
Defaults to 1813 if not specified.
1813Maximum: 65535
Minimum: 1
Optional: {}
keySecretRef SecretKeySelectorKeySecretRef is a reference to a secret containing the plain text shared key for this RADIUS server.
The secret must contain a key specified in the SecretKeySelector.
Required: {}

AAAServerTACACS ​

AAAServerTACACS contains TACACS+ specific server configuration.

Appears in:

FieldDescriptionDefaultValidation
port integerPort is the TCP port of the TACACS+ server.
Defaults to 49 if not specified.
49Maximum: 65535
Minimum: 1
Optional: {}
keySecretRef SecretKeySelectorKeySecretRef is a reference to a secret containing the plain text shared key for this TACACS+ server.
The secret must contain a key specified in the SecretKeySelector.
Required: {}

AAASpec ​

AAASpec defines the desired state of AAA.

It models the Authentication, Authorization, and Accounting (AAA) configuration on a network device.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this AAA.
This reference is used to link the AAA to its provider-specific configuration.
Optional: {}
serverGroups AAAServerGroup arrayServerGroups is the list of AAA server groups.MaxItems: 8
Optional: {}
authentication AAAAuthenticationAuthentication defines the AAA authentication method list.Optional: {}
authorization AAAAuthorizationAuthorization defines the AAA authorization method list.Optional: {}
accounting AAAAccountingAccounting defines the AAA accounting method list.Optional: {}

AAAStatus ​

AAAStatus defines the observed state of AAA.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the AAA.Optional: {}

ACLAction ​

Underlying type: string

ACLAction represents the type of action that can be taken by an ACL rule.

Validation:

  • Enum: [Permit Deny]

Appears in:

FieldDescription
PermitActionPermit allows traffic that matches the rule.
DenyActionDeny blocks traffic that matches the rule.

ACLEntry ​

Appears in:

FieldDescriptionDefaultValidation
sequence integerThe sequence number of the ACL entry.Minimum: 1
Required: {}
action ACLActionThe forwarding action of the ACL entry.Enum: [Permit Deny]
Required: {}
protocol ProtocolThe protocol to match. If not specified, defaults to "IP".
Available options are: ICMP, IP, OSPF, PIM, TCP, UDP.
IPEnum: [ICMP IP OSPF PIM TCP UDP]
Optional: {}
sourceAddress IPPrefixSource IP address prefix. Can be IPv4 or IPv6.
Use 0.0.0.0/0 (::/0) to represent 'any'.
Format: cidr
Type: string
Required: {}
destinationAddress IPPrefixDestination IP address prefix. Can be IPv4 or IPv6.
Use 0.0.0.0/0 (::/0) to represent 'any'.
Format: cidr
Type: string
Required: {}
description stringDescription provides a human-readable description of the ACL entry.MaxLength: 63
MinLength: 1
Optional: {}

AddressFamily ​

Underlying type: string

AddressFamily represents the address family of an ISIS instance.

Validation:

  • Enum: [IPv4Unicast IPv6Unicast]

Appears in:

FieldDescription
IPv4Unicast
IPv6Unicast

AddressFamilyStatus ​

AddressFamilyStatus defines the prefix exchange statistics for a single address family (e.g., IPv4-Unicast).

Appears in:

FieldDescriptionDefaultValidation
afiSafi BGPAddressFamilyTypeAfiSafi identifies the address family and subsequent address family.Enum: [IPv4Unicast IPv6Unicast L2vpnEvpn]
Required: {}
acceptedPrefixes integerAcceptedPrefixes is the number of prefixes received from the peer that have passed the inbound policy
and are stored in the neighbor-specific table (Adj-RIB-In).
Minimum: 0
Optional: {}
advertisedPrefixes integerAdvertisedPrefixes is the number of prefixes currently being advertised to the peer after passing
the outbound policy. This reflects the state of the outbound routing table for the peer (Adj-RIB-Out).
Minimum: 0
Optional: {}

AdminState ​

Underlying type: string

AdminState represents the administrative state of a resource. This type is used across multiple resources including interfaces, protocols (BGP, OSPF, ISIS, PIM), and system services (NTP, DNS) to indicate whether these are administratively enabled or disabled.

Validation:

  • Enum: [Up Down]

Appears in:

FieldDescription
UpAdminStateUp indicates that the resource is administratively enabled.
DownAdminStateDown indicates that the resource is administratively disabled.

Aggregation ​

Appears in:

FieldDescriptionDefaultValidation
memberInterfaceRefs LocalObjectReference arrayMemberInterfaceRefs is a list of interface references that are part of the aggregate interface.MaxItems: 32
MinItems: 1
Required: {}
controlProtocol ControlProtocolControlProtocol defines the lacp configuration for the aggregate interface.{ mode:Active }Optional: {}
multichassis MultiChassisMultichassis defines the multichassis configuration for the aggregate interface.Optional: {}

AllowedVlansMode ​

Underlying type: string

AllowedVlansMode defines how trunk allowed VLANs are managed.

Validation:

  • Enum: [Exact Unmanaged]

Appears in:

FieldDescription
ExactAllowedVlansModeExact means the operator owns the complete trunk allow-list.
UnmanagedAllowedVlansModeUnmanaged means the operator leaves the trunk allow-list unchanged.

AnycastGateway ​

AnycastGateway defines distributed anycast gateway configuration. Multiple NVEs in the fabric share the same virtual MAC address, enabling active-active default gateway redundancy for hosts.

Appears in:

FieldDescriptionDefaultValidation
virtualMAC stringVirtualMAC is the shared MAC address used by all NVEs in the fabric
for anycast gateway functionality on RoutedVLAN (SVI) interfaces.
All switches in the fabric must use the same MAC address.
Format: IEEE 802 MAC-48 address (e.g., "00:00:5E:00:01:01")
Pattern: ^([0-9A-Fa-f]\{2\}:)\{5\}[0-9A-Fa-f]\{2\}$
Required: {}

BFD ​

BFD defines the Bidirectional Forwarding Detection configuration for interfaces, bgp peerings and static routes.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether BFD is enabled on the network object.Required: {}
desiredMinimumTxInterval DurationDesiredMinimumTxInterval is the minimum interval between transmission of BFD control
packets that the operator desires. This value is advertised to the peer.
The actual interval used is the maximum of this value and the remote
required-minimum-receive interval value.
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
Optional: {}
requiredMinimumReceive DurationRequiredMinimumReceive is the minimum interval between received BFD control packets
that this system should support. This value is advertised to the remote peer to
indicate the maximum frequency between BFD control packets that is acceptable
to the local system.
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
Optional: {}
detectionMultiplier integerDetectionMultiplier is the number of packets that must be missed to declare
this session as down. The detection interval for the BFD session is calculated
by multiplying the value of the negotiated transmission interval by this value.
Maximum: 255
Minimum: 1
Optional: {}

BGP ​

BGP is the Schema for the bgp API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringBGP
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec BGPSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status BGPStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

BGPAddressFamilies ​

BGPAddressFamilies defines the configuration for supported BGP address families.

Appears in:

FieldDescriptionDefaultValidation
ipv4Unicast BGPUnicastAddressFamilyIpv4Unicast configures IPv4 unicast address family support.
Enables exchange of IPv4 unicast routes between BGP peers.
Optional: {}
ipv6Unicast BGPUnicastAddressFamilyIpv6Unicast configures IPv6 unicast address family support.
Enables exchange of IPv6 unicast routes between BGP peers.
Optional: {}
l2vpnEvpn BGPL2vpnEvpnL2vpnEvpn configures L2VPN EVPN address family support.
Enables exchange of Ethernet VPN routes for overlay network services.
Optional: {}

BGPAddressFamily ​

BGPAddressFamily defines common configuration for a BGP address family.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled determines whether this address family is activated for BGP sessions.
When false, the address family is not negotiated with peers.
Optional: {}
multipath BGPMultipathMultipath configures address family specific multipath behavior.
When specified, overrides global multipath settings for this address family.
Optional: {}

BGPAddressFamilyType ​

Underlying type: string

BGPAddressFamilyType represents the BGP address family identifier (AFI/SAFI combination).

Validation:

  • Enum: [IPv4Unicast IPv6Unicast L2vpnEvpn]

Appears in:

FieldDescription
IPv4UnicastBGPAddressFamilyIpv4Unicast represents the IPv4 Unicast address family (AFI=1, SAFI=1).
IPv6UnicastBGPAddressFamilyIpv6Unicast represents the IPv6 Unicast address family (AFI=2, SAFI=1).
L2vpnEvpnBGPAddressFamilyL2vpnEvpn represents the L2VPN EVPN address family (AFI=25, SAFI=70).

BGPCommunityType ​

Underlying type: string

BGPCommunityType represents the type of BGP community attributes that can be sent to peers.

Validation:

  • Enum: [Standard Extended Both]

Appears in:

FieldDescription
StandardBGPCommunityTypeStandard sends only standard community attributes (RFC 1997)
ExtendedBGPCommunityTypeExtended sends only extended community attributes (RFC 4360)
BothBGPCommunityTypeBoth sends both standard and extended community attributes

BGPL2vpnEvpn ​

BGPL2vpnEvpn defines the configuration for L2VPN EVPN address family.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled determines whether this address family is activated for BGP sessions.
When false, the address family is not negotiated with peers.
Optional: {}
multipath BGPMultipathMultipath configures address family specific multipath behavior.
When specified, overrides global multipath settings for this address family.
Optional: {}
routeTargetPolicy BGPRouteTargetPolicyRouteTargetPolicy configures route target filtering behavior for EVPN routes.
Controls which routes are retained based on route target matching.
Optional: {}

BGPMultipath ​

BGPMultipath defines the configuration for BGP multipath behavior.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled determines whether BGP is allowed to use multiple paths for forwarding.
When false, BGP will only use a single best path regardless of multiple equal-cost paths.
Optional: {}
ebgp BGPMultipathEbgpEbgp configures multipath behavior for external BGP (eBGP) paths.Optional: {}
ibgp BGPMultipathIbgpIbgp configures multipath behavior for internal BGP (iBGP) paths.Optional: {}

BGPMultipathEbgp ​

BGPMultipathEbgp defines the configuration for eBGP multipath behavior.

Appears in:

FieldDescriptionDefaultValidation
allowMultipleAs booleanAllowMultipleAs enables the use of multiple paths with different AS paths for eBGP.
When true, relaxes the requirement that multipath candidates must have identical AS paths.
This corresponds to the "RelaxAs" mode.
Optional: {}
maximumPaths integerMaximumPaths sets the maximum number of eBGP paths that can be used for multipath load balancing.
Valid range is 1-64 when specified. When omitted, no explicit limit is configured.
Maximum: 64
Minimum: 1
Optional: {}

BGPMultipathIbgp ​

BGPMultipathIbgp defines the configuration for iBGP multipath behavior.

Appears in:

FieldDescriptionDefaultValidation
maximumPaths integerMaximumPaths sets the maximum number of iBGP paths that can be used for multipath load balancing.
Valid range is 1-64 when specified. When omitted, no explicit limit is configured.
Maximum: 64
Minimum: 1
Optional: {}

BGPPeer ​

BGPPeer is the Schema for the bgppeers API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringBGPPeer
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec BGPPeerSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status BGPPeerStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

BGPPeerAddressFamilies ​

BGPPeerAddressFamilies defines the address family specific configuration for a BGP peer.

Appears in:

FieldDescriptionDefaultValidation
ipv4Unicast BGPPeerAddressFamilyIpv4Unicast configures IPv4 unicast address family settings for this peer.
Controls IPv4 unicast route exchange and peer-specific behavior.
Optional: {}
ipv6Unicast BGPPeerAddressFamilyIpv6Unicast configures IPv6 unicast address family settings for this peer.
Controls IPv6 unicast route exchange and peer-specific behavior.
Optional: {}
l2vpnEvpn BGPPeerAddressFamilyL2vpnEvpn configures L2VPN EVPN address family settings for this peer.
Controls EVPN route exchange and peer-specific behavior.
Optional: {}

BGPPeerAddressFamily ​

BGPPeerAddressFamily defines common configuration for a BGP peer's address family.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled determines whether this address family is activated for this specific peer.
When false, the address family is not negotiated with this peer.
Defaults to false.
Optional: {}
sendCommunity BGPCommunityTypeSendCommunity specifies which community attributes should be sent to this BGP peer
for this address family. If not specified, no community attributes are sent.
Enum: [Standard Extended Both]
Optional: {}
routeReflectorClient booleanRouteReflectorClient indicates whether this peer should be treated as a route reflector client
for this specific address family. Defaults to false.
Optional: {}
inboundRoutingPolicyRef LocalObjectReferenceInboundRoutingPolicyRef references a RoutingPolicy applied to routes received from this peer
for this address family.
Optional: {}
outboundRoutingPolicyRef LocalObjectReferenceOutboundRoutingPolicyRef references a RoutingPolicy applied to routes advertised to this peer
for this address family.
Optional: {}

BGPPeerLocalAddress ​

BGPPeerLocalAddress defines the local address configuration for a BGP peer.

Appears in:

FieldDescriptionDefaultValidation
interfaceRef LocalObjectReferenceInterfaceRef is a reference to an Interface resource whose IP address will be used
as the source address for BGP packets sent to this peer.
The Interface object must exist in the same namespace.
Required: {}

BGPPeerSessionState ​

Underlying type: string

BGPPeerSessionState represents the operational state of a BGP peer session.

Validation:

  • Enum: [Idle Connect Active OpenSent OpenConfirm Established Unknown]

Appears in:

FieldDescription
IdleBGPPeerSessionStateIdle indicates the peer is down and in the idle state of the FSM.
ConnectBGPPeerSessionStateConnect indicates the peer is down and the session is waiting for
the underlying transport session to be established.
ActiveBGPPeerSessionStateActive indicates the peer is down and the local system is awaiting
a connection from the remote peer.
OpenSentBGPPeerSessionStateOpenSent indicates the peer is in the process of being established.
The local system has sent an OPEN message.
OpenConfirmBGPPeerSessionStateOpenConfirm indicates the peer is in the process of being established.
The local system is awaiting a NOTIFICATION or KEEPALIVE message.
EstablishedBGPPeerSessionStateEstablished indicates the peer is up - the BGP session with the peer is established.
UnknownBGPPeerSessionStateUnknown indicates the peer state is unknown.

BGPPeerSpec ​

BGPPeerSpec defines the desired state of BGPPeer

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the BGPPeer to its provider-specific configuration.
Optional: {}
bgpRef LocalObjectReferenceBgpRef is a reference to the BGP instance this peer belongs to.
The BGP object must exist in the same namespace.
Immutable.
Required: {}
adminState AdminStateAdminState indicates whether this BGP peer is administratively up or down.
When Down, the BGP session with this peer is administratively shut down.
UpEnum: [Up Down]
Optional: {}
address stringAddress is the IPv4 address of the BGP peer.
Mutually exclusive with InterfaceRef: exactly one of both must be specified.
Immutable.
Format: ipv4
Optional: {}
interfaceRef LocalObjectReferenceInterfaceRef is a reference to an Interface resource over which an unnumbered
(interface-based) BGP session is established. The peers discover each other over
their IPv6 link-local addresses, so the link needs no addressing of its own.
The referenced Interface must belong to the same Device, exist in the same namespace,
and be configured for link-local operation (spec.ipv6.useLinkLocalOnly).
Mutually exclusive with Address: exactly one of both must be specified.
Immutable.
Optional: {}
asNumber IntOrStringASNumber is the autonomous system number (ASN) of the BGP peer.
Supports both plain format (1-4294967295) and dotted notation (0-65535.0-65535) as per RFC 5396.
The special value "external" configures a dynamic AS number, accepting any AS number
that differs from the local one. It is only valid together with InterfaceRef.
Required: {}
description stringDescription is an optional human-readable description for this BGP peer.
This field is used for documentation purposes and may be displayed in management interfaces.
Optional: {}
localAddress BGPPeerLocalAddressLocalAddress specifies the local address configuration for the BGP session with this peer.
This determines the source address/interface for BGP packets sent to this peer.
Optional: {}
addressFamilies BGPPeerAddressFamiliesAddressFamilies configures address family specific settings for this BGP peer.
Controls which address families are enabled and their specific configuration.
Optional: {}
localAS LocalASLocalAS configures the local AS number and how it factors into BGP announcements for this peer.Optional: {}
ttl integerTTL sets the time-to-live for eBGP sessions that span multiple hops.
When set, allows establishing eBGP sessions with non-directly-connected peers
by setting the IP TTL of outgoing BGP packets to this value.
When unset, eBGP multihop is disabled (equivalent to TTL=1 — directly connected peers only).
Maximum: 255
Minimum: 2
Optional: {}
bfd BFDBFD defines the Bidirectional Forwarding Detection configuration for the interface.
BFD is only applicable for Layer 3 interfaces.
Optional: {}

BGPPeerStatus ​

BGPPeerStatus defines the observed state of BGPPeer.

Appears in:

FieldDescriptionDefaultValidation
sessionState BGPPeerSessionStateSessionState is the current operational state of the BGP session.Enum: [Idle Connect Active OpenSent OpenConfirm Established Unknown]
Optional: {}
lastEstablishedTime TimeLastEstablishedTime is the timestamp when the BGP session last transitioned to the ESTABLISHED state.
A frequently changing timestamp indicates session instability (flapping).
Optional: {}
advertisedPrefixesSummary stringAdvertisedPrefixesSummary provides a human-readable summary of advertised prefixes
across all address families (e.g., "10 (IPv4Unicast), 5 (IPv6Unicast)").
This field is computed by the controller from the AddressFamilies field.
Optional: {}
addressFamilies AddressFamilyStatus arrayAddressFamilies contains per-address-family statistics for this peer.
Only address families that are enabled and negotiated with the peer are included.
Optional: {}
peerInterface stringPeerInterface is the device-level name of the interface an unnumbered peer is
configured over. It is recorded so that the peer can still be removed from the
device after the referenced Interface has been deleted.
Optional: {}
observedGeneration integerObservedGeneration reflects the .metadata.generation that was last processed by the controller.Optional: {}
conditions Condition arrayThe conditions are a list of status objects that describe the state of the BGP.Optional: {}

BGPRedistributeDirectRoutes ​

BGPRedistributeDirectRoutes configures redistribution of directly connected routes into a BGP address family.

Appears in:

FieldDescriptionDefaultValidation
routingPolicyRef LocalObjectReferenceRoutingPolicyRef references a RoutingPolicy to apply during redistribution.Required: {}

BGPRouteTargetPolicy ​

BGPRouteTargetPolicy defines the policy for route target filtering in EVPN.

Appears in:

FieldDescriptionDefaultValidation
retainAll booleanRetainAll controls whether all route targets are retained regardless of import policy.Optional: {}

BGPSpec ​

BGPSpec defines the desired state of BGP

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
vrfRef LocalObjectReferenceVrfRef is an optional reference to the VRF this BGP instance is scoped to.
When omitted, the BGP instance is configured in the default VRF.
Immutable.
Optional: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the BGP to its provider-specific configuration.
Optional: {}
adminState AdminStateAdminState indicates whether this BGP router is administratively up or down.UpEnum: [Up Down]
Optional: {}
asNumber IntOrStringASNumber is the autonomous system number (ASN) for the BGP router.
Supports both plain format (1-4294967295) and dotted notation (0-65535.0-65535) as per RFC 5396.
Immutable.
Required: {}
routerId stringRouterID is the BGP router identifier, used in BGP messages to identify the originating router.
Follows dotted quad notation (IPv4 format).
Format: ipv4
Required: {}
addressFamilies BGPAddressFamiliesAddressFamilies configures supported BGP address families and their specific settings.Optional: {}

BGPStatus ​

BGPStatus defines the observed state of BGP.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the BGP.Optional: {}

BGPUnicastAddressFamily ​

BGPUnicastAddressFamily defines configuration for IPv4 and IPv6 unicast address families.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled determines whether this address family is activated for BGP sessions.
When false, the address family is not negotiated with peers.
Optional: {}
multipath BGPMultipathMultipath configures address family specific multipath behavior.
When specified, overrides global multipath settings for this address family.
Optional: {}
redistributeDirectRoutes BGPRedistributeDirectRoutesRedistributeDirectRoutes controls redistribution of directly connected
routes into this BGP address family.
Optional: {}

Banner is the Schema for the banners API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringBanner
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec BannerSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status BannerStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

BannerSpec ​

BannerSpec defines the desired state of Banner

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the Banner to its provider-specific configuration.
Optional: {}
type BannerTypeType specifies the banner type to configure, either PreLogin or PostLogin.
Immutable.
PreLoginEnum: [PreLogin PostLogin]
Optional: {}
message TemplateSourceMessage is the banner message to display.Required: {}

BannerStatus ​

BannerStatus defines the observed state of Banner.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Banner.Optional: {}

BannerType ​

Underlying type: string

BannerType represents the type of banner to configure

Validation:

  • Enum: [PreLogin PostLogin]

Appears in:

FieldDescription
PreLoginBannerTypePreLogin represents the login banner displayed before user authentication.
This corresponds to the openconfig-system login-banner leaf.
PostLoginBannerTypePostLogin represents the message banner displayed after user authentication.
This corresponds to the openconfig-system motd-banner leaf.

BgpActions ​

BgpActions defines BGP-specific actions for a policy statement.

Appears in:

FieldDescriptionDefaultValidation
setCommunity SetCommunityActionSetCommunity configures BGP standard community attributes.Optional: {}
setExtCommunity SetExtCommunityActionSetExtCommunity configures BGP extended community attributes.Optional: {}
setASPath SetASPathActionSetASPath configures modifications to the BGP AS path attribute.Optional: {}

Certificate ​

Certificate is the Schema for the certificates API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringCertificate
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec CertificateSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status CertificateStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

CertificateSource ​

CertificateSource represents a source for the value of a certificate.

Appears in:

FieldDescriptionDefaultValidation
secretRef SecretReferenceSecret containing the certificate.
The secret must be of type kubernetes.io/tls and as such contain the following keys: 'tls.crt' and 'tls.key'.
Required: {}

CertificateSpec ​

CertificateSpec defines the desired state of Certificate

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the Certificate to its provider-specific configuration.
Optional: {}
id stringThe certificate management id.
Immutable.
MaxLength: 63
MinLength: 1
Pattern: ^[a-zA-Z0-9]+$
Required: {}
secretRef SecretReferenceSecret containing the certificate source.
The secret must be of type kubernetes.io/tls and as such contain the following keys: 'tls.crt' and 'tls.key'.
Required: {}

CertificateStatus ​

CertificateStatus defines the observed state of Certificate.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Certificate.Optional: {}

ChassisIDType ​

Underlying type: string

ChassisIDType represents the chassis ID subtype for LLDP neighbor information. See IEEE 802.1AB-2016 section 8.5.2.2 for details.

Appears in:

FieldDescription
ChassisComponentChassisIDTypeChassisComponent is EntPhysicalAlias when entPhysClass has a value of ‘chassis(3)’ (IETF RFC 6933)
InterfaceAliasChassisIDTypeInterfaceAlias is ifAlias (IETF RFC 2863)
PortComponentChassisIDTypePortComponent is entPhysicalAlias when entPhysicalClass has a value ‘port(10)’ or ‘backplane(4)’ (IETF RFC 6933)
MACAddressChassisIDTypeMACAddress is the MAC address (IEEE Std 802)
NetworkAddressChassisIDTypeNetworkAddress is an octet string representation of a particular network family and address.
InterfaceNameChassisIDTypeInterfaceName is ifName (IETF RFC 2863)
LocalChassisIDTypeLocal is an alphanumeric string that and is locally assigned

ChecksumType ​

Underlying type: string

ChecksumType defines the type of checksum used for image verification.

Validation:

  • Enum: [SHA256 MD5]

Appears in:

FieldDescription
SHA256
MD5

CommunityMember ​

CommunityMember defines one ordered entry in a community-list with a regex pattern.

Appears in:

FieldDescriptionDefaultValidation
sequence integerSequence is the order of this entry in the community-list.Minimum: 1
Required: {}
regex stringRegex is a POSIX extended regular expression matching BGP community values.MinLength: 1
Required: {}

CommunityOperation ​

Underlying type: string

CommunityOperation defines whether communities are added to the route's existing set (Add) or replace it (Replace).

Validation:

  • Enum: [Add Replace]

Appears in:

FieldDescription
AddCommunityOperationAdd appends the communities to the route's existing set.
ReplaceCommunityOperationReplace overwrites the route's communities with the configured set.

CommunitySet ​

CommunitySet is the Schema for the communitysets API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringCommunitySet
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec CommunitySetSpecRequired: {}
status CommunitySetStatusOptional: {}

CommunitySetMatchCondition ​

CommunitySetMatchCondition defines the condition for matching against a CommunitySet.

Appears in:

FieldDescriptionDefaultValidation
communitySetRef LocalObjectReferenceCommunitySetRef references a CommunitySet in the same namespace.
The CommunitySet must exist and belong to the same device.
Required: {}
matchSetOption MatchSetOptionMatchSetOption defines if the route must match 'Any' or 'All' of the community members in the set.AnyEnum: [Any All]
Optional: {}

CommunitySetSpec ​

CommunitySetSpec defines the desired state of CommunitySet.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceRef is a reference to the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration.Optional: {}
name stringName is the name of the CommunitySet on the device.
Immutable.
MaxLength: 32
MinLength: 1
Required: {}
type CommunitySetTypeType is the type of the CommunitySet. It can be either "Standard" (a
standard BGP community-list) or "Extended" (an extended community-list).
Immutable.
StandardEnum: [Standard Extended]
Required: {}
members CommunityMember arrayMembers is the ordered list of community-list entries.MaxItems: 100
MinItems: 1
Required: {}

CommunitySetStatus ​

CommunitySetStatus defines the observed state of CommunitySet.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions is a list of status conditions describing the state of the CommunitySet.Optional: {}

CommunitySetType ​

Underlying type: string

CommunitySetType selects whether the CommunitySet is a standard BGP community-list or an extended community-list.

Validation:

  • Enum: [Standard Extended]

Appears in:

FieldDescription
StandardCommunitySetTypeStandard is a standard BGP community-list.
ExtendedCommunitySetTypeExtended is an extended BGP community-list.

ConfigBackup ​

ConfigBackup is the Schema for the configbackups API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringConfigBackup
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ConfigBackupSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status ConfigBackupStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

ConfigBackupEncryption ​

ConfigBackupEncryption configures encryption for remote backup objects, performed in the controller pod.

Appears in:

FieldDescriptionDefaultValidation
algorithm EncryptionAlgorithmAlgorithm is the encryption algorithm to use.Enum: [AES-256-GCM ChaCha20-Poly1305]
Required: {}
keySecret SecretKeySelectorKeySecret references the Secret and key containing the 32-byte encryption key.Required: {}

ConfigBackupRetention ​

ConfigBackupRetention defines how many historical backups are kept on the device.

Appears in:

FieldDescriptionDefaultValidation
keepLast integerKeepLast is the number of most recent backups to keep for Local backups.1Maximum: 100
Minimum: 1
Optional: {}

ConfigBackupRunStatus ​

ConfigBackupRunStatus contains the result of a single successful backup run.

Appears in:

FieldDescriptionDefaultValidation
timestamp TimeTimestamp is the time at which the backup was created on the device.Required: {}
duration DurationDuration is the duration of the backup operation.Required: {}
observedGeneration integerObservedGeneration represents the .metadata.generation that produced this backup.Minimum: 0
Optional: {}
sizeBytes integerSizeBytes is the size in bytes of the backup artifact.
This only applies to Local backups, and may be unknown if the controller cannot query the device.
Minimum: 0
Optional: {}
filepath stringFilepath is the device-local path of the backup artifact.
This only applies to Local backups, and may be unknown if the controller cannot query the device.
MinLength: 1
Optional: {}
encryptionAlgorithm EncryptionAlgorithmEncryptionAlgorithm is the encryption algorithm used for this backup, if any.
Only set for encrypted Remote backups.
Enum: [AES-256-GCM ChaCha20-Poly1305]
Optional: {}
encryptionKeySecret stringEncryptionKeySecret is the name of the Secret that provided the encryption key.
Only set for encrypted Remote backups.
Optional: {}

ConfigBackupS3 ​

ConfigBackupS3 configures the S3-compatible object storage destination for Remote backups.

Appears in:

FieldDescriptionDefaultValidation
endpoint stringEndpoint is the S3-compatible endpoint URL (e.g., "https://s3.eu-central-1.amazonaws.com").MaxLength: 2048
MinLength: 1
Required: {}
bucket stringBucket is the name of the S3 bucket.MaxLength: 63
MinLength: 1
Required: {}
region stringRegion is the endpoint region. Optional for S3-compatible stores that don't require it.MaxLength: 63
Optional: {}
credentialsSecretRef SecretReferenceCredentialsSecretRef references a Secret containing "accessKeyID" and "secretAccessKey" keys.Required: {}
encryption ConfigBackupEncryptionEncryption configures optional encryption for backup objects, performed in the controller pod before upload.
If omitted, backups are stored unencrypted.
Optional: {}

ConfigBackupSpec ​

ConfigBackupSpec defines the desired state of ConfigBackup.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceRef is a reference to the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the ConfigBackup to its provider-specific configuration.
Optional: {}
schedule stringSchedule is an optional cron expression.
If omitted, the controller performs a one-shot backup.
Optional: {}
type ConfigBackupTypeType determines whether the backup is saved as a local file or as startup-config.Enum: [Local Startup Remote]
Required: {}
path stringPath is the device-local destination path for Local backups.
Different providers may accept different path formats, such as "bootflash:///backups/".
MaxLength: 255
MinLength: 1
Optional: {}
retention ConfigBackupRetentionRetention configures automatic cleanup of older backups for Local backups.Optional: {}
storageThreshold ConfigBackupStorageThresholdStorageThreshold defines the minimum free space that must remain before creating a new Local backup.Optional: {}
s3 ConfigBackupS3S3 configures the S3-compatible object storage destination for Remote backups.Optional: {}

ConfigBackupStatus ​

ConfigBackupStatus defines the observed state of ConfigBackup.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions represent the current state of the ConfigBackup resource.Optional: {}
lastBackup ConfigBackupRunStatusLastBackup contains details about the most recent successful backup operation.
This is updated only when a backup completes successfully, and may be nil if no successful backups have occurred.
Optional: {}
lastAttemptTime TimeLastAttemptTime is the timestamp of the most recent backup attempt, regardless of outcome.
This is updated whenever the controller attempts to perform a backup, even if it fails.
Optional: {}
oldestBackupTimestamp TimeOldestBackupTimestamp is the timestamp of the oldest discovered backup on the device.
This only applies to Local backups, and may be unknown if the controller cannot query the device.
Optional: {}
nextScheduledBackup TimeNextScheduledBackup is the next time at which the controller intends to trigger a backup.
This only applies to scheduled backups, and may be unknown if the controller cannot determine the next schedule.
Optional: {}
totalBackups integerTotalBackups is the number of backups currently discovered on the device.
This only applies to Local backups, and may be unknown if the controller cannot query the device.
For Startup backups, this is always 1, since the device only maintains a single startup configuration.
Optional: {}
totalSizeBytes integerTotalSizeBytes is the total size in bytes of the discovered backups on the device.
This only applies to Local backups, and may be unknown if the controller cannot query the device.
Optional: {}
storage ConfigBackupStorageStatusStorage contains device-local storage statistics for the configured backup target.
This only applies to Local backups, and may be unknown if the controller cannot query the device.
Optional: {}

ConfigBackupStorageStatus ​

ConfigBackupStorageStatus contains storage utilization for the configured backup target.

Appears in:

FieldDescriptionDefaultValidation
totalBytes integerTotalBytes is the total storage capacity in bytes, if known.Optional: {}
usedBytes integerUsedBytes is the used storage in bytes, if known.Optional: {}
freeBytes integerFreeBytes is the free storage in bytes, if known.Optional: {}
freePercent integerFreePercent is the free storage percentage, if known.Optional: {}
thresholdBreached booleanThresholdBreached indicates whether the configured threshold currently blocks new backups.Optional: {}

ConfigBackupStorageThreshold ​

ConfigBackupStorageThreshold defines when the controller must stop writing additional backups.

Appears in:

FieldDescriptionDefaultValidation
minFreeBytes integerMinFreeBytes is the minimum number of free bytes required before a new backup can be written.Minimum: 0
Optional: {}
minFreePercent integerMinFreePercent is the minimum percentage of free storage required before a new backup can be written.Maximum: 100
Minimum: 0
Optional: {}

ConfigBackupType ​

Underlying type: string

ConfigBackupType defines how the device should persist a configuration backup.

Validation:

  • Enum: [Local Startup Remote]

Appears in:

FieldDescription
LocalConfigBackupTypeLocal stores the running configuration in a device-local file path.
StartupConfigBackupTypeStartup stores the running configuration as the device startup configuration.
RemoteConfigBackupTypeRemote uploads the running configuration to an S3-compatible object store.

ConfigMapKeySelector ​

ConfigMapKeySelector contains enough information to select a key of a ConfigMap.

Appears in:

FieldDescriptionDefaultValidation
name stringName is unique within a namespace to reference a configmap resource.MaxLength: 253
MinLength: 1
Required: {}
namespace stringNamespace defines the space within which the configmap name must be unique.
If omitted, the namespace of the object being reconciled will be used.
MaxLength: 63
MinLength: 1
Optional: {}
key stringKey is the of the entry in the configmap resource's data or binaryData
field to be used.
MaxLength: 253
MinLength: 1
Required: {}

ConfigMapReference ​

ConfigMapReference represents a ConfigMap Reference. It has enough information to retrieve a ConfigMap in any namespace.

Appears in:

FieldDescriptionDefaultValidation
name stringName is unique within a namespace to reference a configmap resource.MaxLength: 253
MinLength: 1
Required: {}
namespace stringNamespace defines the space within which the configmap name must be unique.
If omitted, the namespace of the object being reconciled will be used.
MaxLength: 63
MinLength: 1
Optional: {}

ConsoleConnection ​

ConsoleConnection is the Schema for the consoleconnections API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringConsoleConnection
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ConsoleConnectionSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status ConsoleConnectionStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

ConsoleConnectionSpec ​

ConsoleConnectionSpec defines the desired state of ConsoleConnection.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceRef is a reference to the Device this console connection targets.
The Device object must exist in the same namespace.
Immutable.
Required: {}
endpoint ConsoleEndpointEndpoint contains the console server connection details.Required: {}
verification ConsoleVerificationVerification configures how the controller confirms the serial
line is alive and connected to the expected device.
Optional: {}
schedule stringSchedule is an optional cron expression (e.g., "*/5 * * * *").
If omitted, the controller performs a one-shot check only once
for the resource; it does not re-execute on subsequent reconciliations.
If set, the controller checks periodically according to the schedule.
Optional: {}
timeout DurationTimeout is the maximum duration the controller waits for output on
the serial line before declaring the connection dead.
30sOptional: {}

ConsoleConnectionStatus ​

ConsoleConnectionStatus defines the observed state of ConsoleConnection.

Appears in:

FieldDescriptionDefaultValidation
lastCheckTime TimeLastCheckTime is the timestamp of the most recent check.Optional: {}
nextCheckTime TimeNextCheckTime is the next scheduled check. Only set when Schedule is configured.Optional: {}
conditions Condition arrayConditions represent the current state of the ConsoleConnection resource.
The Ready condition reports the health of the console connection.
Optional: {}

ConsoleEndpoint ​

ConsoleEndpoint contains the console server connection details.

Appears in:

FieldDescriptionDefaultValidation
address stringAddress is the console server address in IP:Port format.
The port identifies the serial line on the console server.
Pattern: ^(\d\{1,3\}\.)\{3\}\d\{1,3\}:\d\{1,5\}$
Required: {}
protocol ConsoleProtocolProtocol is the connection protocol.SSHEnum: [SSH]
Optional: {}
secretRef SecretReferenceSecretRef references a kubernetes.io/basic-auth secret containing
'username' and 'password' for the console server.
Required: {}

ConsoleExpect ​

ConsoleExpect configures what the controller looks for in the serial output.

Appears in:

FieldDescriptionDefaultValidation
string stringString is a literal string to match in the serial output.Optional: {}
regex stringRegex is a regular expression to match in the serial output.Optional: {}

ConsoleProtocol ​

Underlying type: string

ConsoleProtocol is the connection protocol used to reach the console server.

Validation:

  • Enum: [SSH]

Appears in:

FieldDescription
SSH

ConsoleVerification ​

ConsoleVerification configures how the controller confirms the serial line is alive and connected to the expected device.

Appears in:

FieldDescriptionDefaultValidation
strategy ConsoleVerificationStrategyStrategy selects how the controller stimulates the serial line.
Wait — passively wait for output without sending anything.
SendCRLF — send a carriage-return/line-feed to trigger a prompt or response.
SendChar — send a single printable character to trigger a response.
Defaults to SendCRLF.
SendCRLFEnum: [Wait SendCRLF SendChar]
Optional: {}
char stringChar is the character to send when Strategy is SendChar.
Ignored for other strategies.
MaxLength: 1
MinLength: 1
Optional: {}
expect ConsoleExpectExpect configures what the controller looks for in the serial output.
If omitted, the controller matches the device hostname or serial number
from Device.Status.
Optional: {}

ConsoleVerificationStrategy ​

Underlying type: string

ConsoleVerificationStrategy selects how the controller stimulates the serial line.

Validation:

  • Enum: [Wait SendCRLF SendChar]

Appears in:

FieldDescription
Wait
SendCRLF
SendChar

ControlProtocol ​

Appears in:

FieldDescriptionDefaultValidation
mode LACPModeMode defines the LACP mode for the aggregate interface.Enum: [Active Passive Static]
Required: {}

DFElectionMode ​

Underlying type: string

DFElectionMode defines the Designated Forwarder election algorithm.

Validation:

  • Enum: [Default HighestRandomWeight Preference]

Appears in:

FieldDescription
DefaultDFElectionModeDefault uses the modulo-based DF election per RFC 7432 Section 8.5.
HighestRandomWeightDFElectionModeHighestRandomWeight uses the HRW algorithm per RFC 8584.
PreferenceDFElectionModePreference uses preference-based DF election per RFC 8584.

DHCPRelay ​

DHCPRelay is the Schema for the DHCPRelays API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringDHCPRelay
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DHCPRelaySpecRequired: {}
status DHCPRelayStatusOptional: {}

DHCPRelaySpec ​

DHCPRelaySpec defines the desired state of the DHCPRelay configuration for a single interface. The migration path for existing DHCPRelay objects that use the deprecated InterfaceRefs field requires deleting those objects and creating new ones using the new fields. Objects using the deprecated field InterfaceRefs likely replace the entire DHCPRelay tree and thus would remove configuration for all interfaces, even for those that are not referenced.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceRef is a reference to the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration for this DHCPRelay.
If not specified the provider applies the target platform's default settings.
Optional: {}
interfaceRef LocalObjectReferenceInterfaceRef is a reference to an interface resource on which to enable DHCP relay.
Immutable.
To be made non-pointer object and required once we remove the deprecated fields.
Optional: {}
vrfRef LocalObjectReferenceVrfRef is an optional reference to the VRF to use when relaying DHCP messages in the referenced interface(s).Optional: {}
servers string arrayServers is a list of DHCP server addresses to which DHCP messages will be relayed.
Only IPv4 addresses are currently supported.
MinItems: 1
items:Format: ipv4
Required: {}
interfaceRefs LocalObjectReference arrayDeprecated: Use field InterfaceRef instead.MinItems: 1
Optional: {}

DHCPRelayStatus ​

DHCPRelayStatus defines the observed state of DHCPRelay.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the DHCPRelay resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

DNS ​

DNS is the Schema for the dns API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringDNS
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DNSSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status DNSStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

DNSSpec ​

DNSSpec defines the desired state of DNS

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the DNS to its provider-specific configuration.
Optional: {}
adminState AdminStateAdminState indicates whether DNS is administratively up or down.UpEnum: [Up Down]
Optional: {}
domain stringDefault domain name that the device uses to complete unqualified hostnames.Format: hostname
MaxLength: 253
MinLength: 1
Required: {}
servers NameServer arrayA list of DNS servers to use for address resolution.MaxItems: 6
MinItems: 1
Optional: {}
sourceInterfaceName stringSource interface for all DNS traffic.MaxLength: 63
MinLength: 1
Optional: {}

DNSStatus ​

DNSStatus defines the observed state of DNS.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the DNS.Optional: {}

DesignatedForwarder ​

DesignatedForwarder configures the DF election parameters for an Ethernet Segment.

Appears in:

FieldDescriptionDefaultValidation
electionMode DFElectionModeElectionMode selects the DF election algorithm.DefaultEnum: [Default HighestRandomWeight Preference]
Optional: {}
electionWaitTime DurationElectionWaitTime is the DF election hold timer. The PE waits this
duration before selecting the DF based on highest preference.
Only applicable when ElectionMode is Preference.
Optional: {}

Device ​

Device is the Schema for the devices API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringDevice
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DeviceSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status DeviceStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

DevicePhase ​

Underlying type: string

DevicePhase represents the current phase of the Device as it's being provisioned and managed by the operator.

Validation:

  • Enum: [Pending Provisioning Running Failed Provisioned]

Appears in:

FieldDescription
PendingDevicePhasePending indicates that the device is pending and has not yet been provisioned.
ProvisioningDevicePhaseProvisioning indicates that the device is being provisioned.
ProvisionedDevicePhaseProvisioned indicates that the device provisioning has completed and the operator is performing post-provisioning tasks.
RunningDevicePhaseRunning indicates that the device has been successfully provisioned and is now ready for use.
FailedDevicePhaseFailed indicates that the device provisioning has failed.

DevicePort ​

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the port.Required: {}
type stringType is the type of the port, e.g. "10g".Optional: {}
supportedSpeedsGbps integer arraySupportedSpeedsGbps is the list of supported speeds in Gbps for this port.Optional: {}
transceiver stringTransceiver is the type of transceiver plugged into the port, if any.Optional: {}
interfaceName LocalObjectReferenceInterfaceRef is the reference to the corresponding Interface resource
configuring this port, if any.
Optional: {}

DeviceSpec ​

DeviceSpec defines the desired state of Device.

Appears in:

FieldDescriptionDefaultValidation
paused booleanPaused can be used to prevent controllers from processing the Device and its associated objects.falseOptional: {}
endpoint EndpointEndpoint contains the connection information for the device.Required: {}
provider stringProvider identifies the provider implementation used to reconcile this Device and all CRDs that reference it.
Immutable.
MinLength: 1
Required: {}
provisioning ProvisioningProvisioning is an optional configuration for the device provisioning process.
It can be used to provide initial configuration templates or scripts that are applied during the device provisioning.
Optional: {}

DeviceStatus ​

DeviceStatus defines the observed state of Device.

Appears in:

FieldDescriptionDefaultValidation
phase DevicePhasePhase represents the current phase of the Device.PendingEnum: [Pending Provisioning Running Failed Provisioned]
Required: {}
provider stringProvider is the shortened name of the provider implementation used to reconcile the Device.Optional: {}
hostname stringHostname is the hostname of the Device.Optional: {}
manufacturer stringManufacturer is the manufacturer of the Device.Optional: {}
model stringModel is the model identifier of the Device.Optional: {}
serialNumber stringSerialNumber is the serial number of the Device.Optional: {}
firmwareVersion stringFirmwareVersion is the firmware version running on the Device.Optional: {}
lastRebootTime TimeLastRebootTime is the timestamp of the last reboot of the Device, if known.Optional: {}
provisioning ProvisioningInfo arrayProvisioning is the list of provisioning attempts for the Device.Optional: {}
ports DevicePort arrayPorts is the list of ports on the Device.Optional: {}
portSummary stringPortSummary shows a summary of the port configured, grouped by type, e.g. "1/4 (10g), 3/64 (100g)".Optional: {}
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Device.Optional: {}

ESIType ​

Underlying type: string

ESIType defines the ESI derivation method per RFC 7432 Section 5.

Validation:

  • Enum: [Arbitrary LACP MST MAC RouterID AS]

Appears in:

FieldDescription
ArbitraryESITypeArbitrary indicates an operator-configured ESI value (Type 0).
LACPESITypeLACP indicates a LACP-based ESI derived from CE system MAC and port key (Type 1).
MSTESITypeMST indicates a bridge-protocol-based ESI derived from root bridge parameters (Type 2).
MACESITypeMAC indicates a MAC-based ESI derived from system MAC and local discriminator (Type 3).
RouterIDESITypeRouterID indicates a router-ID-based ESI (Type 4).
ASESITypeAS indicates an AS-number-based ESI (Type 5).

EVPNInstance ​

EVPNInstance is the Schema for the evpninstances API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringEVPNInstance
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EVPNInstanceSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status EVPNInstanceStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

EVPNInstanceSpec ​

EVPNInstanceSpec defines the desired state of EVPNInstance

It models an EVPN instance (EVI) context on a single network device based on VXLAN encapsulation and the VLAN-based service type defined in [RFC 8365]. [RFC 8365]: https://datatracker.ietf.org/doc/html/rfc8365

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the EVPNInstance to its provider-specific configuration.
Optional: {}
vni integerVNI is the VXLAN Network Identifier.
Immutable.
Maximum: 1.6777214e+07
Minimum: 1
Required: {}
type EVPNInstanceTypeType specifies the EVPN instance type.
Immutable.
Enum: [Bridged Routed]
Required: {}
multicastGroupAddress stringMulticastGroupAddress specifies the IPv4 multicast group address used for BUM (Broadcast, Unknown unicast, Multicast) traffic.
The address must be in the valid multicast range (224.0.0.0 - 239.255.255.255).
Format: ipv4
Optional: {}
routeDistinguisher stringRouteDistinguisher is the route distinguisher for the EVI.
This field is only applicable when Type is Bridged (MAC-VRF).
For Routed type, the route distinguisher is configured on the referenced VRF instead.
Set to "Auto" for automatic derivation (equivalent to "rd auto").
Formats supported:
- "Auto" (automatic derivation)
- Type 0: ASN(0-65535):Number(0-4294967295)
- Type 1: IPv4:Number(0-65535)
- Type 2: ASN(65536-4294967295):Number(0-65535)
Optional: {}
routeTargets EVPNRouteTarget arrayRouteTargets is the list of route targets for the EVI.MinItems: 1
Optional: {}
vlanRef LocalObjectReferenceVLANRef is a reference to a VLAN resource for which this EVPNInstance builds the MAC-VRF.
This field is only applicable when Type is Bridged (L2VNI).
The VLAN resource must exist in the same namespace.
Immutable.
Optional: {}
vrfRef LocalObjectReferenceVRFRef is a reference to a VRF resource for which this EVPNInstance provides the L3VNI.
This field is only applicable when Type is Routed (L3VNI).
The VRF resource must exist in the same namespace.
Immutable.
Optional: {}
suppressARP booleanSuppressARP overrides the NVE-level ARP suppression setting for this VNI.
When unset, the NVE-level SuppressARP setting takes precedence.
Optional: {}

EVPNInstanceStatus ​

EVPNInstanceStatus defines the observed state of EVPNInstance.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the EVPNInstance.Optional: {}

EVPNInstanceType ​

Underlying type: string

EVPNInstanceType defines the type of EVPN instance.

Validation:

  • Enum: [Bridged Routed]

Appears in:

FieldDescription
BridgedEVPNInstanceTypeBridged represents an L2VNI (MAC-VRF) EVPN instance.
Corresponds to OpenConfig network-instance type L2VSI.
RoutedEVPNInstanceTypeRouted represents an L3VNI (IP-VRF) EVPN instance.
Corresponds to OpenConfig network-instance type L3VRF.

EVPNRouteTarget ​

Appears in:

FieldDescriptionDefaultValidation
value stringValue is the route target value, must have the format as RouteDistinguisher.MinLength: 1
Required: {}
action RouteTargetActionAction defines whether the route target is imported, exported, or both.Enum: [Import Export Both]
Required: {}

EncapType ​

Underlying type: string

EncapType represents the encapsulation type used for a subinterface.

Validation:

  • Enum: [802.1q 802.1ad]

Appears in:

FieldDescription
802.1qEncapsulationTypeDot1Q indicates IEEE 802.1Q encapsulation.
802.1adEncapsulationTypeQinQ indicates IEEE 802.1ad encapsulation.

Encapsulation ​

Encapsulation defines config for an L3 subinterface.

Appears in:

FieldDescriptionDefaultValidation
type EncapTypeEnum: [802.1q 802.1ad]
Required: {}
tag integerMaximum: 4094
Minimum: 1
Optional: {}
innerTag integerInnerTag specifies the inner VLAN ID for QinQ encapsulation.
Only applicable when Type is set to "QinQ".
Maximum: 4094
Minimum: 1
Optional: {}
outerTag integerOuterTag specifies the outer VLAN ID for QinQ encapsulation.
Only applicable when Type is set to "QinQ".
Maximum: 4094
Minimum: 1
Optional: {}

EncryptionAlgorithm ​

Underlying type: string

EncryptionAlgorithm defines the supported encryption algorithms for remote backups.

Validation:

  • Enum: [AES-256-GCM ChaCha20-Poly1305]

Appears in:

FieldDescription
AES-256-GCMEncryptionAES256GCM uses AES-256 in GCM mode. Key must be 32 bytes.
ChaCha20-Poly1305EncryptionChaCha20Poly1305 uses ChaCha20-Poly1305. Key must be 32 bytes.

Endpoint ​

Endpoint contains the connection information for the device.

Appears in:

FieldDescriptionDefaultValidation
address stringAddress is the management address of the device provided in IP:Port format.Pattern: ^(\d\{1,3\}\.)\{3\}\d\{1,3\}:\d\{1,5\}$
Required: {}
secretRef SecretReferenceSecretRef is name of the authentication secret for the device containing the username and password.
The secret must be of type kubernetes.io/basic-auth and as such contain the following keys: 'username' and 'password'.
Optional: {}
tls TLSTransport credentials for grpc connection to the switch.Optional: {}

Ethernet ​

Ethernet defines the ethernet-specific configuration for physical interfaces.

Appears in:

FieldDescriptionDefaultValidation
fecMode FECModeFECMode specifies the Forward Error Correction mode for the interface.
FEC provides error detection and correction at the physical layer, improving link reliability.
When not specified, the FEC mode defaults to "auto" where the device negotiates the appropriate mode.
Enum: [FC RS528 Disabled]
Optional: {}

EthernetSegment ​

EthernetSegment is the Schema for the ethernetsegments API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringEthernetSegment
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EthernetSegmentSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status EthernetSegmentStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

EthernetSegmentSpec ​

EthernetSegmentSpec defines the desired state of EthernetSegment.

It models an EVPN Ethernet Segment for multihoming as defined in [RFC 7432] Section 5. An Ethernet Segment associates an Aggregate interface with a 10-byte Ethernet Segment Identifier (ESI), enabling multi-homed CE connectivity. [RFC 7432]: https://datatracker.ietf.org/doc/html/rfc7432

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceRef is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this Ethernet Segment.Optional: {}
interfaceRef LocalObjectReferenceInterfaceRef is the name of the Interface this Ethernet Segment is associated with.
The Interface must be of type Aggregate and belong to the same Device.
Immutable.
Required: {}
esiType ESITypeESIType selects the ESI derivation method (RFC 7432 Section 5).
When Arbitrary (Type 0), ESI must be provided explicitly.
When LACP or MST (Types 1, 2), ESI is always auto-derived (ESI field must be omitted).
When MAC, RouterID, or AS (Types 3-5), ESI may be explicit or auto-derived.
ArbitraryEnum: [Arbitrary LACP MST MAC RouterID AS]
Required: {}
esi stringESI is the 10-byte Ethernet Segment Identifier in colon-separated hex notation
(e.g., "00:11:22:33:44:55:66:77:88:01"). Must not be all-zeros or all-ones (reserved per RFC 7432).
Required when ESIType is Arbitrary. Must be omitted when ESIType is LACP or MST.
Optional for MAC, RouterID, and AS types (omit to auto-derive on the device).
Pattern: ^([0-9a-fA-F]\{2\}:)\{9\}[0-9a-fA-F]\{2\}$
Optional: {}
redundancyMode RedundancyModeRedundancyMode defines the multi-homing forwarding model for this Ethernet Segment
as defined in RFC 7432 Section 14.1.
AllActiveEnum: [AllActive SingleActive]
Optional: {}
designatedForwarder DesignatedForwarderDesignatedForwarder configures the Designated Forwarder election for this
Ethernet Segment (RFC 7432 Section 8.5, RFC 8584).
Optional: {}

EthernetSegmentStatus ​

EthernetSegmentStatus defines the observed state of EthernetSegment.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayOptional: {}
esi stringESI is the realized 10-byte Ethernet Segment Identifier on the device,
in colon-separated hex notation. Populated from spec or read back from
device when auto-generated.
Optional: {}
esiType ESITypeESIType is the ESI derivation type parsed from the first byte of ESI.Enum: [Arbitrary LACP MST MAC RouterID AS]
Optional: {}

FECMode ​

Underlying type: string

FECMode represents the Forward Error Correction mode for Ethernet Interfaces.

Validation:

  • Enum: [FC RS528 Disabled]

Appears in:

FieldDescription
FCFECModeFC indicates IEEE 802.3 Clause 74 Fire Code FEC for NRZ modulation (<100G).
RS528FECModeRS528 indicates IEEE 802.3 Clause 91 Reed-Solomon FEC (528,514) for NRZ modulation.
DisabledFECModeDisabled indicates FEC is administratively disabled.

GNMI ​

Appears in:

FieldDescriptionDefaultValidation
maxConcurrentCall integerThe maximum number of concurrent gNMI calls that can be made to the gRPC server on the switch for each VRF.
Configure a limit from 1 through 16. The default limit is 8.
8ExclusiveMaximum: false
Maximum: 16
Minimum: 1
Optional: {}
keepAliveTimeout DurationConfigure the keepalive timeout for inactive or unauthorized connections.
The gRPC agent is expected to periodically send an empty response to the client, on which the client is expected to respond with an empty request.
If the client does not respond within the keepalive timeout, the gRPC agent should close the connection.
The default interval value is 10 minutes.
10mPattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
Optional: {}

GRPC ​

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnable or disable the gRPC server on the device.
If not specified, the gRPC server is enabled by default.
trueOptional: {}
port integerThe TCP port on which the gRPC server should listen.
The range of port-id is from 1024 to 65535.
Port 9339 is the default.
9339ExclusiveMaximum: false
Maximum: 65535
Minimum: 1024
Optional: {}
serverName stringName of the gRPC server instance on the device.
If not specified, defaults to "gnmi" on OpenConfig devices.
Not supported on Cisco NX-OS devices.
Immutable once set.
MaxLength: 63
MinLength: 1
Optional: {}
certificateId stringName of the certificate that is associated with the gRPC service.
The certificate is provisioned through other interfaces on the device,
such as e.g. the gNOI certificate management service.
MaxLength: 63
MinLength: 1
Optional: {}
vrfName stringEnable the gRPC agent to accept incoming (dial-in) RPC requests from a given vrf.MaxLength: 63
MinLength: 1
Optional: {}
gnmi GNMIAdditional gNMI configuration for the gRPC server.
This may not be supported by all devices.
{ keepAliveTimeout:10m maxConcurrentCall:8 }Optional: {}

HostReachabilityType ​

Underlying type: string

HostReachabilityType defines the method used for host reachability.

Validation:

  • Enum: [FloodAndLearn BGP]

Appears in:

FieldDescription
BGPHostReachabilityTypeBGP uses BGP EVPN control-plane for MAC/IP advertisement.
FloodAndLearnHostReachabilityTypeFloodAndLearn uses data-plane learning for MAC addresses.

IPAddr ​

IPAddr represents a single IP address (IPv4 or IPv6).

Validation:

  • Format: ip
  • Type: string

Appears in:

IPPrefix ​

IPPrefix represents an IP prefix in CIDR notation. It is used to define a range of IP addresses in a network.

Validation:

  • Format: cidr
  • Type: string

Appears in:

ISIS ​

ISIS is the Schema for the isis API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringISIS
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ISISSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status ISISStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

ISISLevel ​

Underlying type: string

ISISLevel represents the level of an ISIS instance.

Validation:

  • Enum: [Level1 Level2 Level1-2]

Appears in:

FieldDescription
Level1
Level2
Level1-2

ISISSpec ​

ISISSpec defines the desired state of ISIS

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the ISIS to its provider-specific configuration.
Optional: {}
adminState AdminStateAdminState indicates whether the ISIS instance is administratively up or down.UpEnum: [Up Down]
Optional: {}
instance stringInstance is the name of the ISIS instance.MaxLength: 63
MinLength: 1
Required: {}
networkEntityTitle stringNetworkEntityTitle is the NET of the ISIS instance.Pattern: ^[a-fA-F0-9]\{2\}(\.[a-fA-F0-9]\{4\})\{3,9\}\.[a-fA-F0-9]\{2\}$
Required: {}
type ISISLevelType indicates the level of the ISIS instance.Enum: [Level1 Level2 Level1-2]
Required: {}
overloadBit OverloadBitOverloadBit indicates the overload bit of the ISIS instance.NeverEnum: [Always Never OnStartup]
Optional: {}
addressFamilies AddressFamily arrayAddressFamilies is a list of address families for the ISIS instance.Enum: [IPv4Unicast IPv6Unicast]
MaxItems: 2
MinItems: 1
Required: {}
interfaceRefs LocalObjectReference arrayInterfaceRefs is a list of interfaces that are part of the ISIS instance.Optional: {}

ISISStatus ​

ISISStatus defines the observed state of ISIS.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the ISIS.Optional: {}

Image ​

Appears in:

FieldDescriptionDefaultValidation
url stringURL is the location of the image to be used for provisioning.Required: {}
checksum stringChecksum is the checksum of the image for verification.
kubebuilder:validation:MinLength=1
Required: {}
checksumType ChecksumTypeChecksumType is the type of the checksum (e.g., sha256, md5).MD5Enum: [SHA256 MD5]
Required: {}

IndexRange ​

IndexRange represents an inclusive range of indices.

Validation:

  • Pattern: ^[0-9]+(\.\.[0-9]+)?$
  • Type: string
  • XIntOrString: {}

Appears in:

Interface ​

Interface is the Schema for the interfaces API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringInterface
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec InterfaceSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status InterfaceStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

InterfaceIPv4 ​

InterfaceIPv4 defines the IPv4 configuration for an interface.

Appears in:

FieldDescriptionDefaultValidation
addresses IPPrefix arrayAddresses defines the list of IPv4 addresses assigned to the interface.
The first address in the list is considered the primary address,
and any additional addresses are considered secondary addresses.
Format: cidr
MinItems: 1
Type: string
Optional: {}
unnumbered InterfaceIPv4UnnumberedUnnumbered defines the unnumbered interface configuration.
When specified, the interface borrows the IP address from another interface.
Optional: {}
anycastGateway booleanAnycastGateway enables distributed anycast gateway functionality.
When enabled, this interface uses the virtual MAC configured in the
device's NVE resource for active-active default gateway redundancy.
Only applicable for RoutedVLAN interfaces in EVPN/VXLAN fabrics.
falseOptional: {}

InterfaceIPv4Unnumbered ​

InterfaceIPv4Unnumbered defines the unnumbered interface configuration. An unnumbered interface borrows the IP address from another interface, allowing the interface to function without its own IP address assignment.

Appears in:

FieldDescriptionDefaultValidation
interfaceRef LocalObjectReferenceInterfaceRef is a reference to the interface from which to borrow the IP address.
The referenced interface must exist and have at least one IPv4 address configured.
Required: {}

InterfaceIPv6 ​

InterfaceIPv6 defines the IPv6 configuration for an interface.

Appears in:

FieldDescriptionDefaultValidation
addresses IPPrefix arrayAddresses defines the list of global unicast IPv6 addresses assigned to
the interface. Unlike IPv4, all addresses are equal, there is no primary
or secondary distinction.
Link-local addresses cannot be assigned here, they are configured through
UseLinkLocalOnly.
Format: cidr
MinItems: 1
Type: string
Optional: {}
useLinkLocalOnly booleanUseLinkLocalOnly configures the interface to operate with only its
automatically generated IPv6 link-local address, without assigning a
global address. This is what unnumbered, interface-based BGP peering
requires in order to discover neighbours over their link-local address.
Optional: {}

InterfaceSource ​

InterfaceSource identifies a interface either by literal name or by reference to a managed Interface resource. Exactly one of Name or InterfaceRef must be specified.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the literal interface name on the device (e.g., "mgmt0", "Loopback0").
Use this for interfaces that are not managed as Interface resources.
MaxLength: 63
MinLength: 1
Optional: {}
interfaceRef LocalObjectReferenceInterfaceRef references a managed Interface resource in the same namespace.
The controller resolves the device interface name from this resource.
Optional: {}

InterfaceSpec ​

InterfaceSpec defines the desired state of Interface.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the Interface to its provider-specific configuration.
Optional: {}
name stringName is the name of the interface.MaxLength: 255
MinLength: 1
Required: {}
adminState AdminStateAdminState indicates whether the interface is administratively up or down.UpEnum: [Up Down]
Optional: {}
description stringDescription provides a human-readable description of the interface.MaxLength: 255
Optional: {}
type InterfaceTypeType indicates the type of the interface.Enum: [Physical Loopback Aggregate RoutedVLAN Subinterface]
Required: {}
mtu integerMTU (Maximum Transmission Unit) specifies the size of the largest packet that can be sent over the interface.Maximum: 9216
Minimum: 576
Optional: {}
switchport SwitchportSwitchport defines the switchport configuration for the interface.
This is only applicable for Ethernet and Aggregate interfaces.
Optional: {}
ipv4 InterfaceIPv4IPv4 defines the IPv4 configuration for the interface.Optional: {}
ipv6 InterfaceIPv6IPv6 defines the IPv6 configuration for the interface.Optional: {}
aggregation AggregationAggregation defines the aggregation (bundle) configuration for the interface.
This is only applicable for interfaces of type Aggregate.
Optional: {}
vlanRef LocalObjectReferenceVlanRef is a reference to the VLAN resource that this interface provides routing for.
This is only applicable for interfaces of type RoutedVLAN.
The referenced VLAN must exist in the same namespace.
Optional: {}
vrfRef LocalObjectReferenceVrfRef is a reference to the VRF resource that this interface belongs to.
If not specified, the interface will be part of the default VRF.
This is only applicable for Layer 3 interfaces.
The referenced VRF must exist in the same namespace.
Optional: {}
bfd BFDBFD defines the Bidirectional Forwarding Detection configuration for the interface.
BFD is only applicable for Layer 3 interfaces.
Optional: {}
ethernet EthernetEthernet defines the ethernet-specific configuration for physical interfaces.
This configuration is only applicable to Physical interfaces.
When omitted, ethernet parameters use their default values (e.g., FEC mode defaults to auto).
Optional: {}
encapsulation EncapsulationEncapsulation defines the subinterfaces config for an L3 interface.Optional: {}
parentInterfaceRef LocalObjectReferenceParentInterfaceRef is a reference to the parent interface for this subinterface.
Required if the interface type is Subinterface. Must not be set for other interface types.
Optional: {}

InterfaceStatus ​

InterfaceStatus defines the observed state of Interface.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Interface.Optional: {}
memberOf LocalObjectReferenceMemberOf references the aggregate interface this interface is a member of, if any.
This field only applies to physical interfaces that are part of an aggregate interface.
Optional: {}
neighbors Neighbor arrayNeighbors contains a list of neighbor interfaces connected to this interface and discovered with LLDP.
If a single interface has multiple neighbor adjacencies, we validate each adjacency against the same one label/annotation.
Optional: {}

InterfaceType ​

Underlying type: string

InterfaceType represents the type of the interface.

Validation:

  • Enum: [Physical Loopback Aggregate RoutedVLAN Subinterface]

Appears in:

FieldDescription
PhysicalInterfaceTypePhysical indicates that the interface is a physical/ethernet interface.
LoopbackInterfaceTypeLoopback indicates that the interface is a loopback interface.
AggregateInterfaceTypeAggregate indicates that the interface is an aggregate (bundle) interface.
RoutedVLANInterfaceTypeRoutedVLAN indicates that the interface is a routed VLAN interface (SVI/IRB).
SubinterfaceInterfaceTypeSubinterface indicates that the interface is a subinterface of an interface.

LACPMode ​

Underlying type: string

LACPMode represents the LACP mode of an interface.

Validation:

  • Enum: [Active Passive Static]

Appears in:

FieldDescription
ActiveLACPModeActive indicates that LACP is in active mode.
PassiveLACPModePassive indicates that LACP is in passive mode.
StaticLACPModeStatic indicates a static port-channel with no LACP (mode on).

LLDP ​

LLDP is the Schema for the lldps API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringLLDP
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec LLDPSpecRequired: {}
status LLDPStatusOptional: {}

LLDPInterface ​

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
MaxLength: 63
MinLength: 1
Required: {}
adminState AdminStateAdminState indicates whether LLDP is administratively up or down on this interface.
This will be ignored if LLDP is configured to be administratively down system-wide.
UpEnum: [Up Down]
Optional: {}

LLDPSpec ​

LLDPSpec defines the desired state of LLDP

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration for this LLDP.
If not specified the provider applies the target platform's default settings.
Optional: {}
adminState AdminStateAdminState indicates whether LLDP is system-wide administratively up or down.Enum: [Up Down]
Required: {}
interfaceRefs LLDPInterface arrayInterfaceRefs is a list of interfaces and their LLDP configuration.
Interfaces not listed here are left at the platform default, which
on all supported platforms is LLDP enabled. To disable LLDP on
specific interfaces, add them with adminState set to Down.
Optional: {}

LLDPStatus ​

LLDPStatus defines the observed state of LLDP.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the LLDP resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The status of each condition is one of True, False, or Unknown.
Optional: {}

LocalAS ​

LocalAS defines the local AS configuration and how it factors in BGP announcements.

Appears in:

FieldDescriptionDefaultValidation
asNumber IntOrStringASNumber specifies a local AS number to present in BGP sessions with this peer.Required: {}
prependLocalAS booleanPrependLocalAS specifies whether to prepend the local AS number to updates received from this peer.trueOptional: {}
prependGlobalAS booleanPrependGlobalAS specifies whether to prepend the global AS number to updates sent to this neighbor.trueOptional: {}

LocalObjectReference ​

LocalObjectReference contains enough information to locate a referenced object inside the same namespace.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
MaxLength: 63
MinLength: 1
Required: {}

LogFacility ​

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the log facility.MaxLength: 63
MinLength: 1
Required: {}
severity SeverityThe severity level of the log messages for this facility.Enum: [Debug Info Notice Warning Error Critical Alert Emergency]
Required: {}

LogServer ​

Appears in:

FieldDescriptionDefaultValidation
address stringIP address or hostname of the remote log serverMaxLength: 253
MinLength: 1
Required: {}
severity SeverityThe servity level of the log messages sent to the server.Enum: [Debug Info Notice Warning Error Critical Alert Emergency]
Required: {}
vrfName stringThe name of the vrf used to reach the log server.MaxLength: 63
MinLength: 1
Required: {}
port integerThe destination port number for syslog UDP messages to
the server. The default is 514.
514Optional: {}

MACTableEntryProbe ​

MACTableEntryProbe asserts that a specific MAC address exists in the device's forwarding table.

Appears in:

FieldDescriptionDefaultValidation
macAddress stringMACAddress is the MAC address to look for in the device's MAC table.Pattern: ^([0-9a-fA-F]\{2\}:)\{5\}[0-9a-fA-F]\{2\}$
Required: {}
vlan VLANSourceVLAN constrains the lookup to a specific VLAN.Optional: {}

ManagementAccess ​

ManagementAccess is the Schema for the managementaccesses API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringManagementAccess
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ManagementAccessSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status ManagementAccessStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

ManagementAccessSpec ​

ManagementAccessSpec defines the desired state of ManagementAccess

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the ManagementAccess to its provider-specific configuration.
Optional: {}
grpc GRPCConfiguration for the gRPC server on the device.{ enabled:true port:9339 }Optional: {}
ssh SSHConfiguration for the SSH server on the device.{ enabled:true sessionLimit:32 timeout:10m }Optional: {}

ManagementAccessStatus ​

ManagementAccessStatus defines the observed state of ManagementAccess.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the ManagementAccess.Optional: {}

MaskLengthRange ​

Appears in:

FieldDescriptionDefaultValidation
min integerMinimum mask length.Maximum: 128
Minimum: 0
Required: {}
max integerMaximum mask length.Maximum: 128
Minimum: 0
Required: {}

MatchSetOption ​

Underlying type: string

MatchSetOption defines how a route's attributes are compared against a referenced set.

Validation:

  • Enum: [Any All]

Appears in:

FieldDescription
AnyMatchSetOptionAny matches a route carrying at least one member of the referenced set.
AllMatchSetOptionAll matches only a route carrying every member of the referenced set.

MultiChassis ​

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether the aggregate interface is part of a multichassis setup.trueRequired: {}
id integerID is the multichassis identifier.Maximum: 4094
Minimum: 1
Required: {}

MulticastGroups ​

MulticastGroups defines multicast group addresses for overlay BUM traffic. Only supports IPv4 multicast addresses.

Appears in:

FieldDescriptionDefaultValidation
l2 IPPrefixL2 is the multicast group for Layer 2 VNIs (BUM traffic in bridged VLANs).Format: cidr
Type: string
Optional: {}
l3 IPPrefixL3 is the multicast group for Layer 3 VNIs (BUM traffic in routed VRFs).Format: cidr
Type: string
Optional: {}

NTP ​

NTP is the Schema for the ntp API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringNTP
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NTPSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status NTPStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

NTPServer ​

Appears in:

FieldDescriptionDefaultValidation
address stringHostname/IP address of the NTP server.MaxLength: 253
MinLength: 1
Required: {}
prefer booleanIndicates whether this server should be preferred or not.falseOptional: {}
vrfName stringThe name of the vrf used to communicate with the NTP server.MaxLength: 63
MinLength: 1
Optional: {}

NTPSpec ​

NTPSpec defines the desired state of NTP

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the NTP to its provider-specific configuration.
Optional: {}
adminState AdminStateAdminState indicates whether NTP is administratively up or down.UpEnum: [Up Down]
Optional: {}
sourceInterfaceName stringSource interface for all NTP traffic.MaxLength: 63
MinLength: 1
Required: {}
servers NTPServer arrayNTP servers.MinItems: 1
Required: {}

NTPStatus ​

NTPStatus defines the observed state of NTP.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the NTP.Optional: {}

NameServer ​

Appears in:

FieldDescriptionDefaultValidation
address stringThe Hostname or IP address of the DNS server.MaxLength: 253
MinLength: 1
Required: {}
vrfName stringThe name of the vrf used to communicate with the DNS server.MaxLength: 63
MinLength: 1
Optional: {}

Neighbor ​

Neighbor represents an LLDP neighbor discovered on an interface. It includes the results of the LLDP adjacency validation against the expected neighbor information from the interface's labels or annotations.

Appears in:

FieldDescriptionDefaultValidation
chassisId stringChassisID contains an octet string indicating the specific chassis ID of the neighbor.
Its semantics are defined by the ChassisIDType field.
Required: {}
chassisIdType ChassisIDTypeChassisIDType represents the chassis ID subtype.
Full list of types can be found in IEEE 802.1AB-2016 Table 8-2.
Enum: [ChassisComponent InterfaceAlias PortComponent MACAddress NetworkAddress InterfaceName Local]
Required: {}
portId stringPortID contains an octet string indicating the specific port ID of the neighbor.
Its semantics are defined by the PortIDType field.
Required: {}
portIdType PortIDTypePortIDType represents the port ID subtype.
Full list of types can be found in IEEE 802.1AB-2016 Table 8-3.
Enum: [InterfaceAlias PortComponent MACAddress NetworkAddress InterfaceName AgentCircuitID Local]
Required: {}
systemName stringSystemName is an alpha-numeric string that indicates the system’s administratively assigned name.Optional: {}
systemDescription stringSystemDescription is a textual description of the neighbor, should include hardware and software information
If the device supports IETF RFC 3418, this is the sysDescr
Optional: {}
portDescription stringPortDescription contains the port description of the neighbor port.
If the device supports IETF RFC 2863, this is the ifDescr
Optional: {}
expirationTime TimeExpirationTime is the time when the LLDP neighbor information expires.
It is calculated based on the TTL.
Required: {}
validation NeighborValidationValidation indicates whether the LLDP neighbor information matches the information in the label or annotations of the interface.
Empty when no validation source (label or annotation) is configured on the interface.
Enum: [NotFound Verified DeviceMismatch PortMismatch]
Optional: {}

NeighborValidation ​

Underlying type: string

NeighborValidation represents the result of the validation of the LLDP neighbor information against the expected values from the interface's labels or annotations.

Validation:

  • Enum: [NotFound Verified DeviceMismatch PortMismatch]

Appears in:

FieldDescription
NotFoundNeighborNotFound indicates that the resource referenced in the PhysicalInterfaceNeighborLabel label could not be found.
VerifiedNeighborVerified indicates that the LLDP neighbor information has been verified and matches the expected values.
DeviceMismatchNeighborDeviceMismatch indicates that the LLDP neighbor information does not match the expected values, indicating a potential misconfiguration or unexpected neighbor.
PortMismatchNeighborPortMismatch indicates that the LLDP neighbor information does not match the expected port information, indicating a potential misconfiguration or unexpected neighbor.

NetworkVirtualizationEdge ​

NetworkVirtualizationEdge is the Schema for the networkvirtualizationedges API The NVE resource is the equivalent to an Endpoint for a Network Virtualization Overlay Object in OpenConfig (nvo:Ep).

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringNetworkVirtualizationEdge
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NetworkVirtualizationEdgeSpecRequired: {}
status NetworkVirtualizationEdgeStatusOptional: {}

NetworkVirtualizationEdgeSpec ​

NetworkVirtualizationEdgeSpec defines the desired state of a Network Virtualization Edge (NVE).

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration for this NVE.
If not specified the provider applies the target platform's default settings.
Optional: {}
adminState AdminStateAdminState indicates whether the interface is administratively up or down.Enum: [Up Down]
Required: {}
sourceInterfaceRef LocalObjectReferenceSourceInterface is the reference to the loopback interface used for the primary NVE IP address.Required: {}
anycastSourceInterfaceRef LocalObjectReferenceAnycastSourceInterfaceRef is the reference to the loopback interface used for anycast NVE IP address.Optional: {}
suppressARP booleanSuppressARP indicates whether ARP suppression is enabled for this NVE.falseOptional: {}
hostReachability HostReachabilityTypeHostReachability specifies the method used for host reachability.Enum: [FloodAndLearn BGP]
Required: {}
multicastGroups MulticastGroupsMulticastGroups defines multicast group addresses for BUM traffic.Optional: {}
anycastGateway AnycastGatewayAnycastGateway defines the distributed anycast gateway configuration.
This enables multiple NVEs to share the same gateway IP and MAC
for active-active first-hop redundancy.
Optional: {}

NetworkVirtualizationEdgeStatus ​

NetworkVirtualizationEdgeStatus defines the observed state of the NVE.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the NVE resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
Standard condition types include:
- "Available": the resource is fully functional
- "Progressing": the resource is being created or updated
- "Degraded": the resource failed to reach or maintain its desired state
The conditions are a list of status objects that describe the state of the NVE.
Optional: {}
sourceInterfaceName stringSourceInterfaceName is the resolved source interface IP address used for NVE encapsulation.
anycastSourceInterfaceName stringAnycastSourceInterfaceName is the resolved anycast source interface IP address used for NVE encapsulation.
hostReachability stringHostReachability indicates the actual method used for host reachability.

NextHop ​

Appears in:

FieldDescriptionDefaultValidation
interfaceRef LocalObjectReferenceInterfaceRef is a reference to the Interface resource that this static route is associated with.
The referenced Interface must exist in the same namespace.
Optional: {}
address stringAddress is the IP address of the next hop for the static route.Format: ipv4
Required: {}
metric integerMetric assigns a priority to the static route. Lower values indicate higher priority.Optional: {}

OSPF ​

OSPF is the Schema for the ospf API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringOSPF
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec OSPFSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status OSPFStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

OSPFInterface ​

OSPFInterface defines the OSPF-specific configuration for an interface that is participating in an OSPF instance.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
MaxLength: 63
MinLength: 1
Required: {}
area stringArea is the OSPF area identifier for this interface.
Must be specified in dotted-quad notation (e.g., "0.0.0.0" for the backbone area).
This is semantically a 32-bit identifier displayed in IPv4 address format,
not an actual IPv4 address. Area 0 (0.0.0.0) is the OSPF backbone area and
is required for proper OSPF operation in multi-area configurations.
Format: ipv4
Required: {}
passive booleanPassive indicates whether this interface should operate in passive mode.
In passive mode, OSPF will advertise the interface's network in LSAs but will not
send or receive OSPF protocol packets (Hello, LSU, etc.) on this interface.
This is typically used for loopback interfaces where OSPF adjacencies
should not be formed but the network should still be advertised.
Defaults to false (active mode).
Optional: {}

OSPFNeighbor ​

OSPFNeighbor represents an OSPF neighbor with its adjacency information.

Appears in:

FieldDescriptionDefaultValidation
routerId stringRouterID is the router identifier of the remote OSPF neighbor.Required: {}
address stringAddress is the IP address of the remote OSPF neighbor.Required: {}
interfaceRef LocalObjectReferenceInterfaceRef is a reference to the local interface through which this neighbor is connected.Required: {}
priority integerPriority is the remote system's priority to become the designated router.
Valid range is 0-255.
Optional: {}
lastEstablishedTime TimeLastEstablishedTime is the timestamp when the adjacency last transitioned to the FULL state.
A frequently changing timestamp indicates adjacency instability (flapping).
Optional: {}
adjacencyState OSPFNeighborStateAdjacencyState is the current state of the adjacency with this neighbor.Enum: [Down Attempt Init TwoWay ExStart Exchange Loading Full]
Optional: {}

OSPFNeighborState ​

Underlying type: string

OSPFNeighborState represents the state of an OSPF adjacency as defined in RFC 2328.

Validation:

  • Enum: [Down Attempt Init TwoWay ExStart Exchange Loading Full]

Appears in:

FieldDescription
UnknownOSPFNeighborStateUnknown indicates an unknown or undefined state.
DownOSPFNeighborStateDown indicates the initial state of a neighbor.
No recent information has been received from the neighbor.
AttemptOSPFNeighborStateAttempt is only valid for neighbors on NBMA networks.
It indicates that no recent information has been received but effort should be made to contact the neighbor.
InitOSPFNeighborStateInit indicates a Hello packet has been received from the neighbor
but bidirectional communication has not yet been established.
TwoWayOSPFNeighborStateTwoWay indicates bidirectional communication has been established.
This is the most advanced state short of forming an adjacency.
ExStartOSPFNeighborStateExStart indicates the first step in creating an adjacency.
The routers are determining the relationship and initial DD sequence number.
ExchangeOSPFNeighborStateExchange indicates the routers are exchanging Database Description packets.
LoadingOSPFNeighborStateLoading indicates Link State Request packets are being sent to the neighbor
to obtain more recent LSAs that were discovered during the Exchange state.
FullOSPFNeighborStateFull indicates the neighboring routers are fully adjacent.
LSDBs are synchronized and the adjacency will appear in Router and Network LSAs.

OSPFSpec ​

OSPFSpec defines the desired state of OSPF

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the OSPF to its provider-specific configuration.
Optional: {}
adminState AdminStateAdminState indicates whether the OSPF instance is administratively up or down.UpEnum: [Up Down]
Optional: {}
instance stringInstance is the process tag of the OSPF instance.MaxLength: 63
MinLength: 1
Required: {}
routerId stringRouterID is the OSPF router identifier, used in OSPF messages to identify the originating router.
Follows dotted quad notation (IPv4 format).
Format: ipv4
Required: {}
logAdjacencyChanges booleanLogAdjacencyChanges enables logging when the state of an OSPF neighbor changes.
When true, a log message is generated for adjacency state transitions.
Optional: {}
interfaceRefs OSPFInterface arrayInterfaceRefs is a list of interfaces that are part of the OSPF instance.MinItems: 1
Optional: {}

OSPFStatus ​

OSPFStatus defines the observed state of OSPF.

Appears in:

FieldDescriptionDefaultValidation
adjacencySummary stringAdjacencySummary provides a human-readable summary of neighbor adjacencies
by state (e.g., "3 Full, 1 ExStart, 1 Down").
This field is computed by the controller from the Neighbors field.
Optional: {}
observedGeneration integerObservedGeneration reflects the .metadata.generation that was last processed by the controller.Optional: {}
neighbors OSPFNeighbor arrayNeighbors is a list of OSPF neighbors and their adjacency states.Optional: {}
conditions Condition arrayThe conditions are a list of status objects that describe the state of the OSPF.Optional: {}

OverloadBit ​

Underlying type: string

OverloadBit represents the overload bit of an ISIS instance.

Validation:

  • Enum: [Always Never OnStartup]

Appears in:

FieldDescription
Always
Never
OnStartup

PIM ​

PIM is the Schema for the pim API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringPIM
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec PIMSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status PIMStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

PIMInterface ​

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
MaxLength: 63
MinLength: 1
Required: {}
mode PIMInterfaceModeMode is the PIM mode to use when delivering multicast traffic via this interface.SparseEnum: [Sparse Dense]
Optional: {}

PIMInterfaceMode ​

Underlying type: string

PIMInterfaceMode represents the mode of a PIM interface.

Validation:

  • Enum: [Sparse Dense]

Appears in:

FieldDescription
Sparse
Dense

PIMSpec ​

PIMSpec defines the desired state of PIM

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the PIM to its provider-specific configuration.
Optional: {}
adminState AdminStateAdminState indicates whether the PIM instance is administratively up or down.UpEnum: [Up Down]
Optional: {}
rendezvousPoints RendezvousPoint arrayRendezvousPoints defines the list of rendezvous points for sparse mode multicast.MinItems: 1
Optional: {}
interfaceRefs PIMInterface arrayInterfaceRefs is a list of interfaces that are part of the PIM instance.MinItems: 1
Optional: {}

PIMStatus ​

PIMStatus defines the observed state of PIM.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the PIM.Optional: {}

PasswordSource ​

PasswordSource represents a source for the value of a password.

Appears in:

FieldDescriptionDefaultValidation
secretKeyRef SecretKeySelectorSelects a key of a secret.Required: {}

PingProbe ​

PingProbe configures an ICMP echo probe from the device to a target address.

Appears in:

FieldDescriptionDefaultValidation
address IPAddrAddress is the target IPv4 or IPv6 address to ping.Format: ip
Type: string
Required: {}
sourceInterface InterfaceSourceSourceInterface selects the source interface for the ping.
The provider uses an address on this interface with the same IP family as Address.
If omitted, the device selects the source interface automatically.
Optional: {}
vrf VRFSourceVRF selects the VRF context in which to execute the ping.
If omitted, the ping is executed in the default/global routing table.
Optional: {}
count integerCount is the number of ICMP echo requests to send.3Maximum: 100
Minimum: 1
Optional: {}
packetSize integerPacketSize is the ICMP payload size in bytes.
Useful for detecting MTU issues in VXLAN overlays.
Maximum: 65507
Minimum: 1
Optional: {}
timeout DurationTimeout is the maximum time to wait for a reply per echo request.Optional: {}

PingProbeResult ​

PingProbeResult contains the result of a Ping probe execution.

Appears in:

FieldDescriptionDefaultValidation
sent integerSent is the number of ICMP echo requests sent.Optional: {}
received integerReceived is the number of ICMP echo replies received.Optional: {}
minTime DurationMinTime is the minimum round-trip time.Optional: {}
avgTime DurationAvgTime is the average round-trip time.Optional: {}
maxTime DurationMaxTime is the maximum round-trip time.Optional: {}

PolicyActions ​

PolicyActions defines the actions to take when a policy statement matches.

Appears in:

FieldDescriptionDefaultValidation
routeDisposition RouteDispositionRouteDisposition specifies whether to accept or reject the route.Enum: [AcceptRoute RejectRoute]
Required: {}
bgpActions BgpActionsBgpActions specifies BGP-specific actions to apply when the route is accepted.
Only applicable when RouteDisposition is AcceptRoute.
Optional: {}

PolicyConditions ​

PolicyConditions defines the match criteria for a policy statement.

Appears in:

FieldDescriptionDefaultValidation
matchPrefixSet PrefixSetMatchConditionMatchPrefixSet matches routes against a PrefixSet resource.Optional: {}
matchCommunitySet CommunitySetMatchConditionMatchCommunitySet matches routes against a CommunitySet resource.Optional: {}
matchExtendedCommunitySet CommunitySetMatchConditionMatchExtendedCommunitySet matches routes against a CommunitySet resource of type Extended.Optional: {}

PolicyStatement ​

Appears in:

FieldDescriptionDefaultValidation
sequence integerThe sequence number of the policy statement.Minimum: 1
Required: {}
conditions PolicyConditionsConditions define the match criteria for this statement.
If no conditions are specified, the statement matches all routes.
Optional: {}
actions PolicyActionsActions define what to do when conditions match.Required: {}

PortIDType ​

Underlying type: string

PortIDType represents the port ID subtype for LLDP neighbor information. See IEEE 802.1AB-2016 section 8.5.3.2 for details.

Appears in:

FieldDescription
InterfaceAliasPortIDTypeInterfaceAlias is ifAlias (IETF RFC 2863)
PortComponentPortIDTypePortComponent is entPhysicalAlias when entPhysicalClass has a value ‘port(10)’ or ‘backplane(4)’ (IETF RFC 6933)
MACAddressPortIDTypeMACAddress is the MAC address (IEEE Std 802)
NetworkAddressPortIDTypeNetworkAddress is an octet string representation of a particular network family and address.
InterfaceNamePortIDTypeInterfaceName is ifName (IETF RFC 2863)
AgentCircuitIDPortIDTypeAgentCircuitID is the agent circuit ID (IETF RFC 3046)
LocalPortIDTypeLocal is an alphanumeric string that and is locally assigned

PrefixEntry ​

Appears in:

FieldDescriptionDefaultValidation
sequence integerThe sequence number of the Prefix entry.Minimum: 1
Required: {}
prefix IPPrefixIP prefix. Can be IPv4 or IPv6.
Use 0.0.0.0/0 (::/0) to represent 'any'.
Format: cidr
Type: string
Required: {}
maskLengthRange MaskLengthRangeOptional mask length range for the prefix.
If not specified, only the exact prefix length is matched.
Optional: {}

PrefixSet ​

PrefixSet is the Schema for the prefixsets API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringPrefixSet
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec PrefixSetSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status PrefixSetStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

PrefixSetMatchCondition ​

PrefixSetMatchCondition defines the condition for matching against a PrefixSet.

Appears in:

FieldDescriptionDefaultValidation
prefixSetRef LocalObjectReferencePrefixSetRef references a PrefixSet in the same namespace.
The PrefixSet must exist and belong to the same device.
Required: {}

PrefixSetSpec ​

PrefixSetSpec defines the desired state of PrefixSet

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the PrefixSet to its provider-specific configuration.
Optional: {}
name stringName is the name of the PrefixSet.
Immutable.
MaxLength: 32
MinLength: 1
Required: {}
entries PrefixEntry arrayA list of entries to apply.
The address families (IPv4, IPv6) of all prefixes in the list must match.
MaxItems: 100
MinItems: 1
Required: {}

PrefixSetStatus ​

PrefixSetStatus defines the observed state of PrefixSet.

Appears in:

FieldDescriptionDefaultValidation
entriesSummary stringEntriesSummary provides a human-readable summary of the number of prefix entries.Optional: {}
conditions Condition arrayThe conditions are a list of status objects that describe the state of the PrefixSet.Optional: {}

Probe ​

Probe is the Schema for the probes API.

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringProbe
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ProbeSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status ProbeStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

ProbeSpec ​

ProbeSpec defines the desired state of Probe.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceRef is a reference to the Device this probe targets.
The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this probe.
This reference is used to link the Probe to its provider-specific configuration.
Optional: {}
schedule stringSchedule is an optional cron expression (e.g., "*/5 * * * *").
If omitted, the controller performs a one-shot probe execution only once
for the Probe resource; it does not re-execute on subsequent reconciliations.
If set, the controller executes the probe periodically according to the schedule.
Optional: {}
type ProbeTypeType selects which probe assertion to execute.Enum: [Ping MACTableEntry RoutePresence VTEPPeerConnectivity]
Required: {}
ping PingProbePing configures an ICMP echo probe.
Required when type is Ping, must be omitted otherwise.
Optional: {}
macTableEntry MACTableEntryProbeMACTableEntry configures a MAC address table lookup probe.
Required when type is MACTableEntry, must be omitted otherwise.
Optional: {}
routePresence RoutePresenceProbeRoutePresence configures a routing table prefix lookup probe.
Required when type is RoutePresence, must be omitted otherwise.
Optional: {}
vtepPeerConnectivity VTEPPeerConnectivityProbeVTEPPeerConnectivity configures a VTEP peer connectivity probe.
Required when type is VTEPPeerConnectivity, must be omitted otherwise.
Optional: {}

ProbeStatus ​

ProbeStatus defines the observed state of Probe.

Appears in:

FieldDescriptionDefaultValidation
lastRunTime TimeLastRunTime is the timestamp of the most recent probe execution,
regardless of outcome.
Optional: {}
nextRunTime TimeNextRunTime is the next time at which the controller intends to
execute the probe. Only set when Schedule is configured.
Optional: {}
ping PingProbeResultPing contains the result of the last Ping probe execution.
Only set when the probe type is Ping.
Optional: {}
conditions Condition arrayConditions represent the current state of the Probe resource.
The Ready condition indicates whether the probe assertion passed (True) or failed (False).
Optional: {}

ProbeType ​

Underlying type: string

ProbeType selects which assertion a Probe executes.

Validation:

  • Enum: [Ping MACTableEntry RoutePresence VTEPPeerConnectivity]

Appears in:

FieldDescription
PingProbeTypePing sends ICMP echo requests from the device to a target address.
MACTableEntryProbeTypeMACTableEntry asserts that a specific MAC address exists in the device's MAC table.
RoutePresenceProbeTypeRoutePresence asserts that an IP prefix exists in a routing table.
VTEPPeerConnectivityProbeTypeVTEPPeerConnectivity asserts that expected remote VTEP peers are present and up.

Protocol ​

Underlying type: string

Protocol represents the protocol type for an ACL entry.

Validation:

  • Enum: [ICMP IP OSPF PIM TCP UDP]

Appears in:

FieldDescription
ICMP
IP
OSPF
PIM
TCP
UDP

Provisioning ​

Provisioning defines the configuration for device bootstrap.

Appears in:

FieldDescriptionDefaultValidation
image ImageImage defines the image to be used for provisioning the device.Required: {}
bootScript TemplateSourceBootScript defines the script delivered by a TFTP server to the device during bootstrapping.Optional: {}

ProvisioningInfo ​

Appears in:

FieldDescriptionDefaultValidation
startTime Time
token string
endTime TimeOptional: {}
reboot TimeOptional: {}
error stringOptional: {}

RedundancyMode ​

Underlying type: string

RedundancyMode defines the forwarding model for a multi-homed Ethernet Segment.

Validation:

  • Enum: [AllActive SingleActive]

Appears in:

FieldDescription
AllActiveRedundancyModeAllActive enables all PE nodes in the segment to forward unicast
traffic simultaneously (RFC 7432 Section 14.1.2).
SingleActiveRedundancyModeSingleActive restricts forwarding to the elected Designated Forwarder
only (RFC 7432 Section 14.1.1).

RendezvousPoint ​

Appears in:

FieldDescriptionDefaultValidation
address stringAddress is the IPv4 address of the rendezvous point.Format: ipv4
Required: {}
multicastGroups IPPrefix arrayMulticastGroups defined the list of multicast IPv4 address ranges associated with the rendezvous point.
If not specified, the rendezvous point will be used for all multicast groups.
Format: cidr
Type: string
Optional: {}
anycastAddresses string arrayAnycastAddresses is a list of redundant anycast ipv4 addresses associated with the rendezvous point.items:Format: ipv4
Optional: {}

RouteDisposition ​

Underlying type: string

RouteDisposition defines the final disposition of a route.

Validation:

  • Enum: [AcceptRoute RejectRoute]

Appears in:

FieldDescription
AcceptRouteAcceptRoute permits the route and applies any configured actions.
RejectRouteRejectRoute denies the route immediately.

RoutePresenceProbe ​

RoutePresenceProbe asserts that an IP prefix exists in the device's routing table.

Appears in:

FieldDescriptionDefaultValidation
prefix IPPrefixPrefix is the IP prefix to check for (e.g., "10.100.0.0/16", "2001:db8::/32").Format: cidr
Type: string
Required: {}
vrf VRFSourceVRF selects the VRF routing table to check.
If omitted, the default/global routing table is checked.
Optional: {}

RouteTarget ​

Appears in:

FieldDescriptionDefaultValidation
value stringValue is the route target value, must have the format as VRFSpec.RouteDistinguisher. Validation via
admission webhook.
Required: {}
addressFamilies RouteTargetAF arrayAddressFamilies is the list of address families for the route target.Enum: [IPv4 IPv6 IPv4EVPN IPv6EVPN]
MinItems: 1
Required: {}
action RouteTargetActionAction defines whether the route target is imported, exported, or bothEnum: [Import Export Both]
Required: {}

RouteTargetAF ​

Underlying type: string

RouteTargetAF represents a supported address family value.

Validation:

  • Enum: [IPv4 IPv6 IPv4EVPN IPv6EVPN]

Appears in:

FieldDescription
IPv4
IPv6
IPv4EVPN
IPv6EVPN

RouteTargetAction ​

Underlying type: string

RouteTargetAction represents the action for a route target.

Validation:

  • Enum: [Import Export Both]

Appears in:

FieldDescription
Import
Export
Both

RoutingPolicy ​

RoutingPolicy is the Schema for the routingpolicies API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringRoutingPolicy
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec RoutingPolicySpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status RoutingPolicyStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

RoutingPolicySpec ​

RoutingPolicySpec defines the desired state of RoutingPolicy

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the RoutingPolicy to its provider-specific configuration.
Optional: {}
name stringName is the identifier of the RoutingPolicy on the device.
Immutable.
MaxLength: 63
MinLength: 1
Required: {}
statements PolicyStatement arrayA list of policy statements to apply.MaxItems: 100
MinItems: 1
Required: {}

RoutingPolicyStatus ​

RoutingPolicyStatus defines the observed state of RoutingPolicy.

Appears in:

FieldDescriptionDefaultValidation
statementsSummary stringStatementsSummary provides a human-readable summary of the number of policy statements.Optional: {}
conditions Condition arrayThe conditions are a list of status objects that describe the state of the RoutingPolicy.Optional: {}

SNMP ​

SNMP is the Schema for the snmp API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringSNMP
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SNMPSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status SNMPStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

SNMPCommunity ​

Appears in:

FieldDescriptionDefaultValidation
name stringName of the community.MaxLength: 63
MinLength: 1
Required: {}
group stringGroup to which the community belongs.MaxLength: 63
MinLength: 1
Optional: {}
aclName stringACL name to filter SNMP requests.MaxLength: 63
MinLength: 1
Optional: {}

SNMPHosts ​

Appears in:

FieldDescriptionDefaultValidation
address stringThe Hostname or IP address of the SNMP host to send notifications to.MaxLength: 63
MinLength: 1
Required: {}
type stringType of message to send to host. Default is traps.TrapsEnum: [Traps Informs]
Optional: {}
version stringSNMP version. Default is v2c.v2cEnum: [v1 v2c v3]
Optional: {}
community stringSNMP community or user name.MaxLength: 63
MinLength: 1
Optional: {}
vrfName stringThe name of the vrf instance to use to source traffic.MaxLength: 63
MinLength: 1
Optional: {}

SNMPSpec ​

SNMPSpec defines the desired state of SNMP

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the SNMP to its provider-specific configuration.
Optional: {}
contact stringThe contact information for the SNMP server.MaxLength: 63
MinLength: 1
Optional: {}
location stringThe location information for the SNMP server.MaxLength: 63
MinLength: 1
Optional: {}
sourceInterfaceName stringThe name of the interface to be used for sending out SNMP Trap/Inform notifications.MaxLength: 63
MinLength: 1
Required: {}
communities SNMPCommunity arraySNMP communities for SNMPv1 or SNMPv2c.MaxItems: 16
MinItems: 1
Optional: {}
hosts SNMPHosts arraySNMP destination hosts for SNMP traps or informs messages.MaxItems: 16
MinItems: 1
Required: {}
traps string arrayThe list of trap notifications to enable.MinItems: 1
Optional: {}
enforceEncryption booleanEnforceEncryption enforces SNMP message encryption for all users.Optional: {}

SNMPStatus ​

SNMPStatus defines the observed state of SNMP.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the SNMP.Optional: {}

SSH ​

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnable or disable the SSH server on the device.
If not specified, the SSH server is enabled by default.
trueOptional: {}
timeout DurationThe timeout duration for SSH sessions.
If not specified, the default timeout is 10 minutes.
10mType: string
Optional: {}
sessionLimit integerThe maximum number of concurrent SSH sessions allowed.
If not specified, the default limit is 32.
32ExclusiveMaximum: false
Maximum: 64
Minimum: 1
Optional: {}

SSHPublicKeySource ​

SSHPublicKeySource represents a source for the value of an SSH public key.

Appears in:

FieldDescriptionDefaultValidation
secretKeyRef SecretKeySelectorSelects a key of a secret.Required: {}

SecretKeySelector ​

SecretKeySelector contains enough information to select a key of a Secret.

Appears in:

FieldDescriptionDefaultValidation
name stringName is unique within a namespace to reference a secret resource.MaxLength: 253
MinLength: 1
Required: {}
namespace stringNamespace defines the space within which the secret name must be unique.
If omitted, the namespace of the object being reconciled will be used.
MaxLength: 63
MinLength: 1
Optional: {}
key stringKey is the of the entry in the secret resource's data or stringData
field to be used.
MaxLength: 253
MinLength: 1
Required: {}

SecretReference ​

SecretReference represents a Secret Reference. It has enough information to retrieve a Secret in any namespace.

Appears in:

FieldDescriptionDefaultValidation
name stringName is unique within a namespace to reference a secret resource.MaxLength: 253
MinLength: 1
Required: {}
namespace stringNamespace defines the space within which the secret name must be unique.
If omitted, the namespace of the object being reconciled will be used.
MaxLength: 63
MinLength: 1
Optional: {}

SetASPathAction ​

SetASPathAction defines actions to modify the BGP AS path attribute.

Appears in:

FieldDescriptionDefaultValidation
prepend SetASPathPrependPrepend configures prepending to the AS path.Optional: {}
replace SetASPathReplaceReplace configures replacement of AS numbers in the AS path.Optional: {}
asNumber IntOrStringASNumber sets the AS path to the specified AS number.
Supports both plain format (1-4294967295) and dotted notation (0-65535.0-65535) as per RFC 5396.
Optional: {}

SetASPathPrepend ​

SetASPathPrepend configures prepending to the BGP AS path. Either asNumber or useLastAS must be specified, but not both.

Appears in:

FieldDescriptionDefaultValidation
asNumber IntOrStringASNumber is the autonomous system number to prepend to the AS path.
Supports both plain format (1-4294967295) and dotted notation (0-65535.0-65535) as per RFC 5396.
Optional: {}
useLastAS integerUseLastAS prepends the last AS number in the existing AS path the specified number of times.Maximum: 10
Minimum: 1
Optional: {}

SetASPathReplace ​

SetASPathReplace configures replacement of AS numbers in the BGP AS path. Either privateAS or asNumber must be specified, but not both.

Appears in:

FieldDescriptionDefaultValidation
privateAS booleanPrivateAS, when set to true, targets all private AS numbers in the path for replacement.Optional: {}
asNumber IntOrStringASNumber targets a specific AS number in the path for replacement.
Supports both plain format (1-4294967295) and dotted notation (0-65535.0-65535) as per RFC 5396.
Optional: {}
replacement IntOrStringReplacement is the AS number to substitute in place of matched AS numbers.
Supports both plain format (1-4294967295) and dotted notation (0-65535.0-65535) as per RFC 5396.
Required: {}

SetCommunityAction ​

SetCommunityAction defines the action to set BGP standard communities.

Appears in:

FieldDescriptionDefaultValidation
communities string arrayCommunities is the list of BGP standard communities to set.
The communities must be in the format defined by [RFC 1997].
[RFC 1997]: https://datatracker.ietf.org/doc/html/rfc1997
MinItems: 1
Required: {}
operation CommunityOperationOperation controls whether attributes are added (Add) to the communities or
if the communities attributes are replaced (Replace).
ReplaceEnum: [Add Replace]
Optional: {}

SetExtCommunityAction ​

SetExtCommunityAction defines the action to set BGP extended communities.

Appears in:

FieldDescriptionDefaultValidation
communities string arrayCommunities is the list of BGP extended communities to set.
The communities must be in the format defined by [RFC 4360].
[RFC 4360]: https://datatracker.ietf.org/doc/html/rfc4360
MinItems: 1
Required: {}
operation CommunityOperationOperation controls whether the communities are added to the route's existing
communities (Add) or replace them (Replace).
ReplaceEnum: [Add Replace]
Optional: {}

Severity ​

Underlying type: string

Severity represents the severity level of a log message.

Validation:

  • Enum: [Debug Info Notice Warning Error Critical Alert Emergency]

Appears in:

FieldDescription
Debug
Info
Notice
Warning
Error
Critical
Alert
Emergency

StaticRoute ​

StaticRoute is the Schema for the staticroutes API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringStaticRoute
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec StaticRouteSpecspec defines the desired state of StaticRouteRequired: {}
status StaticRouteStatusstatus defines the observed state of StaticRouteOptional: {}

StaticRouteSpec ​

StaticRouteSpec defines the desired state of StaticRoute Static routes are used to define explicit paths for network traffic. They can be categorized into different types based on their characteristics and use cases: Directly Connected Routes: Only output interfaces are specified, and the next hop is directly reachable through those interfaces. Recursive Static Routes: In a recursive static route, only the next hop is specified. The output interface is derived from the next hop. Fully Specified Static Routes: Specifies both the output interfaces and the next hop, providing a complete path for the traffic. Floating Static Routes: These routes have a higher administrative distance than dynamic routes, allowing them to serve as backup routes that are only used when the primary route is unavailable.

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this StaticRoute.
This reference is used to link the StaticRoute to its provider-specific configuration.
Optional: {}
vrfRef LocalObjectReferenceVrfRef is a reference to the VRF resource that this static route belongs to.
If not specified, the static route will be part of the default VRF.
The referenced VRF must exist in the same namespace.
Optional: {}
prefix IPPrefixIPPrefix is the destination IP prefix for the static route.
Immutable.
Format: cidr
Type: string
Required: {}
nextHops NextHop arrayNextHops is a list of next hop objects for the prefix.MinItems: 1
Required: {}

StaticRouteStatus ​

StaticRouteStatus defines the observed state of StaticRoute.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the StaticRoute.Optional: {}

Switchport ​

Switchport defines the switchport configuration for an interface.

Appears in:

FieldDescriptionDefaultValidation
mode SwitchportModeMode defines the switchport mode, such as access or trunk.Enum: [Access Trunk]
Required: {}
accessVlan integerAccessVlan specifies the VLAN ID for access mode switchports.
Only applicable when Mode is set to "Access".
Maximum: 4094
Minimum: 1
Optional: {}
nativeVlan integerNativeVlan specifies the native VLAN ID for trunk mode switchports.
Only applicable when Mode is set to "Trunk".
Maximum: 4094
Minimum: 1
Optional: {}
allowedVlansMode AllowedVlansModeAllowedVlansMode defines how trunk allowed VLANs are managed.
When omitted, the mode is Exact.
Exact means the operator owns the complete allowed VLAN list.
Unmanaged means the operator does not change the allowed VLAN list.
Only applicable when Mode is set to "Trunk".
ExactEnum: [Exact Unmanaged]
Optional: {}
allowedVlans IndexRange arrayAllowedVlans is the exact list of VLAN ID ranges allowed on the trunk port.
Each entry is an inclusive range string like "100..200". For compatibility,
a single integer like 100 is also accepted and treated as "100..100".
If not specified and AllowedVlansMode is Exact, all VLANs (1-4094) are allowed.
Must be omitted when AllowedVlansMode is Unmanaged.
Only applicable when Mode is set to "Trunk".
MinItems: 1
Pattern: ^[0-9]+(\.\.[0-9]+)?$
Type: string
XIntOrString: {}
Optional: {}

SwitchportMode ​

Underlying type: string

SwitchportMode represents the switchport mode of an interface.

Validation:

  • Enum: [Access Trunk]

Appears in:

FieldDescription
AccessSwitchportModeAccess indicates that the switchport is in access mode.
TrunkSwitchportModeTrunk indicates that the switchport is in trunk mode.

Syslog ​

Syslog is the Schema for the syslogs API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringSyslog
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SyslogSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status SyslogStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

SyslogSpec ​

SyslogSpec defines the desired state of Syslog

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the Syslog to its provider-specific configuration.
Optional: {}
servers LogServer arrayServers is a list of remote log servers to which the device will send logs.MaxItems: 16
MinItems: 1
Required: {}
facilities LogFacility arrayFacilities is a list of log facilities to configure on the device.MaxItems: 64
MinItems: 1
Required: {}

SyslogStatus ​

SyslogStatus defines the observed state of Syslog.

Appears in:

FieldDescriptionDefaultValidation
serversSummary stringServersSummary provides a human-readable summary of the number of log servers.Optional: {}
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Banner.Optional: {}

TLS ​

Appears in:

FieldDescriptionDefaultValidation
ca SecretKeySelectorThe CA certificate to verify the server's identity.Required: {}
certificate CertificateSourceThe client certificate and private key to use for mutual TLS authentication.
Leave empty if mTLS is not desired.
Optional: {}

TemplateSource ​

TemplateSource defines a source for template content. It can be provided inline, or as a reference to a Secret or ConfigMap.

Appears in:

FieldDescriptionDefaultValidation
inline stringInline template contentMinLength: 1
Optional: {}
secretRef SecretKeySelectorReference to a Secret containing the templateOptional: {}
configMapRef ConfigMapKeySelectorReference to a ConfigMap containing the templateOptional: {}

TypedLocalObjectReference ​

TypedLocalObjectReference contains enough information to locate a typed referenced object inside the same namespace.

Appears in:

FieldDescriptionDefaultValidation
kind stringKind of the resource being referenced.
Kind must consist of alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character.
MaxLength: 63
MinLength: 1
Pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
Required: {}
name stringName of the resource being referenced.
Name must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
MaxLength: 253
MinLength: 1
Pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Required: {}
apiVersion stringAPIVersion is the api group version of the resource being referenced.MaxLength: 253
MinLength: 1
Pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/)?([a-z0-9]([-a-z0-9]*[a-z0-9])?)$
Required: {}

User ​

User is the Schema for the users API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringUser
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec UserSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status UserStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

UserRole ​

UserRole represents a role that can be assigned to a user.

Appears in:

FieldDescriptionDefaultValidation
name stringThe name of the role.MaxLength: 63
MinLength: 1
Required: {}

UserSpec ​

UserSpec defines the desired state of User

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the User to its provider-specific configuration.
Optional: {}
username stringAssigned username for this user.
Immutable.
MaxLength: 63
MinLength: 1
Required: {}
password PasswordSourceThe user password, supplied in cleartext.Required: {}
roles UserRole arrayRole which the user is to be assigned to.MaxItems: 64
MinItems: 1
Required: {}
sshPublicKey SSHPublicKeySourceSSH public key for this user.Optional: {}

UserStatus ​

UserStatus defines the observed state of User.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the User.Optional: {}

VLAN ​

VLAN is the Schema for the vlans API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringVLAN
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec VLANSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status VLANStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

VLANSource ​

VLANSource identifies a VLAN either by literal ID or by reference to a managed VLAN resource. Exactly one of ID or VLANRef must be specified.

Appears in:

FieldDescriptionDefaultValidation
id integerID is the literal VLAN ID on the device (1-4094).
Use this for VLANs that are not managed as VLAN resources.
Maximum: 4094
Minimum: 1
Optional: {}
vlanRef LocalObjectReferenceVLANRef references a managed VLAN resource in the same namespace.
The controller resolves the VLAN ID from this resource.
Optional: {}

VLANSpec ​

VLANSpec defines the desired state of VLAN

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this vlan.
This reference is used to link the VLAN to its provider-specific configuration.
Optional: {}
id integerID is the VLAN ID. Valid values are between 1 and 4095.
Immutable.
Maximum: 4095
Minimum: 1
Required: {}
name stringName is the name of the VLAN.MaxLength: 128
MinLength: 1
Pattern: ^[^\s]+$
Optional: {}
adminState AdminStateAdminState indicates whether the VLAN is administratively active or inactive/suspended.UpEnum: [Up Down]
Optional: {}

VLANStatus ​

VLANStatus defines the observed state of VLAN.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the VLAN.Optional: {}
routedBy LocalObjectReferenceRoutedBy references the interface that provides Layer 3 routing for this VLAN, if any.
This field is set when an Interface of type RoutedVLAN references this VLAN.
Optional: {}
bridgedBy LocalObjectReferenceBridgedBy references the EVPNInstance that provides a L2VNI for this VLAN, if any.
This field is set when an EVPNInstance of type Bridged references this VLAN.
Optional: {}

VRF ​

VRF is the Schema for the vrfs API

FieldDescriptionDefaultValidation
apiVersion stringnetworking.metal.ironcore.dev/v1alpha1
kind stringVRF
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec VRFSpecspec defines the desired state of VRF
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status VRFStatusstatus of the resource. This is set and updated automatically.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

VRFSource ​

VRFSource identifies a VRF/NetworkIntance either by literal name or by reference to a managed VRF resource. Exactly one of Name or VRFRef must be specified.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the literal VRF name on the device (e.g., "management", "default").
Use this for VRFs that are not managed as VRF resources.
MaxLength: 63
MinLength: 1
Optional: {}
vrfRef LocalObjectReferenceVRFRef references a managed VRF resource in the same namespace.
The controller resolves the device VRF name from this resource.
Optional: {}

VRFSpec ​

VRFSpec defines the desired state of VRF

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
providerConfigRef TypedLocalObjectReferenceProviderConfigRef is a reference to a resource holding the provider-specific configuration of this interface.
This reference is used to link the VRF to its provider-specific configuration.
Optional: {}
name stringName is the name of the VRF.
Immutable.
MaxLength: 32
MinLength: 1
Required: {}
description stringDescription provides a human-readable description of the VRF.MaxLength: 255
MinLength: 1
Optional: {}
vni integerVNI is the VXLAN Network Identifier for the VRF (always an L3).
Deprecated: Use the VNI field on the EVPNInstance resource instead. This field will be removed in a future release.
Maximum: 1.6777215e+07
Minimum: 1
Optional: {}
routeDistinguisher stringRouteDistinguisher is the route distinguisher for the VRF.
Set to "Auto" for automatic derivation (equivalent to "rd auto").
Formats supported:
- "Auto" (automatic derivation)
- Type 0: ASN(0-65535):Number(0-4294967295)
- Type 1: IPv4:Number(0-65535)
- Type 2: ASN(65536-4294967295):Number(0-65535)
Validation via admission webhook for the VRF type.
Optional: {}
routeTargets RouteTarget arrayRouteTargets is the list of route targets for the VRF.Optional: {}

VRFStatus ​

VRFStatus defines the observed state of VRF.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the VRF.Optional: {}

VTEPPeerConnectivityProbe ​

VTEPPeerConnectivityProbe asserts that expected remote VTEP peers are present and operationally up.

Appears in:

FieldDescriptionDefaultValidation
expectedPeers string arrayExpectedPeers lists remote VTEP IP addresses that must be present and up on the device.MaxItems: 256
MinItems: 1
Required: {}

nx.cisco.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the nx.cisco.networking.metal.ironcore.dev v1alpha1 API group.

Resource Types ​

AAAConfig ​

AAAConfig is the Schema for the aaaconfigs API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringAAAConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AAAConfigSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}

AAAConfigSpec ​

AAAConfigSpec defines the desired state of AAAConfig

Appears in:

FieldDescriptionDefaultValidation
loginErrorEnable booleanLoginErrorEnable enables login error messages.Optional: {}
keyEncryption TACACSKeyEncryptionKeyEncryption specifies the default encryption type for TACACS+ keys.Type7Enum: [Type6 Type7 Clear]
radiusKeyEncryption RADIUSKeyEncryptionRADIUSKeyEncryption specifies the default encryption type for RADIUS server keys.Type7Enum: [Type6 Type7 Clear]

AutoRecovery ​

AutoRecovery holds settings to automatically restore vPC domain's operation after detecting that the peer is no longer reachable via the keepalive link.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether auto-recovery is enabled.
When enabled, the switch will wait for ReloadDelay seconds after peer failure
before assuming the peer is dead and restoring the vPC's domain functionality.
Required: {}
reloadDelay integerReloadDelay is the time in seconds (60-3600) to wait before assuming the peer is dead
and automatically attempting to restore the communication with the peer.
240Maximum: 3600
Minimum: 60
Optional: {}

BGPConfig ​

BGPConfig is the Schema for the bgpconfigs API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringBGPConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec BGPConfigSpecspec defines the desired state of BGPConfigRequired: {}

BGPConfigAddressFamilies ​

BGPConfigAddressFamilies defines the Cisco NX-OS specific configuration for supported BGP address families.

Appears in:

FieldDescriptionDefaultValidation
l2vpnEvpn BGPL2vpnEvpnL2vpnEvpn configures L2VPN EVPN address family support.Optional: {}
ipv4Unicast BGPConfigUnicastAddressFamilyIpv4Unicast configures specific IPv4 unicast address family settings.Optional: {}
ipv6Unicast BGPConfigUnicastAddressFamilyIpv6Unicast configures specific IPv6 unicast address family settings.Optional: {}

BGPConfigSpec ​

BGPConfigSpec defines the Cisco NX-OS specific BGP configuration.

Appears in:

FieldDescriptionDefaultValidation
addressFamilies BGPConfigAddressFamiliesAddressFamilies configures supported BGP address families and their Cisco NX-OS specific settings.Optional: {}

BGPConfigUnicastAddressFamily ​

BGPConfigUnicastAddressFamily defines specific configuration shared across unicast BGP address families.

Appears in:

FieldDescriptionDefaultValidation
exportGatewayIP booleanExportGatewayIP enables advertising the gateway IP in EVPN Type-5 routes,
required for symmetric IRB in VXLAN BGP EVPN topologies.
Optional: {}
advertiseL2vpnEvpn booleanAdvertiseL2vpnEvpn enables advertising EVPN routes within the VRF
unicast address family. Required on border gateway nodes for cross-site
EVPN Type-5 IP prefix route advertisement.
Optional: {}

BGPL2vpnEvpn ​

BGPL2vpnEvpn defines the configuration for L2VPN EVPN address family.

Appears in:

FieldDescriptionDefaultValidation
advertisePIP booleanAdvertisePIP controls whether the BGP EVPN address-family should advertise the primary IP address (PIP) as the next-hop
when advertising prefix routes or loopback interface routes in BGP on vPC enabled leaf or border leaf switches.
falseOptional: {}

BGPPeerReference ​

BGPPeerReference defines a BGP peer used for border gateway with peer type configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
MaxLength: 63
MinLength: 1
Required: {}
peerType BGPPeerTypePeerType specifies the role of this BGP peer in the EVPN multisite topology.
FabricExternal is used for peers outside the fabric, while FabricBorderLeaf is used
for border leaf peers within the fabric.
Enum: [FabricExternal FabricBorderLeaf]
Required: {}

BGPPeerType ​

Underlying type: string

BGPPeerType defines the peer type for border gateway BGP peers.

Validation:

  • Enum: [FabricExternal FabricBorderLeaf]

Appears in:

FieldDescription
FabricExternalBGPPeerTypeFabricExternal represents a BGP peer outside the fabric.
Used for external peers in EVPN multisite configurations.
FabricBorderLeafBGPPeerTypeFabricBorderLeaf represents a BGP peer that is a border leaf within the fabric.
Used for border leaf peers in EVPN multisite configurations.

BorderGateway ​

BorderGateway is the Schema for the bordergateways API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringBorderGateway
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec BorderGatewaySpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status BorderGatewayStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

BorderGatewaySpec ​

BorderGatewaySpec defines the desired state of BorderGateway

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
adminState AdminStateAdminState indicates whether the BorderGateway instance is administratively up or down.UpEnum: [Up Down]
Optional: {}
multisiteId integerMultisiteID is the identifier for the multisite border gateway.ExclusiveMaximum: false
Maximum: 2.81474976710655e+14
Minimum: 1
Required: {}
sourceInterfaceRef LocalObjectReferenceSourceInterfaceRef is a reference to the loopback interface used as the source for the
border gateway virtual IP address. A best practice is to use a separate loopback address
for the NVE source interface and multi-site source interface. The loopback interface must
be configured with a /32 IPv4 address. This /32 IP address needs be known by the transient
devices in the transport network and the remote VTEPs.
Required: {}
delayRestoreTime DurationDelayRestoreTime specifies the time to wait before restoring EVPN multisite border gateway
functionality after a failure. This allows time for the network to stabilize before resuming
traffic forwarding across sites.
180sPattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
Optional: {}
interconnectInterfaceRefs InterconnectInterfaceReference arrayInterconnectInterfaceRefs is a list of interfaces that provide connectivity to the border gateway.
Each interface can be configured with object tracking to monitor its availability.
MinItems: 1
Optional: {}
bgpPeerRefs BGPPeerReference arrayBGPPeerRefs is a list of BGP peers that are part of the border gateway configuration.
Each peer can be configured with a peer type to specify its role in the EVPN multisite topology.
MinItems: 1
Optional: {}
stormControl StormControl arrayStormControl is the storm control configuration for the border gateway, allowing to rate-limit
BUM (Broadcast, Unknown unicast, Multicast) traffic on the border gateway interface.
MinItems: 1
Optional: {}

BorderGatewayStatus ​

BorderGatewayStatus defines the observed state of BorderGateway.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Banner.Optional: {}

BufferBoost ​

BufferBoost defines the buffer boost configuration for an interface.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether buffer boost is enabled on the interface.
Maps to CLI command: hardware profile buffer boost
Required: {}

Console ​

Console defines the configuration for the terminal console access on the device.

Appears in:

FieldDescriptionDefaultValidation
timeout DurationTimeout defines the inactivity timeout for console sessions.
If a session is inactive for the specified duration, it will be automatically disconnected.
The format is a string representing a duration (e.g., "10m" for 10 minutes).
10mPattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
Optional: {}

DHCP ​

DHCP groups DHCP-related system settings. These require the dhcp feature, which the operator enables automatically when a setting here is active.

Appears in:

FieldDescriptionDefaultValidation
relayServerIdOverrideDisable booleanRelayServerIDOverrideDisable enables the global command
"ip dhcp relay information option server-id-override-disable".
It prevents the DHCP relay agent from overriding the Server-ID (Option 54) in
relayed requests, which otherwise causes DHCP servers to drop the request.
Disabled by default. Enabling it activates the dhcp feature automatically.
falseOptional: {}

EVPNInstanceConfig ​

EVPNInstanceConfig is the Schema for the evpninstanceconfigs API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringEVPNInstanceConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EVPNInstanceConfigSpecspec defines the desired state of the EVPNInstanceConfigRequired: {}

EVPNInstanceConfigSpec ​

EVPNInstanceConfigSpec defines the Cisco NX-OS-specific configuration of an EVPNInstance.

Appears in:

FieldDescriptionDefaultValidation
multisiteIngressReplication MultisiteIngReplModeMultisiteIngressReplication controls per-VNI multisite ingress replication.
When enabled, BUM traffic for this VNI is replicated to remote VTEP peers
in the multisite domain via ingress replication.
Typically used on Border Gateway (BGW) nodes.
DisabledEnum: [Disabled Enabled EnabledOptimized]
Optional: {}

EVPNMultihoming ​

EVPNMultihoming defines EVPN ESI multihoming settings for an interface.

Appears in:

FieldDescriptionDefaultValidation
coreTracking booleanCoreTracking enables core-link tracking on the interface.
When enabled on uplink (core) interfaces, the switch shuts down
ESI-attached access links if all tracked core-links go down,
preventing traffic blackholing.
Required: {}

Enabled ​

Enabled represents a simple enabled/disabled configuration.

Appears in:

FieldDescriptionDefaultValidation
enabled booleanEnabled indicates whether a configuration property is administratively enabled (true) or disabled (false).Required: {}

EthernetSegmentConfig ​

EthernetSegmentConfig is the Schema for the ethernetsegmentconfigs API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringEthernetSegmentConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EthernetSegmentConfigSpecspec defines the desired state of the EthernetSegmentConfigRequired: {}

EthernetSegmentConfigSpec ​

EthernetSegmentConfigSpec defines the Cisco NX-OS-specific configuration of an EthernetSegment.

Appears in:

FieldDescriptionDefaultValidation
frrAnycastSourceIP stringFRRAnycastSourceIP sets the EVPN ES fast-reroute anycast source IP
(evpn esi multihoming / frr-anycast-src-ip). It is applied to the device-global
EVPN multihoming configuration. Omit to leave it unmanaged.
Format: ip
Optional: {}

InterconnectInterfaceReference ​

InterconnectInterfaceReference defines an interface used for border gateway interconnectivity with optional object tracking configuration.

Appears in:

FieldDescriptionDefaultValidation
name stringName of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
MaxLength: 63
MinLength: 1
Required: {}
tracking InterconnectTrackingTypeTracking specifies the EVPN multisite tracking mode for this interconnect interface.Enum: [DataCenterInterconnect Fabric]
Required: {}

InterconnectTrackingType ​

Underlying type: string

InterconnectTrackingType defines the tracking mode for border gateway interconnect interfaces.

Validation:

  • Enum: [DataCenterInterconnect Fabric]

Appears in:

FieldDescription
DataCenterInterconnectInterconnectTrackingTypeDCI represents Data Center Interconnect tracking mode.
Used for interfaces connecting to remote data centers.
FabricInterconnectTrackingTypeFabric represents Fabric tracking mode.
Used for interfaces connecting to the local fabric.

InterfaceConfig ​

InterfaceConfig is the Schema for the interfaceconfigs API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringInterfaceConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec InterfaceConfigSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}

InterfaceConfigIPv6 ​

InterfaceConfigIPv6 defines IPv6 settings for an interface.

Appears in:

FieldDescriptionDefaultValidation
suppressRouterAdvertisement booleanSuppressRouterAdvertisement stops the interface from sending IPv6 Router
Advertisements. NX-OS sends them by default. Neighbours that discover
each other over their link-local addresses, such as unnumbered BGP peers,
depend on them, so this must stay disabled for such interfaces.
Only applied to interfaces that carry IPv6 configuration.
Maps to CLI command: ipv6 nd suppress-ra
falseOptional: {}
routerAdvertisementInterval DurationRouterAdvertisementInterval is the maximum interval between periodic
IPv6 Router Advertisements, between 4s and 30m in whole seconds. The
minimum interval is derived from it the way NX-OS does for the CLI
command: a third of this value, but no less than 3s.
Unnumbered BGP peers only discover each other once an advertisement is
received, so a short interval speeds up session establishment.
If not specified, the interface is reset to the NX-OS default of 600s.
Maps to CLI command: ipv6 nd ra-interval
Pattern: ^([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
Type: string
Optional: {}

InterfaceConfigLACP ​

InterfaceConfigLACP defines LACP options for PortChannel interfaces.

Appears in:

FieldDescriptionDefaultValidation
vpcConvergence booleanVPCConvergence enables faster LACP convergence in a vPC topology.Optional: {}
suspendIndividual booleanSuspendIndividual controls whether a member port is suspended when
LACP PDUs are not received. Set to false to keep the port forwarding.
Optional: {}

InterfaceConfigSpec ​

InterfaceConfigSpec defines the desired state of InterfaceConfig

Appears in:

FieldDescriptionDefaultValidation
spanningTree SpanningTreeSpanningTree defines the spanning tree configuration for the interface.Optional: {}
bufferBoost BufferBoostBufferBoost defines the buffer boost configuration for the interface.
Buffer boost increases the shared buffer space allocation for the interface.
Optional: {}
lacp InterfaceConfigLACPLACP defines LACP options for PortChannel (Aggregate) interfaces.Optional: {}
evpnMultihoming EVPNMultihomingEVPNMultihoming defines EVPN ESI multihoming settings for the interface.Optional: {}
ipv6 InterfaceConfigIPv6IPv6 defines IPv6 settings for the interface that have no equivalent in
the core Interface API. Neighbor Discovery is managed on every interface
that carries IPv6 configuration: settings left out here, and every setting
of an interface without this field, are reset to the platform default.
Optional: {}

KeepAlive ​

KeepAlive defines the vPCDomain keepalive link configuration. The keep-alive is an out-of-band connection (often over mgmt0) used to monitor peer health. It does not carry data traffic.

Appears in:

FieldDescriptionDefaultValidation
destination stringDestination is the destination IP address of the vPC's domain peer keepalive interface.
This is the IP address the local switch will send keepalive messages to.
Format: ipv4
Required: {}
source stringSource is the source IP address for keepalive messages.
This is the local IP address used to send keepalive packets to the peer.
Format: ipv4
Required: {}
vrfName stringThe name of the vrf used to send keepalive packets to the peer.
Mutually exclusive with VrfRef.
MaxLength: 63
MinLength: 1
Optional: {}
vrfRef LocalObjectReferenceThe reference to a VRF resource used to send keepalive packets to the peer.
Mutually exclusive with VrfName.
Optional: {}

LLDPConfig ​

LLDPConfig is the Schema for the LLDPConfig API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringLLDPConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec LLDPConfigSpecspec defines the desired state of LLDPRequired: {}

LLDPConfigSpec ​

LLDPConfigSpec defines the Cisco NX-OS specific LLDP configuration.

Appears in:

FieldDescriptionDefaultValidation
initDelay integerInitDelay defines the delay in seconds before LLDP starts sending packets after interface comes up.2Maximum: 10
Minimum: 1
Optional: {}
holdTime integerHoldTime defines the time in seconds that the receiving device should hold the LLDP information before discarding it.120Maximum: 255
Minimum: 1
Optional: {}

ManagementAccessConfig ​

ManagementAccessConfig is the Schema for the managementaccessconfigs API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringManagementAccessConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ManagementAccessConfigSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}

ManagementAccessConfigSpec ​

ManagementAccessConfigSpec defines the desired state of ManagementAccessConfig

Appears in:

FieldDescriptionDefaultValidation
console ConsoleConsole defines the configuration for the terminal console access on the device.{ timeout:10m }Optional: {}
ssh SSHSSH defines the SSH server configuration for the VTY terminal access on the device.Optional: {}

MultisiteIngReplMode ​

Underlying type: string

MultisiteIngReplMode defines the per-VNI multisite ingress-replication mode.

Validation:

  • Enum: [Disabled Enabled EnabledOptimized]

Appears in:

FieldDescription
DisabledMultisiteIngReplDisabled disables multisite ingress replication (default).
EnabledMultisiteIngReplEnabled enables multisite ingress replication.
EnabledOptimizedMultisiteIngReplEnabledOptimized enables optimized multisite ingress replication.

NetworkVirtualizationEdgeConfig ​

NetworkVirtualizationEdgeConfig is the Schema for the NetworkVirtualizationEdgeConfig API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringNetworkVirtualizationEdgeConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NetworkVirtualizationEdgeConfigSpecspec defines the desired state of NVERequired: {}

NetworkVirtualizationEdgeConfigSpec ​

NetworkVirtualizationEdgeConfig defines the Cisco-specific configuration of a Network Virtualization Edge (NVE) object.

Appears in:

FieldDescriptionDefaultValidation
advertiseVirtualMAC booleanAdvertiseVirtualMAC controls if the NVE should advertise a virtual MAC addressfalseOptional: {}
holdDownTime integerHoldDownTime defines the duration for which the switch suppresses the advertisement of the NVE loopback address.180Maximum: 1500
Minimum: 1
Optional: {}
infraVLANs VLANListItem arrayInfraVLANs specifies VLANs used by all SVI interfaces for uplink and vPC peer-links in VXLAN as infra-VLANs.
Valid VLAN IDs are 1-4092 because NX-OS always reserves VLANs 4093-4095 for internal use.
The provider also checks these VLANs against the device's configurable internal reserved VLAN range.
The total number of VLANs configured must not exceed 512.
Elements in the list must not overlap with each other.
MaxItems: 10
Optional: {}

PIMConfig ​

PIMConfig is the Schema for the PIMConfig API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringPIMConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec PIMConfigSpecspec defines the desired state of PIMConfigRequired: {}

PIMConfigSpec ​

PIMConfigSpec defines the Cisco NX-OS specific PIM configuration.

Appears in:

FieldDescriptionDefaultValidation
logNeighborChanges booleanLogNeighborChanges enables logging when a PIM neighbor is added or removed.Optional: {}

Peer ​

Peer defines settings to configure peer settings

Appears in:

FieldDescriptionDefaultValidation
adminState AdminStateAdminState defines the administrative state of the peer-link.UpEnum: [Up Down]
Optional: {}
interfaceRef LocalObjectReferenceInterfaceRef is a reference to an Interface resource and identifies the interface to be used as the vPC domain's peer-link.
This interface carries control and data traffic between the two vPC domain peers.
It is usually dedicated port-channel, but it can also be a single physical interface.
Required: {}
keepalive KeepAliveKeepAlive defines the out-of-band keepalive configuration.Required: {}
autoRecovery AutoRecoveryAutoRecovery defines auto-recovery settings for restoring vPC domain after peer failure.Optional: {}
switch EnabledSwitch enables peer-switch functionality on this peer.
When enabled, both vPC domain peers use the same spanning-tree bridge ID, allowing both
to forward traffic for all VLANs without blocking any ports.
{ enabled:false }Optional: {}
gateway EnabledGateway enables peer-gateway functionality on this peer.
When enabled, each vPC domain peer can act as the active gateway for packets destined to the
peer's MAC address, improving convergence.
{ enabled:false }Optional: {}
l3router EnabledL3Router enables Layer 3 peer-router functionality on this peer.{ enabled:false }Optional: {}

RADIUSKeyEncryption ​

Underlying type: string

RADIUSKeyEncryption defines the encryption type for RADIUS server keys.

Validation:

  • Enum: [Type6 Type7 Clear]

Appears in:

FieldDescription
Type6RADIUSKeyEncryptionType6 uses AES encryption (more secure).
Type7RADIUSKeyEncryptionType7 uses Cisco Type 7 encryption (reversible).
ClearRADIUSKeyEncryptionClear sends the key in cleartext.

SSH ​

Appears in:

FieldDescriptionDefaultValidation
accessControlListName stringAccessControlListName defines the name of the access control list (ACL) to apply for incoming
SSH connections on the VTY terminal. The ACL must be configured separately on the device.
MaxLength: 63
MinLength: 1
Optional: {}

SpanningTree ​

SpanningTree defines the spanning tree configuration for an interface.

Appears in:

FieldDescriptionDefaultValidation
portType SpanningTreePortTypePortType defines the spanning tree port type.Enum: [Normal Edge Network Trunk]
Required: {}
bpduGuard booleanBPDUGuard enables BPDU guard on the interface.
When enabled, the port is shut down if a BPDU is received.
Optional: {}
bpduFilter booleanBPDUFilter enables BPDU filter on the interface.
When enabled, BPDUs are not sent or received on the port.
Optional: {}

SpanningTreePortType ​

Underlying type: string

SpanningTreePortType represents the spanning tree port type.

Validation:

  • Enum: [Normal Edge Network Trunk]

Appears in:

FieldDescription
NormalSpanningTreePortTypeNormal indicates a normal spanning tree port.
EdgeSpanningTreePortTypeEdge indicates an edge port (connects to end devices).
TrunkSpanningTreePortTypeTrunk indicates a trunk port performing spanning tree calculations for multiple VLANs (connects to end devices and carries multiple VLANs).
NetworkSpanningTreePortTypeNetwork indicates a network port (connects to other switches).

Status ​

Underlying type: string

Appears in:

FieldDescription
Unknown
Up
Down

StormControl ​

StormControl defines the storm control configuration for the border gateway, allowing to rate-limit BUM (Broadcast, Unknown unicast, Multicast) traffic on the border gateway interface.

Appears in:

FieldDescriptionDefaultValidation
level stringLevel is the suppression level as a percentage of the interface bandwidth.
Must be a floating point number between 1.0 and 100.0.
Pattern: ^([1-9][0-9]?(\.[0-9]+)?|100(\.0+)?)$
Required: {}
traffic TrafficTypeTraffic specifies the type of BUM traffic the storm control applies to.Enum: [Broadcast Multicast Unicast]
Required: {}

System ​

System is the Schema for the systems API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringSystem
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SystemSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status SystemStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

SystemSpec ​

SystemSpec defines the desired state of System

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
jumboMtu integerJumboMtu defines the system-wide jumbo MTU setting.
Valid values are from 1501 to 9216.
9216ExclusiveMaximum: false
Maximum: 9216
Minimum: 1501
Optional: {}
reservedVlan integerReservedVlan specifies the VLAN ID to be reserved for system use.
Valid values are from 1 to 4032.
3968ExclusiveMaximum: false
Maximum: 4032
Minimum: 1
Optional: {}
vlanLongName booleanVlanLongName enables or disables 128-character VLAN names
Disabled by default.
falseOptional: {}
relayServerIdOverrideDisable booleanRelayServerIDOverrideDisable enables the global command
"ip dhcp relay information option server-id-override-disable".
Deprecated: use dhcp.relayServerIdOverrideDisable instead. This field is kept
only for migration and will be removed in a future release. While both are set,
the setting is enabled if either is true.
falseOptional: {}
dhcp DHCPDHCP groups DHCP-related system settings.{ relayServerIdOverrideDisable:false }Optional: {}

SystemStatus ​

SystemStatus defines the observed state of System.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayThe conditions are a list of status objects that describe the state of the Banner.Optional: {}

TACACSKeyEncryption ​

Underlying type: string

TACACSKeyEncryption defines the encryption type for TACACS+ server keys.

Validation:

  • Enum: [Type6 Type7 Clear]

Appears in:

FieldDescription
Type6TACACSKeyEncryptionType6 uses AES encryption (more secure).
Type7TACACSKeyEncryptionType7 uses Cisco Type 7 encryption (reversible).
ClearTACACSKeyEncryptionClear sends the key in cleartext.

TrafficType ​

Underlying type: string

TrafficType defines the type of traffic for storm control.

Validation:

  • Enum: [Broadcast Multicast Unicast]

Appears in:

FieldDescription
BroadcastTrafficTypeBroadcast represents broadcast traffic.
MulticastTrafficTypeMulticast represents multicast traffic.
UnicastTrafficTypeUnicast represents unicast traffic.

VLANListItem ​

VLANListItem represents a single VLAN ID or a range start-end. If ID is set, rangeMin and rangeMax must be absent. If ID is absent, both rangeMin and rangeMax must be set.

Appears in:

FieldDescriptionDefaultValidation
id integerMaximum: 4092
Minimum: 1
Optional: {}
rangeMin integerMaximum: 4092
Minimum: 1
Optional: {}
rangeMax integerMaximum: 4092
Minimum: 1
Optional: {}

VPCDomain ​

VPCDomain is the Schema for the VPCDomains API

FieldDescriptionDefaultValidation
apiVersion stringnx.cisco.networking.metal.ironcore.dev/v1alpha1
kind stringVPCDomain
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec VPCDomainSpecspec defines the desired state of VPCDomain resourceRequired: {}
status VPCDomainStatusstatus defines the observed state of VPCDomain resourceOptional: {}

VPCDomainRole ​

Underlying type: string

The VPCDomainRole type represents the operational role of a vPC domain peer as returned by the device.

Appears in:

FieldDescription
Primary
Primary/Secondary
Secondary
Secondary/Primary
Unknown

VPCDomainSpec ​

VPCDomainSpec defines the desired state of a vPC domain (Virtual Port Channel Domain)

Appears in:

FieldDescriptionDefaultValidation
deviceRef LocalObjectReferenceDeviceName is the name of the Device this object belongs to. The Device object must exist in the same namespace.
Immutable.
Required: {}
domainId integerDomainID is the vPC domain ID (1-1000).
This uniquely identifies the vPC domain and must match on both peer switches.
Changing this value will recreate the vPC domain and flap the peer-link.
Maximum: 1000
Minimum: 1
Required: {}
adminState AdminStateAdminState is the administrative state of the vPC domain (enabled/disabled).
When disabled, the vPC domain is administratively shut down.
UpEnum: [Up Down]
Optional: {}
rolePriority integerRolePriority is the role priority for this vPC domain (1-65535).
The switch with the lower role priority becomes the operational primary.
32667Maximum: 65535
Minimum: 1
Optional: {}
systemPriority integerSystemPriority is the system priority for this vPC domain (1-65535).
Used to ensure that the vPC domain devices are primary devices on LACP. Must match on both peers.
32667Maximum: 65535
Minimum: 1
Optional: {}
delayRestoreSVI integerDelayRestoreSVI is the delay in seconds (1-3600) before bringing up interface-vlan (SVI) after peer-link comes up.
This prevents traffic blackholing during convergence.
10Maximum: 3600
Minimum: 1
Optional: {}
delayRestoreVPC integerDelayRestoreVPC is the delay in seconds (1-3600) before bringing up the member ports after the peer-link is restored.30Maximum: 3600
Minimum: 1
Optional: {}
fastConvergence EnabledFastConvergence ensures that both SVIs and member ports are shut down simultaneously when the peer-link goes down.
This synchronization helps prevent traffic loss.
{ enabled:false }Optional: {}
peer PeerPeer contains the vPC's domain peer configuration including peer-link, keepalive.Required: {}

VPCDomainStatus ​

VPCDomainStatus defines the observed state of VPCDomain.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions represent the latest available observations about the vPCDomain state.
Standard conditions include:
- Ready: overall readiness of the vPC domain
- Configured: whether the vPCDomain configuration was successfully applied to the device
- Operational: whether the vPC domain is operationally up. This condition is true when
the status fields PeerLinkIfOperStatus, KeepAliveStatus, and PeerStatus are all set
to UP.
For this Cisco model there is not one single unique operational property that reflects the
operational status of the vPC domain. The combination of peer status, keepalive status, and
the interface used as peer-link determine the overall health and operational condition of
the vPC domain.
Optional: {}
role VPCDomainRoleRole indicates the current operational role of this vPC domain peer.UnknownOptional: {}
keepaliveStatus StatusKeepAliveStatus indicates the status of the peer via the keepalive link.UnknownOptional: {}
keepaliveStatusMsg string arrayKeepAliveStatusMsg provides additional information about the keepalive status, a list of strings reported by the device.Optional: {}
peerStatus StatusPeerStatus indicates the status of the vPC domain peer-link in the latest consistency check with the peer. This means that if
the adjacency is lost, e.g., due to a shutdown link, the device will not be able to perform such check and the reported status
will remain unchanged (with the value of the last check).
UnknownOptional: {}
peerStatusMsg string arrayPeerStatusMsg provides additional information about the peer status, a list of strings reported by the device.Optional: {}
peerUptime DurationPeerUptime indicates how long the vPC domain peer has been up and reachable via keepalive.Optional: {}
peerLinkIf stringPeerLinkIf is the name of the interface used as the vPC domain peer-link.Optional: {}
peerLinkIfOperStatus StatusPeerLinkIfOperStatus is the Operational status of PeerLinkIf.UnknownOptional: {}

overlay.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the overlay.networking.metal.ironcore.dev v1alpha1 API group.

Resource Types ​

Encapsulation ​

Encapsulation defines the encapsulation parameters for a NetworkAttachment.

Appears in:

FieldDescriptionDefaultValidation
type EncapsulationTypeType is the encapsulation method.Enum: [VLAN]
Required: {}
id integerId is the identifier for the encapsulation method. For VLAN, this is the VLAN ID.Maximum: 4094
Minimum: 1
Required: {}

EncapsulationType ​

Underlying type: string

EncapsulationType is the encapsulation method used for a NetworkAttachment.

Validation:

  • Enum: [VLAN]

Appears in:

FieldDescription
VLANEncapsulationTypeVLAN uses IEEE 802.1Q VLAN tagging.

Network ​

Network is the Schema for the networks API

FieldDescriptionDefaultValidation
apiVersion stringoverlay.networking.metal.ironcore.dev/v1alpha1
kind stringNetwork
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NetworkSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status NetworkStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

NetworkAttachment ​

NetworkAttachment is the Schema for the networkattachments API

FieldDescriptionDefaultValidation
apiVersion stringoverlay.networking.metal.ironcore.dev/v1alpha1
kind stringNetworkAttachment
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec NetworkAttachmentSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status NetworkAttachmentStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

NetworkAttachmentSpec ​

NetworkAttachmentSpec defines the desired state of NetworkAttachment

Appears in:

FieldDescriptionDefaultValidation
networkRef LocalObjectReferenceNetworkRef references the [Network] this attachment is associated with.
Immutable.
Required: {}
interfaceSelector LabelSelectorInterfaceSelector selects Interface resources to attach to the network.
Type filtering (Physical ∪ Aggregate) is enforced by the controller at
reconcile time, not by the selector itself.
Required: {}
encapsulation EncapsulationEncapsulation defines the encapsulation parameters for this attachment.Required: {}

NetworkAttachmentStatus ​

NetworkAttachmentStatus defines the observed state of NetworkAttachment.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the NetworkAttachment resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

NetworkSpec ​

NetworkSpec defines the desired state of Network

Appears in:

NetworkStatus ​

NetworkStatus defines the observed state of Network.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the Network resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

pool.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the pool.networking.metal.ironcore.dev v1alpha1 API group.

Resource Types ​

Claim ​

Claim is the Schema for the claims API

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringClaim
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ClaimSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status ClaimStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

ClaimRef ​

ClaimRef identifies the Claim bound to an allocation object.

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the Claim.Required: {}
uid UIDUID is the UID of the Claim. When both name and UID match, the
allocation is considered fully bound. When the name matches but the
UID is stale or empty (e.g. after the original Claim was deleted and
recreated), the claim controller will only rebind if the allocation
carries the 'pool.networking.metal.ironcore.dev/allow-binding' annotation.
Required: {}

ClaimSpec ​

ClaimSpec defines the desired state of Claim.

Appears in:

FieldDescriptionDefaultValidation
poolRef TypedLocalObjectReferencePoolRef references the allocation pool to allocate from.
PoolRef is immutable once set.
Required: {}

ClaimStatus ​

ClaimStatus defines the observed state of Claim.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the Claim resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}
allocationRef TypedLocalObjectReferenceAllocationRef references the bound allocation object (Index, IPAddress, or IPPrefix).
Set by the claim controller after successful binding.
Optional: {}
value stringValue is the allocated resource as a string, mirrored from the bound allocation
for convenient access without chasing the reference.
Optional: {}

IPAddress ​

IPAddress is the Schema for the ipaddresses API.

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringIPAddress
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IPAddressSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status IPAddressStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

IPAddressPool ​

IPAddressPool is the Schema for the ipaddresspools API

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringIPAddressPool
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IPAddressPoolSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status IPAddressPoolStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

IPAddressPoolSpec ​

IPAddressPoolSpec defines the desired state of IPAddressPool

Appears in:

FieldDescriptionDefaultValidation
prefixes IPPrefix arrayPrefixes defines the CIDR ranges that can be allocated.Format: cidr
MinItems: 1
Type: string
Required: {}
reclaimPolicy ReclaimPolicyReclaimPolicy controls what happens to an allocation when a claim is deleted.
Recycle returns the allocation to the pool. Retain keeps it reserved.
Immutable.
RecycleEnum: [Recycle Retain]
Optional: {}

IPAddressPoolStatus ​

IPAddressPoolStatus defines the observed state of IPAddressPool.

Appears in:

FieldDescriptionDefaultValidation
allocated integerAllocated is the number of allocated IP addresses.Optional: {}
total stringTotal is the number of allocatable IP addresses.Optional: {}
conditions Condition arrayconditions represent the current state of the IPAddressPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

IPAddressSpec ​

IPAddressSpec defines the desired state of IPAddress.

Appears in:

FieldDescriptionDefaultValidation
poolRef TypedLocalObjectReferencePoolRef references the IPAddressPool this address was allocated from.
Immutable.
Required: {}
address IPAddrAddress is the reserved IP address.
Immutable.
Format: ip
Type: string
Required: {}
claimRef ClaimRefClaimRef references the Claim bound to this address.
Nil when the address is unbound (pre-provisioned or retained).
Optional: {}

IPAddressStatus ​

IPAddressStatus defines the observed state of IPAddress.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the IPAddress resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

IPPrefix ​

IPPrefix is the Schema for the ipprefixes API.

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringIPPrefix
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IPPrefixSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status IPPrefixStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

IPPrefixPool ​

IPPrefixPool is the Schema for the ipprefixpools API

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringIPPrefixPool
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IPPrefixPoolSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status IPPrefixPoolStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

IPPrefixPoolSpec ​

IPPrefixPoolSpec defines the desired state of IPPrefixPool

Appears in:

FieldDescriptionDefaultValidation
prefixes IPPrefix arrayPrefixes defines the base prefixes to allocate from.Format: cidr
MinItems: 1
Type: string
Required: {}
allocationPrefixLength integerAllocationPrefixLength is the prefix length to allocate within each base prefix.Maximum: 128
Minimum: 0
Required: {}
reclaimPolicy ReclaimPolicyReclaimPolicy controls what happens to an allocation when a claim is deleted.
Recycle returns the allocation to the pool. Retain keeps it reserved.
Immutable.
RecycleEnum: [Recycle Retain]
Optional: {}

IPPrefixPoolStatus ​

IPPrefixPoolStatus defines the observed state of IPPrefixPool.

Appears in:

FieldDescriptionDefaultValidation
allocated integerAllocated is the number of allocated prefixes.Optional: {}
total stringTotal is the number of allocatable prefixes.Optional: {}
conditions Condition arrayconditions represent the current state of the IPPrefixPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

IPPrefixSpec ​

IPPrefixSpec defines the desired state of IPPrefix.

Appears in:

FieldDescriptionDefaultValidation
poolRef TypedLocalObjectReferencePoolRef references the IPPrefixPool this prefix was allocated from.
Immutable.
Required: {}
prefix IPPrefixPrefix is the reserved CIDR prefix.
Immutable.
Format: cidr
Type: string
Required: {}
claimRef ClaimRefClaimRef references the Claim bound to this prefix.
Nil when the prefix is unbound (pre-provisioned or retained).
Optional: {}

IPPrefixStatus ​

IPPrefixStatus defines the observed state of IPPrefix.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the IPPrefix resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

Index ​

Index is the Schema for the indices API.

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringIndex
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IndexSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status IndexStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

IndexPool ​

IndexPool is the Schema for the indexpools API

FieldDescriptionDefaultValidation
apiVersion stringpool.networking.metal.ironcore.dev/v1alpha1
kind stringIndexPool
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IndexPoolSpecSpecification of the desired state of the resource.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Required: {}
status IndexPoolStatusStatus of the resource. This is set and updated automatically.
Read-only.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
Optional: {}

IndexPoolSpec ​

IndexPoolSpec defines the desired state of IndexPool

Appears in:

FieldDescriptionDefaultValidation
ranges IndexRange arrayRanges defines the inclusive index ranges that can be allocated.
Example: "64512..65534".
MinItems: 1
Pattern: ^[0-9]+(\.\.[0-9]+)?$
Type: string
XIntOrString: {}
Required: {}
reclaimPolicy ReclaimPolicyReclaimPolicy controls what happens to an allocation when a claim is deleted.
Recycle returns the allocation to the pool. Retain keeps it reserved.
Immutable.
RecycleEnum: [Recycle Retain]
Optional: {}

IndexPoolStatus ​

IndexPoolStatus defines the observed state of IndexPool.

Appears in:

FieldDescriptionDefaultValidation
allocated integerAllocated is the number of allocated indices.Optional: {}
total stringTotal is the number of allocatable indices.Optional: {}
conditions Condition arrayconditions represent the current state of the IndexPool resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

IndexSpec ​

IndexSpec defines the desired state of Index.

Appears in:

FieldDescriptionDefaultValidation
poolRef TypedLocalObjectReferencePoolRef references the IndexPool this index was allocated from.
Immutable.
Required: {}
index integerIndex is the reserved value.
Immutable.
Minimum: 0
Required: {}
claimRef ClaimRefClaimRef references the Claim bound to this index.
Nil when the index is unbound (pre-provisioned or retained).
Optional: {}

IndexStatus ​

IndexStatus defines the observed state of Index.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayconditions represent the current state of the Index resource.
Each condition has a unique type and reflects the status of a specific aspect of the resource.
The status of each condition is one of True, False, or Unknown.
Optional: {}

ReclaimPolicy ​

Underlying type: string

ReclaimPolicy defines how allocations are handled on claim deletion.

Validation:

  • Enum: [Recycle Retain]

Appears in:

FieldDescription
Recycle
Retain

xe.cisco.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the xe.cisco.networking.metal.ironcore.dev v1alpha1 API group.

xr.cisco.networking.metal.ironcore.dev/v1alpha1 ​

Package v1alpha1 contains API Schema definitions for the xr.cisco.networking.metal.ironcore.dev v1alpha1 API group.

EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.