Skip to content

It's an automatically generated reference for the Gateway API. You can find latest version in the Gateway repository.

API Reference

Packages

gateway.githedgehog.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the gateway v1alpha1 API group.

Resource Types

Gateway

Gateway is the Schema for the gateways API.

Field Description Default Validation
apiVersion string gateway.githedgehog.com/v1alpha1
kind string Gateway
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec GatewaySpec
status GatewayStatus

GatewayBGPNeighbor

GatewayBGPNeighbor defines the configuration for a BGP neighbor

Appears in: - GatewaySpec

Field Description Default Validation
source string Source is the source interface for the BGP neighbor configuration
ip string IP is the IP address of the BGP neighbor
asn integer ASN is the remote ASN of the BGP neighbor

GatewayInterface

GatewayInterface defines the configuration for a gateway interface

Appears in: - GatewaySpec

Field Description Default Validation
pci string PCI address of the interface (required for DPDK driver), e.g. 0000:00:01.0
kernel string Kernel is the kernel name of the interface to use (required for kernel driver), e.g. enp2s1
ips string array IPs is the list of IP address to assign to the interface
mtu integer MTU for the interface

GatewayLogLevel

Underlying type: string

Appears in: - GatewayLogs

Field Description
off
error
warning
info
debug
trace

GatewayLogs

GatewayLogs defines the configuration for logging levels

Appears in: - GatewaySpec

Field Description Default Validation
default GatewayLogLevel
tags object (keys:string, values:GatewayLogLevel)

GatewayProfiling

Appears in: - GatewaySpec

Field Description Default Validation
enabled boolean

GatewaySpec

GatewaySpec defines the desired state of Gateway.

Appears in: - Gateway - GatewayAgentSpec

Field Description Default Validation
protocolIP string ProtocolIP is used as a loopback IP and BGP Router ID
vtepIP string VTEP IP to be used by the gateway
vtepMAC string VTEP MAC address to be used by the gateway
asn integer ASN is the ASN of the gateway
vtepMTU integer VTEPMTU is the MTU for the VTEP interface
interfaces object (keys:string, values:GatewayInterface) Interfaces is a map of interface names to their configurations
neighbors GatewayBGPNeighbor array Neighbors is a list of BGP neighbors
logs GatewayLogs Logs defines the configuration for logging levels
profiling GatewayProfiling Profiling defines the configuration for profiling
workers integer Workers defines the number of worker threads to use for dataplane

GatewayStatus

GatewayStatus defines the observed state of Gateway.

Appears in: - Gateway

Peering

Peering is the Schema for the peerings API.

Field Description Default Validation
apiVersion string gateway.githedgehog.com/v1alpha1
kind string Peering
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec PeeringSpec
status PeeringStatus

PeeringEntry

Appears in: - PeeringSpec

Field Description Default Validation
expose PeeringEntryExpose array

PeeringEntryAs

Appears in: - PeeringEntryExpose

Field Description Default Validation
cidr string
not string

PeeringEntryExpose

Appears in: - PeeringEntry

Field Description Default Validation
ips PeeringEntryIP array
as PeeringEntryAs array
nat PeeringNAT

PeeringEntryIP

Appears in: - PeeringEntryExpose

Field Description Default Validation
cidr string
not string
vpcSubnet string

PeeringNAT

Appears in: - PeeringEntryExpose

Field Description Default Validation
stateful PeeringStatefulNAT Use connection state tracking when performing NAT
stateless PeeringStatelessNAT Use connection state tracking when performing NAT, use stateful NAT if omitted

PeeringSpec

PeeringSpec defines the desired state of Peering.

Appears in: - GatewayAgentSpec - Peering

Field Description Default Validation
peering object (keys:string, values:PeeringEntry) Peerings is a map of peering entries for each VPC participating in the peering (keyed by VPC name)

PeeringStatefulNAT

Appears in: - PeeringNAT

Field Description Default Validation
idleTimeout Duration Time since the last packet after which flows are removed from the connection state table

PeeringStatelessNAT

Appears in: - PeeringNAT

