Networking

Packages:

networking.ironcore.dev/v1alpha1

Package v1alpha1 is the v1alpha1 version of the API.

Resource Types:

LoadBalancer

LoadBalancer is the Schema for the LoadBalancer API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
LoadBalancer
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
LoadBalancerSpec


type
LoadBalancerType

Type is the type of LoadBalancer.

ipFamilies
[]Kubernetes core/v1.IPFamily

IPFamilies are the ip families the load balancer should have.

ips
[]IPSource

IPs are the ips to use. Can only be used when Type is LoadBalancerTypeInternal.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this LoadBalancer should belong to.

networkInterfaceSelector
Kubernetes meta/v1.LabelSelector

NetworkInterfaceSelector defines the NetworkInterfaces for which this LoadBalancer should be applied

ports
[]LoadBalancerPort

Ports are the ports the load balancer should allow.

status
LoadBalancerStatus

LoadBalancerRouting

LoadBalancerRouting is the Schema for the loadbalancerroutings API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
LoadBalancerRouting
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
networkRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

NetworkRef is the network the load balancer is assigned to.

destinations
[]LoadBalancerDestination

Destinations are the destinations for an LoadBalancer.

NATGateway

NATGateway is the Schema for the NATGateway API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
NATGateway
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
NATGatewaySpec


type
NATGatewayType

Type is the type of NATGateway.

ipFamily
Kubernetes core/v1.IPFamily

IPFamily is the ip family the NAT gateway should have.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this NATGateway should belong to.

portsPerNetworkInterface
int32

PortsPerNetworkInterface defines the number of concurrent connections per target network interface. Has to be a power of 2. If empty, 2048 (DefaultPortsPerNetworkInterface) is the default.

status
NATGatewayStatus

Network

Network is the Schema for the network API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
Network
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
NetworkSpec


providerID
string

ProviderID is the provider-internal ID of the network.

peerings
[]NetworkPeering
(Optional)

Peerings are the network peerings with this network.

incomingPeerings
[]NetworkPeeringClaimRef
(Optional)

PeeringClaimRefs are the peering claim references of other networks.

status
NetworkStatus

NetworkInterface

NetworkInterface is the Schema for the networkinterfaces API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
NetworkInterface
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
NetworkInterfaceSpec


providerID
string

ProviderID is the provider-internal ID of the network interface.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this NetworkInterface is connected to

machineRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

MachineRef is the Machine this NetworkInterface is used by

ipFamilies
[]Kubernetes core/v1.IPFamily

IPFamilies defines which IPFamilies this NetworkInterface is supporting

ips
[]IPSource

IPs is the list of provided IPs or ephemeral IPs which should be assigned to this NetworkInterface.

prefixes
[]PrefixSource

Prefixes is the list of provided prefixes or ephemeral prefixes which should be assigned to this NetworkInterface.

virtualIP
VirtualIPSource

VirtualIP specifies the virtual ip that should be assigned to this NetworkInterface.

attributes
map[string]string

Attributes are provider-specific attributes for the network interface.

status
NetworkInterfaceStatus

NetworkPolicy

NetworkPolicy is the Schema for the networkpolicies API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
NetworkPolicy
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
NetworkPolicySpec


networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the network to regulate using this policy.

networkInterfaceSelector
Kubernetes meta/v1.LabelSelector

NetworkInterfaceSelector selects the network interfaces that are subject to this policy.

ingress
[]NetworkPolicyIngressRule

Ingress specifies rules for ingress traffic.

egress
[]NetworkPolicyEgressRule

Egress specifies rules for egress traffic.

policyTypes
[]PolicyType

PolicyTypes specifies the types of policies this network policy contains.

status
NetworkPolicyStatus

VirtualIP

VirtualIP is the Schema for the virtualips API

Field Description
apiVersion
string
networking.ironcore.dev/v1alpha1
kind
string
VirtualIP
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
VirtualIPSpec


type
VirtualIPType

Type is the type of VirtualIP.

ipFamily
Kubernetes core/v1.IPFamily

IPFamily is the ip family of the VirtualIP.

targetRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

TargetRef references the target for this VirtualIP (currently only NetworkInterface).

status
VirtualIPStatus

EphemeralPrefixSource

(Appears on:IPSource, PrefixSource)

EphemeralPrefixSource contains the definition to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) Prefix.

