diff --git a/docs/reference/fabric-api.md.gen b/docs/reference/fabric-api.md.gen index c68df5c3..8aed9ed1 100644 --- a/docs/reference/fabric-api.md.gen +++ b/docs/reference/fabric-api.md.gen @@ -3,6 +3,8 @@ ## Packages - [agent.githedgehog.com/v1beta1](#agentgithedgehogcomv1beta1) - [dhcp.githedgehog.com/v1beta1](#dhcpgithedgehogcomv1beta1) +- [gateway.githedgehog.com/v1alpha1](#gatewaygithedgehogcomv1alpha1) +- [gwint.githedgehog.com/v1alpha1](#gwintgithedgehogcomv1alpha1) - [vpc.githedgehog.com/v1beta1](#vpcgithedgehogcomv1beta1) - [wiring.githedgehog.com/v1beta1](#wiringgithedgehogcomv1beta1) @@ -55,7 +57,7 @@ Switch object. | --- | --- | --- | --- | | `apiVersion` _string_ | `agent.githedgehog.com/v1beta1` | | | | `kind` _string_ | `Agent` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `status` _[AgentStatus](#agentstatus)_ | Status is the observed state of the Agent | | | @@ -77,13 +79,13 @@ _Appears in:_ | `installID` _string_ | ID of the agent installation, used to track NOS re-installs | | | | `runID` _string_ | ID of the agent run, used to track agent restarts | | | | `bootID` _string_ | ID for the NOS boot, used to track NOS reboots | | | -| `lastHeartbeat` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | Time of the last heartbeat from the agent | | | -| `lastAttemptTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | Time of the last attempt to apply configuration | | | +| `lastHeartbeat` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | Time of the last heartbeat from the agent | | | +| `lastAttemptTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | Time of the last attempt to apply configuration | | | | `lastAttemptGen` _integer_ | Generation of the last attempt to apply configuration | | | -| `lastAppliedTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | Time of the last successful configuration application | | | +| `lastAppliedTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | Time of the last successful configuration application | | | | `lastAppliedGen` _integer_ | Generation of the last successful configuration application | | | | `state` _[SwitchState](#switchstate)_ | Detailed switch state updated with each heartbeat | | | -| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#condition-v1-meta) array_ | Conditions of the agent, includes readiness marker for use with kubectl wait | | | +| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#condition-v1-meta) array_ | Conditions of the agent, includes readiness marker for use with kubectl wait | | | | `rebootRequired` _boolean_ | RebootRequired indicates whether a reboot is required | | | @@ -228,11 +230,11 @@ _Appears in:_ | `connDropped` _integer_ | | | | | `enabled` _boolean_ | | | | | `estabTrans` _integer_ | | | | -| `lastEstab` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | | | | -| `lastRead` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | | | | +| `lastEstab` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | | | | +| `lastRead` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | | | | | `lastResetReason` _string_ | | | | -| `lastReset` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | | | | -| `lastWrite` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | | | | +| `lastReset` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | | | | +| `lastWrite` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | | | | | `localAS` _integer_ | | | | | `msgs` _[BGPMessages](#bgpmessages)_ | | | | | `peerAS` _integer_ | | | | @@ -409,7 +411,7 @@ _Appears in:_ | `admin` _[AdminStatus](#adminstatus)_ | | | | | `oper` _[OperStatus](#operstatus)_ | | | | | `mac` _string_ | | | | -| `change` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | | | | +| `change` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | | | | | `speed` _string_ | | | | | `auto` _boolean_ | | | | | `fec` _string_ | | | | @@ -436,7 +438,7 @@ _Appears in:_ | `ine` _integer_ | | | | | `inpbs` _float_ | | | | | `inu` _integer_ | | | | -| `clear` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | | | | +| `clear` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | | | | | `outb` _integer_ | | | | | `outbps` _float_ | | | | | `outd` _integer_ | | | | @@ -686,7 +688,7 @@ _Appears in:_ | Field | Description | Default | Validation | | --- | --- | --- | --- | | `ip` _string_ | Allocated IP address | | | -| `expiry` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#time-v1-meta)_ | Expiry time of the lease | | | +| `expiry` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | Expiry time of the lease | | | | `hostname` _string_ | Hostname from DHCP request | | | | `discover` _boolean_ | Discover is true if the IP was offered to a client but not yet acked | | | @@ -724,7 +726,7 @@ Not intended to be modified by the user. | --- | --- | --- | --- | | `apiVersion` _string_ | `dhcp.githedgehog.com/v1beta1` | | | | `kind` _string_ | `DHCPSubnet` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[DHCPSubnetSpec](#dhcpsubnetspec)_ | Spec is the desired state of the DHCPSubnet | | | | `status` _[DHCPSubnetStatus](#dhcpsubnetstatus)_ | Status is the observed state of the DHCPSubnet | | | @@ -796,6 +798,778 @@ _Appears in:_ +## gateway.githedgehog.com/v1alpha1 + +Package v1alpha1 contains API Schema definitions for the gateway v1alpha1 API group. + +### Resource Types +- [Gateway](#gateway) +- [GatewayGroup](#gatewaygroup) +- [GatewayPeering](#gatewaypeering) +- [VPCInfo](#vpcinfo) + + + +#### Gateway + + + +Gateway is the Schema for the gateways API. + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `gateway.githedgehog.com/v1alpha1` | | | +| `kind` _string_ | `Gateway` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[GatewaySpec](#gatewayspec)_ | | | | +| `status` _[GatewayStatus](#gatewaystatus)_ | | | | + + +#### GatewayBGPNeighbor + + + +GatewayBGPNeighbor defines the configuration for a BGP neighbor + + + +_Appears in:_ +- [GatewaySpec](#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 | | | + + +#### GatewayGroup + + + +GatewayGroup is the Schema for the gatewaygroups API + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `gateway.githedgehog.com/v1alpha1` | | | +| `kind` _string_ | `GatewayGroup` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[GatewayGroupSpec](#gatewaygroupspec)_ | | | | +| `status` _[GatewayGroupStatus](#gatewaygroupstatus)_ | | | | + + +#### GatewayGroupMembership + + + + + + + +_Appears in:_ +- [GatewaySpec](#gatewayspec) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `name` _string_ | Name is the name of the group to which the gateway belongs | | | +| `priority` _integer_ | Priority is the priority of the gateway within the group | | | + + +#### GatewayGroupSpec + + + +GatewayGroupSpec defines the desired state of GatewayGroup + + + +_Appears in:_ +- [GatewayGroup](#gatewaygroup) + + + +#### GatewayGroupStatus + + + +GatewayGroupStatus defines the observed state of GatewayGroup. + + + +_Appears in:_ +- [GatewayGroup](#gatewaygroup) + + + +#### GatewayInterface + + + +GatewayInterface defines the configuration for a gateway interface + + + +_Appears in:_ +- [GatewaySpec](#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](#gatewaylogs) + +| Field | Description | +| --- | --- | +| `off` | | +| `error` | | +| `warning` | | +| `info` | | +| `debug` | | +| `trace` | | + + +#### GatewayLogs + + + +GatewayLogs defines the configuration for logging levels + + + +_Appears in:_ +- [GatewaySpec](#gatewayspec) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `default` _[GatewayLogLevel](#gatewayloglevel)_ | | | | +| `tags` _object (keys:string, values:[GatewayLogLevel](#gatewayloglevel))_ | | | | + + +#### GatewayPeering + + + +GatewayPeering is the Schema for the peerings API. + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `gateway.githedgehog.com/v1alpha1` | | | +| `kind` _string_ | `GatewayPeering` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[PeeringSpec](#peeringspec)_ | | | | +| `status` _[PeeringStatus](#peeringstatus)_ | | | | + + +#### GatewayProfiling + + + + + + + +_Appears in:_ +- [GatewaySpec](#gatewayspec) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `enabled` _boolean_ | | | | + + +#### GatewaySpec + + + +GatewaySpec defines the desired state of Gateway. + + + +_Appears in:_ +- [Gateway](#gateway) + +| 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](#gatewayinterface))_ | Interfaces is a map of interface names to their configurations | | | +| `neighbors` _[GatewayBGPNeighbor](#gatewaybgpneighbor) array_ | Neighbors is a list of BGP neighbors | | | +| `logs` _[GatewayLogs](#gatewaylogs)_ | Logs defines the configuration for logging levels | | | +| `profiling` _[GatewayProfiling](#gatewayprofiling)_ | Profiling defines the configuration for profiling | | | +| `workers` _integer_ | Workers defines the number of worker threads to use for dataplane | | | +| `groups` _[GatewayGroupMembership](#gatewaygroupmembership) array_ | Groups is a list of group memberships for the gateway | | | + + +#### GatewayStatus + + + +GatewayStatus defines the observed state of Gateway. + + + +_Appears in:_ +- [Gateway](#gateway) + + + +#### PeeringEntry + + + + + + + +_Appears in:_ +- [PeeringSpec](#peeringspec) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `expose` _[PeeringEntryExpose](#peeringentryexpose) array_ | | | | + + +#### PeeringEntryAs + + + + + + + +_Appears in:_ +- [PeeringEntryExpose](#peeringentryexpose) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `cidr` _string_ | CIDR to include, only one of cidr, not can be set | | | +| `not` _string_ | CIDR to exclude, only one of cidr, not can be set | | | + + +#### PeeringEntryExpose + + + + + + + +_Appears in:_ +- [PeeringEntry](#peeringentry) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `ips` _[PeeringEntryIP](#peeringentryip) array_ | | | | +| `as` _[PeeringEntryAs](#peeringentryas) array_ | | | | +| `nat` _[PeeringNAT](#peeringnat)_ | | | | +| `default` _boolean_ | | | | + + +#### PeeringEntryIP + + + + + + + +_Appears in:_ +- [PeeringEntryExpose](#peeringentryexpose) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `cidr` _string_ | CIDR to include, only one of cidr, not, vpcSubnet can be set | | | +| `not` _string_ | CIDR to exclude, only one of cidr, not, vpcSubnet can be set | | | +| `vpcSubnet` _string_ | CIDR by VPC subnet name to include, only one of cidr, not, vpcSubnet can be set | | | + + +#### PeeringNAT + + + + + + + +_Appears in:_ +- [PeeringEntryExpose](#peeringentryexpose) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `masquerade` _[PeeringNATMasquerade](#peeringnatmasquerade)_ | | | | +| `portForward` _[PeeringNATPortForward](#peeringnatportforward)_ | | | | +| `static` _[PeeringNATStatic](#peeringnatstatic)_ | | | | + + +#### PeeringNATMasquerade + + + + + + + +_Appears in:_ +- [PeeringNAT](#peeringnat) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `idleTimeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#duration-v1-meta)_ | Time since the last packet after which flows are removed from the connection state table | | | + + +#### PeeringNATPortForward + + + + + + + +_Appears in:_ +- [PeeringNAT](#peeringnat) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `idleTimeout` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#duration-v1-meta)_ | Time since the last packet after which flows are removed from the connection state table | | | +| `ports` _[PeeringNATPortForwardEntry](#peeringnatportforwardentry) array_ | | | | + + + + +#### PeeringNATProtocol + +_Underlying type:_ _string_ + + + +_Validation:_ +- Enum: [tcp udp ] + +_Appears in:_ +- [PeeringNATPortForwardEntry](#peeringnatportforwardentry) + +| Field | Description | +| --- | --- | +| `` | Any protocol by default
| +| `tcp` | TCP only
| +| `udp` | UDP only
| + + +#### PeeringNATStatic + + + + + + + +_Appears in:_ +- [PeeringNAT](#peeringnat) + + + +#### PeeringSpec + + + +PeeringSpec defines the desired state of Peering. + + + +_Appears in:_ +- [GatewayPeering](#gatewaypeering) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `gatewayGroup` _string_ | GatewayGroup is the name of the gateway group that should process the peering | | | +| `peering` _object (keys:string, values:[PeeringEntry](#peeringentry))_ | Peerings is a map of peering entries for each VPC participating in the peering (keyed by VPC name) | | | + + +#### PeeringStatus + + + +PeeringStatus defines the observed state of Peering. + + + +_Appears in:_ +- [GatewayPeering](#gatewaypeering) + + + +#### VPCInfo + + + +VPCInfo is the Schema for the vpcinfos API. + + + + + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `apiVersion` _string_ | `gateway.githedgehog.com/v1alpha1` | | | +| `kind` _string_ | `VPCInfo` | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `spec` _[VPCInfoSpec](#vpcinfospec)_ | | | | +| `status` _[VPCInfoStatus](#vpcinfostatus)_ | | | | + + +#### VPCInfoSpec + + + +VPCInfoSpec defines the desired state of VPCInfo. + + + +_Appears in:_ +- [VPCInfo](#vpcinfo) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `subnets` _object (keys:string, values:[VPCInfoSubnet](#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](#vpcinfo) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `internalID` _string_ | | | | + + +#### VPCInfoSubnet + + + + + + + +_Appears in:_ +- [VPCInfoSpec](#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 +- [GatewayAgent](#gatewayagent) + + + +#### BGPMessageCounters + + + + + + + +_Appears in:_ +- [BGPMessages](#bgpmessages) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `capability` _integer_ | | | | +| `keepalive` _integer_ | | | | +| `notification` _integer_ | | | | +| `open` _integer_ | | | | +| `routeRefresh` _integer_ | | | | +| `update` _integer_ | | | | + + +#### BGPMessages + + + + + + + +_Appears in:_ +- [BGPNeighborStatus](#bgpneighborstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `received` _[BGPMessageCounters](#bgpmessagecounters)_ | | | | +| `sent` _[BGPMessageCounters](#bgpmessagecounters)_ | | | | + + +#### BGPNeighborPrefixes + + + + + + + +_Appears in:_ +- [BGPNeighborStatus](#bgpneighborstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `received` _integer_ | | | | +| `receivedPrePolicy` _integer_ | | | | +| `sent` _integer_ | | | | + + +#### BGPNeighborSessionState + +_Underlying type:_ _string_ + +BGPNeighborSessionState represents the BGP FSM state for a neighbor. + +_Validation:_ +- Enum: [unset idle connect active open established] + +_Appears in:_ +- [BGPNeighborStatus](#bgpneighborstatus) + +| Field | Description | +| --- | --- | +| `unset` | | +| `idle` | | +| `connect` | | +| `active` | | +| `open` | | +| `established` | | + + +#### BGPNeighborStatus + + + + + + + +_Appears in:_ +- [BGPVRFStatus](#bgpvrfstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `enabled` _boolean_ | | | | +| `localAS` _integer_ | | | | +| `peerAS` _integer_ | | | | +| `remoteRouterID` _string_ | | | | +| `sessionState` _[BGPNeighborSessionState](#bgpneighborsessionstate)_ | | | Enum: [unset idle connect active open established]
| +| `connectionsDropped` _integer_ | | | | +| `establishedTransitions` _integer_ | | | | +| `lastResetReason` _string_ | | | | +| `messages` _[BGPMessages](#bgpmessages)_ | | | | +| `ipv4UnicastPrefixes` _[BGPNeighborPrefixes](#bgpneighborprefixes)_ | | | | +| `ipv6UnicastPrefixes` _[BGPNeighborPrefixes](#bgpneighborprefixes)_ | | | | +| `l2VPNEVPNPrefixes` _[BGPNeighborPrefixes](#bgpneighborprefixes)_ | | | | + + +#### BGPStatus + + + +BGPStatus represents BGP status across VRFs, derived from BMP/FRR. + + + +_Appears in:_ +- [GatewayState](#gatewaystate) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `vrfs` _object (keys:string, values:[BGPVRFStatus](#bgpvrfstatus))_ | VRFs keyed by VRF name (e.g. "default", "vrfVvpc-1") | | | + + +#### BGPVRFStatus + + + + + + + +_Appears in:_ +- [BGPStatus](#bgpstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `neighbors` _object (keys:string, values:[BGPNeighborStatus](#bgpneighborstatus))_ | Neighbors keyed by an ip address string | | | + + +#### DataplaneStatus + + + +DataplaneStatus represents the status of the dataplane + + + +_Appears in:_ +- [GatewayState](#gatewaystate) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `version` _string_ | | | | + + +#### FRRStatus + + + +FRRStatus represents the status of the FRR daemon + + + +_Appears in:_ +- [GatewayState](#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](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `status` _[GatewayAgentStatus](#gatewayagentstatus)_ | | | | + + +#### GatewayAgentStatus + + + +GatewayAgentStatus defines the observed state of GatewayAgent. + + + +_Appears in:_ +- [GatewayAgent](#gatewayagent) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `agentVersion` _string_ | AgentVersion is the version of the gateway agent | | | +| `lastAppliedTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | Time of the last successful configuration application | | | +| `lastAppliedGen` _integer_ | Generation of the last successful configuration application | | | +| `lastHeartbeat` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | Time of the last heartbeat from the agent | | | +| `state` _[GatewayState](#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](#gatewayagentstatus) + +| Field | Description | Default | Validation | +| --- | --- | --- | --- | +| `lastCollectedTime` _[Time](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#time-v1-meta)_ | LastCollectedTime is the time of the last successful collection of data from the dataplane API | | | +| `dataplane` _[DataplaneStatus](#dataplanestatus)_ | Dataplane is the status of the dataplane | | | +| `frr` _[FRRStatus](#frrstatus)_ | FRR is the status of the FRR daemon | | | +| `vpcs` _object (keys:string, values:[VPCStatus](#vpcstatus))_ | VPCs is the status of the VPCs where key is the vpc (vpcinfo) name | | | +| `peerings` _object (keys:string, values:[PeeringStatus](#peeringstatus))_ | Peerings is the status of the VPCs peerings where key is VPC1->VPC2 and data is for one direction only | | | +| `bgp` _[BGPStatus](#bgpstatus)_ | BGP is BGP status | | | + + +#### PeeringStatus + + + +PeeringStatus represents the status of a peering between a pair of VPCs in one direction + + + +_Appears in:_ +- [GatewayState](#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 | | | + + +#### VPCStatus + + + + + + + +_Appears in:_ +- [GatewayState](#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 | | | + + + ## vpc.githedgehog.com/v1beta1 Package v1beta1 contains API Schema definitions for the vpc v1beta1 API group. It is public API group for the VPCs @@ -828,7 +1602,7 @@ worry about the details of how external system is attached to the Fabric. | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `External` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[ExternalSpec](#externalspec)_ | Spec is the desired state of the External | | | | `status` _[ExternalStatus](#externalstatus)_ | Status is the observed state of the External | | | @@ -848,7 +1622,7 @@ Effectively it represents BGP peering between the switch and external system inc | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `ExternalAttachment` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[ExternalAttachmentSpec](#externalattachmentspec)_ | Spec is the desired state of the ExternalAttachment | | | | `status` _[ExternalAttachmentStatus](#externalattachmentstatus)_ | Status is the observed state of the ExternalAttachment | | | @@ -953,7 +1727,7 @@ ExternalPeering is the Schema for the externalpeerings API | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `ExternalPeering` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[ExternalPeeringSpec](#externalpeeringspec)_ | Spec is the desired state of the ExternalPeering | | | | `status` _[ExternalPeeringStatus](#externalpeeringstatus)_ | Status is the observed state of the ExternalPeering | | | @@ -1118,7 +1892,7 @@ non-overlapping. Users can create multiple IPv4Namespaces to allocate same VPC s | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `IPv4Namespace` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[IPv4NamespaceSpec](#ipv4namespacespec)_ | Spec is the desired state of the IPv4Namespace | | | | `status` _[IPv4NamespaceStatus](#ipv4namespacestatus)_ | Status is the observed state of the IPv4Namespace | | | @@ -1167,7 +1941,7 @@ resources with support for multiple subnets each with user-provided VLANs and on | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `VPC` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[VPCSpec](#vpcspec)_ | Spec is the desired state of the VPC | | | | `status` _[VPCStatus](#vpcstatus)_ | Status is the observed state of the VPC | | | @@ -1186,7 +1960,7 @@ VPCAttachment is the Schema for the vpcattachments API | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `VPCAttachment` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[VPCAttachmentSpec](#vpcattachmentspec)_ | Spec is the desired state of the VPCAttachment | | | | `status` _[VPCAttachmentStatus](#vpcattachmentstatus)_ | Status is the observed state of the VPCAttachment | | | @@ -1369,7 +2143,7 @@ Minimal example of the VPC peering showing vpc-1 to vpc-2 peering with all subne | --- | --- | --- | --- | | `apiVersion` _string_ | `vpc.githedgehog.com/v1beta1` | | | | `kind` _string_ | `VPCPeering` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[VPCPeeringSpec](#vpcpeeringspec)_ | Spec is the desired state of the VPCPeering | | | | `status` _[VPCPeeringStatus](#vpcpeeringstatus)_ | Status is the observed state of the VPCPeering | | | @@ -1812,7 +2586,7 @@ in a single Connection object. | --- | --- | --- | --- | | `apiVersion` _string_ | `wiring.githedgehog.com/v1beta1` | | | | `kind` _string_ | `Connection` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[ConnectionSpec](#connectionspec)_ | Spec is the desired state of the Connection | | | | `status` _[ConnectionStatus](#connectionstatus)_ | Status is the observed state of the Connection | | | @@ -1923,7 +2697,7 @@ Server is the Schema for the servers API | --- | --- | --- | --- | | `apiVersion` _string_ | `wiring.githedgehog.com/v1beta1` | | | | `kind` _string_ | `Server` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[ServerSpec](#serverspec)_ | Spec is desired state of the server | | | | `status` _[ServerStatus](#serverstatus)_ | Status is the observed state of the server | | | @@ -2011,7 +2785,7 @@ Switch is the Schema for the switches API | --- | --- | --- | --- | | `apiVersion` _string_ | `wiring.githedgehog.com/v1beta1` | | | | `kind` _string_ | `Switch` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[SwitchSpec](#switchspec)_ | Spec is desired state of the switch | | | | `status` _[SwitchStatus](#switchstatus)_ | Status is the observed state of the switch | | | @@ -2063,7 +2837,7 @@ SwitchGroup is the marker API object to group switches together, switch can belo | --- | --- | --- | --- | | `apiVersion` _string_ | `wiring.githedgehog.com/v1beta1` | | | | `kind` _string_ | `SwitchGroup` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[SwitchGroupSpec](#switchgroupspec)_ | Spec is the desired state of the SwitchGroup | | | | `status` _[SwitchGroupStatus](#switchgroupstatus)_ | Status is the observed state of the SwitchGroup | | | @@ -2108,7 +2882,7 @@ SwitchProfile represents switch capabilities and configuration | --- | --- | --- | --- | | `apiVersion` _string_ | `wiring.githedgehog.com/v1beta1` | | | | `kind` _string_ | `SwitchProfile` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[SwitchProfileSpec](#switchprofilespec)_ | | | | | `status` _[SwitchProfileStatus](#switchprofilestatus)_ | | | | @@ -2440,7 +3214,7 @@ VLANNamespace is the Schema for the vlannamespaces API | --- | --- | --- | --- | | `apiVersion` _string_ | `wiring.githedgehog.com/v1beta1` | | | | `kind` _string_ | `VLANNamespace` | | | -| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | +| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.35/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | | | `spec` _[VLANNamespaceSpec](#vlannamespacespec)_ | Spec is the desired state of the VLANNamespace | | | | `status` _[VLANNamespaceStatus](#vlannamespacestatus)_ | Status is the observed state of the VLANNamespace | | |