PeeringStatus

PeeringStatus defines the observed state of Peering.

Appears in: - Peering

VPCInfo

VPCInfo is the Schema for the vpcinfos API.

Field Description Default Validation
apiVersion string gateway.githedgehog.com/v1alpha1
kind string VPCInfo
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec VPCInfoSpec
status VPCInfoStatus

VPCInfoSpec

VPCInfoSpec defines the desired state of VPCInfo.

Appears in: - VPCInfo - VPCInfoData

Field Description Default Validation
subnets object (keys:string, values:VPCInfoSubnet) Subnets is a map of all subnets in the VPC (incl. CIDRs, VNIs, etc) keyed by the subnet name
vni integer VNI is the VNI for the VPC

VPCInfoStatus

VPCInfoStatus defines the observed state of VPCInfo.

Appears in: - VPCInfo - VPCInfoData

Field Description Default Validation
internalID string

VPCInfoSubnet

Appears in: - VPCInfoData - VPCInfoSpec

Field Description Default Validation
cidr string CIDR is the subnet CIDR block, such as "10.0.0.0/24"

gwint.githedgehog.com/v1alpha1

Package v1alpha1 contains API Schema definitions for the gwint v1alpha1 API group.

Resource Types

FRRStatus

FRRStatus represents the status of the FRR daemon

Appears in: - GatewayState

Field Description Default Validation
lastAppliedGen integer LastAppliedGen is the generation of the last successful application of a configuration to the FRR

GatewayAgent

GatewayAgent is the Schema for the gatewayagents API.

Field Description Default Validation
apiVersion string gwint.githedgehog.com/v1alpha1
kind string GatewayAgent
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec GatewayAgentSpec
status GatewayAgentStatus

GatewayAgentSpec

GatewayAgentSpec defines the desired state of GatewayAgent.

Appears in: - GatewayAgent

Field Description Default Validation
agentVersion string AgentVersion is the desired version of the gateway agent to trigger generation changes on controller upgrades
gateway GatewaySpec
vpcs object (keys:string, values:VPCInfoData)
peerings object (keys:string, values:PeeringSpec)

GatewayAgentStatus

GatewayAgentStatus defines the observed state of GatewayAgent.

Appears in: - GatewayAgent

Field Description Default Validation
agentVersion string AgentVersion is the version of the gateway agent
lastAppliedTime Time Time of the last successful configuration application
lastAppliedGen integer Generation of the last successful configuration application
state GatewayState State represents collected data from the dataplane API that includes FRR as well

GatewayState

GatewayState represents collected data from the dataplane API that includes FRR as well

Appears in: - GatewayAgentStatus

Field Description Default Validation
lastCollectedTime Time LastCollectedTime is the time of the last successful collection of data from the dataplane API
frr FRRStatus FRR is the status of the FRR daemon
vpcs object (keys:string, values:VPCStatus) VPCs is the status of the VPCs where key is the vpc (vpcinfo) name
peerings object (keys:string, values:PeeringStatus) Peerings is the status of the VPCs peerings where key is VPC1->VPC2 and data is for one direction only

PeeringStatus

PeeringStatus represents the status of a peering between a pair of VPCs in one direction

Appears in: - GatewayState

Field Description Default Validation
p integer Packets is the number of packets sent on the peering
b integer Bytes is the number of bytes sent on the peering
d integer Drops is the number of packets dropped on the peering
bps float BytesPerSecond is the number of bytes sent per second on the peering
pps float PktsPerSecond is the number of packets sent per second on the peering

VPCInfoData

Appears in: - GatewayAgentSpec

Field Description Default Validation
subnets object (keys:string, values:VPCInfoSubnet) Subnets is a map of all subnets in the VPC (incl. CIDRs, VNIs, etc) keyed by the subnet name
vni integer VNI is the VNI for the VPC
internalID string

VPCStatus

Appears in: - GatewayState

Field Description Default Validation
p integer Packets is the number of packets sent on the vpc
b integer Bytes is the number of bytes sent on the vpc
d integer Drops is the number of packets dropped on the vpc