Field Description
prefixTemplate
github.com/ironcore-dev/ironcore/api/ipam/v1alpha1.PrefixTemplateSpec

PrefixTemplate is the template for the Prefix.

EphemeralVirtualIPSource

(Appears on:VirtualIPSource)

EphemeralVirtualIPSource contains the definition to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) VirtualIP.

Field Description
virtualIPTemplate
VirtualIPTemplateSpec

VirtualIPTemplate is the template for the VirtualIP.

IPBlock

(Appears on:NetworkPolicyPeer)

IPBlock specifies an ip block with optional exceptions.

Field Description
cidr
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix

CIDR is a string representing the ip block.

except
[]github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix

Except is a slice of CIDRs that should not be included within the specified CIDR. Values will be rejected if they are outside CIDR.

IPSource

(Appears on:LoadBalancerSpec, NetworkInterfaceSpec)

IPSource is the definition of how to obtain an IP.

Field Description
value
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

Value specifies an IP by using an IP literal.

ephemeral
EphemeralPrefixSource

Ephemeral specifies an IP by creating an ephemeral Prefix to allocate the IP with.

LoadBalancerDestination

(Appears on:LoadBalancerRouting)

LoadBalancerDestination is the destination of the load balancer.

Field Description
ip
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

IP is the target IP.

targetRef
LoadBalancerTargetRef

TargetRef is the target providing the destination.

LoadBalancerPort

(Appears on:LoadBalancerSpec)

Field Description
protocol
Kubernetes core/v1.Protocol

Protocol is the protocol the load balancer should allow. If not specified, defaults to TCP.

port
int32

Port is the port to allow.

endPort
int32

EndPort marks the end of the port range to allow. If unspecified, only a single port, Port, will be allowed.

LoadBalancerSpec

(Appears on:LoadBalancer)

LoadBalancerSpec defines the desired state of LoadBalancer

Field Description
type
LoadBalancerType

Type is the type of LoadBalancer.

ipFamilies
[]Kubernetes core/v1.IPFamily

IPFamilies are the ip families the load balancer should have.

ips
[]IPSource

IPs are the ips to use. Can only be used when Type is LoadBalancerTypeInternal.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this LoadBalancer should belong to.

networkInterfaceSelector
Kubernetes meta/v1.LabelSelector

NetworkInterfaceSelector defines the NetworkInterfaces for which this LoadBalancer should be applied

ports
[]LoadBalancerPort

Ports are the ports the load balancer should allow.

LoadBalancerStatus

(Appears on:LoadBalancer)

LoadBalancerStatus defines the observed state of LoadBalancer

Field Description
ips
[]github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

IPs are the IPs allocated for the load balancer.

LoadBalancerTargetRef

(Appears on:LoadBalancerDestination)

LoadBalancerTargetRef is a load balancer target.

Field Description
uid
k8s.io/apimachinery/pkg/types.UID

UID is the UID of the target.

name
string

Name is the name of the target.

providerID
string

ProviderID is the provider internal id of the target.

LoadBalancerType (string alias)

(Appears on:LoadBalancerSpec)

LoadBalancerType is a type of LoadBalancer.

Value Description

"Internal"

LoadBalancerTypeInternal is a LoadBalancer that allocates and routes network-internal, stable IPs.

"Public"

LoadBalancerTypePublic is a LoadBalancer that allocates and routes a stable public IP.

NATGatewaySpec

(Appears on:NATGateway)

NATGatewaySpec defines the desired state of NATGateway

Field Description
type
NATGatewayType

Type is the type of NATGateway.

ipFamily
Kubernetes core/v1.IPFamily

IPFamily is the ip family the NAT gateway should have.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this NATGateway should belong to.

portsPerNetworkInterface
int32

PortsPerNetworkInterface defines the number of concurrent connections per target network interface. Has to be a power of 2. If empty, 2048 (DefaultPortsPerNetworkInterface) is the default.

NATGatewayStatus

(Appears on:NATGateway)

NATGatewayStatus defines the observed state of NATGateway

Field Description
ips
[]github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

IPs are the IPs allocated for the NAT gateway.

NATGatewayType (string alias)

(Appears on:NATGatewaySpec)

NATGatewayType is a type of NATGateway.

Value Description

"Public"

NATGatewayTypePublic is a NATGateway that allocates and routes a stable public IP.

