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 |