NetworkInterfaceSpec

(Appears on:NetworkInterface, NetworkInterfaceTemplateSpec)

NetworkInterfaceSpec defines the desired state of NetworkInterface

Field Description
providerID
string

ProviderID is the provider-internal ID of the network interface.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this NetworkInterface is connected to

machineRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

MachineRef is the Machine this NetworkInterface is used by

ipFamilies
[]Kubernetes core/v1.IPFamily

IPFamilies defines which IPFamilies this NetworkInterface is supporting

ips
[]IPSource

IPs is the list of provided IPs or ephemeral IPs which should be assigned to this NetworkInterface.

prefixes
[]PrefixSource

Prefixes is the list of provided prefixes or ephemeral prefixes which should be assigned to this NetworkInterface.

virtualIP
VirtualIPSource

VirtualIP specifies the virtual ip that should be assigned to this NetworkInterface.

attributes
map[string]string

Attributes are provider-specific attributes for the network interface.

NetworkInterfaceState (string alias)

(Appears on:NetworkInterfaceStatus)

NetworkInterfaceState is the ironcore state of a NetworkInterface.

Value Description

"Available"

NetworkInterfaceStateAvailable is used for any NetworkInterface where all properties are valid.

"Error"

NetworkInterfaceStateError is used for any NetworkInterface where any property has an error.

"Pending"

NetworkInterfaceStatePending is used for any NetworkInterface that is pending.

NetworkInterfaceStatus

(Appears on:NetworkInterface)

NetworkInterfaceStatus defines the observed state of NetworkInterface

Field Description
state
NetworkInterfaceState

State is the NetworkInterfaceState of the NetworkInterface.

lastStateTransitionTime
Kubernetes meta/v1.Time

LastStateTransitionTime is the last time the State transitioned from one value to another.

ips
[]github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

IPs represent the effective IP addresses of the NetworkInterface.

prefixes
[]github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix

Prefixes represent the prefixes routed to the NetworkInterface.

virtualIP
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

VirtualIP is any virtual ip assigned to the NetworkInterface.

NetworkInterfaceTemplateSpec

NetworkInterfaceTemplateSpec is the specification of a NetworkInterface template.

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
NetworkInterfaceSpec


providerID
string

ProviderID is the provider-internal ID of the network interface.

networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the Network this NetworkInterface is connected to

machineRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

MachineRef is the Machine this NetworkInterface is used by

ipFamilies
[]Kubernetes core/v1.IPFamily

IPFamilies defines which IPFamilies this NetworkInterface is supporting

ips
[]IPSource

IPs is the list of provided IPs or ephemeral IPs which should be assigned to this NetworkInterface.

prefixes
[]PrefixSource

Prefixes is the list of provided prefixes or ephemeral prefixes which should be assigned to this NetworkInterface.

virtualIP
VirtualIPSource

VirtualIP specifies the virtual ip that should be assigned to this NetworkInterface.

attributes
map[string]string

Attributes are provider-specific attributes for the network interface.

NetworkPeering

(Appears on:NetworkSpec)

NetworkPeering defines a network peering with another network.

Field Description
name
string

Name is the semantical name of the network peering.

networkRef
NetworkPeeringNetworkRef

NetworkRef is the reference to the network to peer with. An empty namespace indicates that the target network resides in the same namespace as the source network.

prefixes
[]PeeringPrefix

Prefixes is a list of prefixes that we want only to be exposed to the peered network, if no prefixes are specified no filtering will be done.

NetworkPeeringClaimRef

(Appears on:NetworkSpec)

Field Description
namespace
string

Namespace is the namespace of the referenced entity. If empty, the same namespace as the referring resource is implied.

name
string

Name is the name of the referenced entity.

uid
k8s.io/apimachinery/pkg/types.UID

UID is the UID of the referenced entity.

NetworkPeeringNetworkRef

(Appears on:NetworkPeering)

NetworkPeeringNetworkRef is a reference to a network to peer with.

Field Description
namespace
string

Namespace is the namespace of the referenced entity. If empty, the same namespace as the referring resource is implied.

name
string

Name is the name of the referenced entity.

NetworkPeeringState (string alias)

(Appears on:NetworkPeeringStatus)

NetworkPeeringState is the state a NetworkPeering can be in

Value Description

"Error"

NetworkPeeringStateError signals that the network peering is in error state.

"Pending"

NetworkPeeringStatePending signals that the network peering is not applied.

"Ready"

NetworkPeeringStateReady signals that the network peering is ready.

NetworkPeeringStatus

(Appears on:NetworkStatus)

NetworkPeeringStatus is the status of a network peering.

Field Description
name
string

Name is the name of the network peering.

state
NetworkPeeringState

State represents the network peering state

prefixes
[]PeeringPrefixStatus

Prefixes contains the prefixes exposed to the peered network

NetworkPolicyCondition

(Appears on:NetworkPolicyStatus)

NetworkPolicyCondition is one of the conditions of a network policy.

Field Description
type
NetworkPolicyConditionType

Type is the type of the condition.

status
Kubernetes core/v1.ConditionStatus

Status is the status of the condition.

reason
string

Reason is a machine-readable indication of why the condition is in a certain state.

message
string

Message is a human-readable explanation of why the condition has a certain reason / state.

observedGeneration
int64

ObservedGeneration represents the .metadata.generation that the condition was set based upon.

lastTransitionTime
Kubernetes meta/v1.Time

LastTransitionTime is the last time the status of a condition has transitioned from one state to another.

NetworkPolicyConditionType (string alias)

(Appears on:NetworkPolicyCondition)

NetworkPolicyConditionType is a type a NetworkPolicyCondition can have.

NetworkPolicyEgressRule

(Appears on:NetworkPolicySpec)

NetworkPolicyEgressRule describes a rule to regulate egress traffic with.

Field Description
ports
[]NetworkPolicyPort

Ports specifies the list of destination ports that can be called with this rule. Each item in this list is combined using a logical OR. Empty matches all ports. As soon as a single item is present, only these ports are allowed.

to
[]NetworkPolicyPeer

To specifies the list of destinations which the selected network interfaces should be able to send traffic to. Fields are combined using a logical OR. Empty matches all destinations. As soon as a single item is present, only these peers are allowed.

NetworkPolicyIngressRule

(Appears on:NetworkPolicySpec)

NetworkPolicyIngressRule describes a rule to regulate ingress traffic with.

Field Description
ports
[]NetworkPolicyPort

Ports specifies the list of ports which should be made accessible for this rule. Each item in this list is combined using a logical OR. Empty matches all ports. As soon as a single item is present, only these ports are allowed.

from
[]NetworkPolicyPeer

From specifies the list of sources which should be able to send traffic to the selected network interfaces. Fields are combined using a logical OR. Empty matches all sources. As soon as a single item is present, only these peers are allowed.

NetworkPolicyPeer

(Appears on:NetworkPolicyEgressRule, NetworkPolicyIngressRule)

NetworkPolicyPeer describes a peer to allow traffic to / from.

Field Description
objectSelector
github.com/ironcore-dev/ironcore/api/core/v1alpha1.ObjectSelector

ObjectSelector selects peers with the given kind matching the label selector. Exclusive with other peer specifiers.

ipBlock
IPBlock

IPBlock specifies the ip block from or to which network traffic may come.

NetworkPolicyPort

(Appears on:NetworkPolicyEgressRule, NetworkPolicyIngressRule)

NetworkPolicyPort describes a port to allow traffic on

Field Description
protocol
Kubernetes core/v1.Protocol

Protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP.

port
int32

The port on the given protocol. If this field is not provided, this matches all port names and numbers. If present, only traffic on the specified protocol AND port will be matched.

endPort
int32

EndPort indicates that the range of ports from Port to EndPort, inclusive, should be allowed by the policy. This field cannot be defined if the port field is not defined. The endPort must be equal or greater than port.

NetworkPolicySpec

(Appears on:NetworkPolicy)

NetworkPolicySpec defines the desired state of NetworkPolicy.

Field Description
networkRef
Kubernetes core/v1.LocalObjectReference

NetworkRef is the network to regulate using this policy.

networkInterfaceSelector
Kubernetes meta/v1.LabelSelector

NetworkInterfaceSelector selects the network interfaces that are subject to this policy.

ingress
[]NetworkPolicyIngressRule

Ingress specifies rules for ingress traffic.

egress
[]NetworkPolicyEgressRule

Egress specifies rules for egress traffic.

policyTypes
[]PolicyType

PolicyTypes specifies the types of policies this network policy contains.

NetworkPolicyStatus

(Appears on:NetworkPolicy)

NetworkPolicyStatus defines the observed state of NetworkPolicy.

Field Description
conditions
[]NetworkPolicyCondition

Conditions are various conditions of the NetworkPolicy.

NetworkSpec

(Appears on:Network)

NetworkSpec defines the desired state of Network

Field Description
providerID
string

ProviderID is the provider-internal ID of the network.

peerings
[]NetworkPeering
(Optional)

Peerings are the network peerings with this network.

incomingPeerings
[]NetworkPeeringClaimRef
(Optional)

PeeringClaimRefs are the peering claim references of other networks.

NetworkState (string alias)

(Appears on:NetworkStatus)

NetworkState is the state of a network.

Value Description

"Available"

NetworkStateAvailable means the network is ready to use.

"Error"

NetworkStateError means the network is in an error state.

"Pending"

NetworkStatePending means the network is being provisioned.

NetworkStatus

(Appears on:Network)

NetworkStatus defines the observed state of Network

Field Description
state
NetworkState

State is the state of the machine.

peerings
[]NetworkPeeringStatus
(Optional)

Peerings contains the states of the network peerings for the network.

PeeringPrefix

(Appears on:NetworkPeering)

PeeringPrefixes defines prefixes to be exposed to the peered network

Field Description
name
string

Name is the semantical name of the peering prefixes

prefix
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix

CIDR to be exposed to the peered network

prefixRef
Kubernetes core/v1.LocalObjectReference

PrefixRef is the reference to the prefix to be exposed to peered network An empty namespace indicates that the prefix resides in the same namespace as the source network.

PeeringPrefixStatus

(Appears on:NetworkPeeringStatus)

PeeringPrefixStatus lists prefixes exposed to peered network

Field Description
name
string

Name is the name of the peering prefix

prefix
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix

CIDR exposed to the peered network

PolicyType (string alias)

(Appears on:NetworkPolicySpec)

PolicyType is a type of policy.

Value Description

"Egress"

PolicyTypeEgress is a policy that describes egress traffic.

"Ingress"

PolicyTypeIngress is a policy that describes ingress traffic.

PrefixSource

(Appears on:NetworkInterfaceSpec)

Field Description
value
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IPPrefix

Value specifies a static prefix to use.

ephemeral
EphemeralPrefixSource

Ephemeral specifies a prefix by creating an ephemeral ipam.Prefix to allocate the prefix with.

VirtualIPSource

(Appears on:NetworkInterfaceSpec)

VirtualIPSource is the definition of how to obtain a VirtualIP.

Field Description
virtualIPRef
Kubernetes core/v1.LocalObjectReference

VirtualIPRef references a VirtualIP to use.

ephemeral
EphemeralVirtualIPSource

Ephemeral instructs to create an ephemeral (i.e. coupled to the lifetime of the surrounding object) VirtualIP.

VirtualIPSpec

(Appears on:VirtualIP, VirtualIPTemplateSpec)

VirtualIPSpec defines the desired state of VirtualIP

Field Description
type
VirtualIPType

Type is the type of VirtualIP.

ipFamily
Kubernetes core/v1.IPFamily

IPFamily is the ip family of the VirtualIP.

targetRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

TargetRef references the target for this VirtualIP (currently only NetworkInterface).

VirtualIPStatus

(Appears on:VirtualIP)

VirtualIPStatus defines the observed state of VirtualIP

Field Description
ip
github.com/ironcore-dev/ironcore/api/common/v1alpha1.IP

IP is the allocated IP, if any.

VirtualIPTemplateSpec

(Appears on:EphemeralVirtualIPSource)

VirtualIPTemplateSpec is the specification of a VirtualIP template.

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
VirtualIPSpec


type
VirtualIPType

Type is the type of VirtualIP.

ipFamily
Kubernetes core/v1.IPFamily

IPFamily is the ip family of the VirtualIP.

targetRef
github.com/ironcore-dev/ironcore/api/common/v1alpha1.LocalUIDReference

TargetRef references the target for this VirtualIP (currently only NetworkInterface).

VirtualIPType (string alias)

(Appears on:VirtualIPSpec)

VirtualIPType is a type of VirtualIP.

Value Description

"Public"

VirtualIPTypePublic is a VirtualIP that allocates and routes a stable public IP.


Generated with gen-crd-api-reference-docs