mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 08:47:35 +08:00
NET-1509:add ingresspersistentkeepalive and ingressmtu for extClient/RAC config (#3107)
* add ingresspersistentkeepalive and ingressmtu for extClient/RAC config * add ingressmtu and PKA in api response * add pka and mtu in api/nodes PUT call * add default value for PKA and mtu for extClients
This commit is contained in:
@@ -10,33 +10,35 @@ import (
|
||||
|
||||
// ApiNode is a stripped down Node DTO that exposes only required fields to external systems
|
||||
type ApiNode struct {
|
||||
ID string `json:"id,omitempty" validate:"required,min=5,id_unique"`
|
||||
HostID string `json:"hostid,omitempty" validate:"required,min=5,id_unique"`
|
||||
Address string `json:"address" validate:"omitempty,cidrv4"`
|
||||
Address6 string `json:"address6" validate:"omitempty,cidrv6"`
|
||||
LocalAddress string `json:"localaddress" validate:"omitempty,cidr"`
|
||||
AllowedIPs []string `json:"allowedips"`
|
||||
LastModified int64 `json:"lastmodified"`
|
||||
ExpirationDateTime int64 `json:"expdatetime"`
|
||||
LastCheckIn int64 `json:"lastcheckin"`
|
||||
LastPeerUpdate int64 `json:"lastpeerupdate"`
|
||||
Network string `json:"network"`
|
||||
NetworkRange string `json:"networkrange"`
|
||||
NetworkRange6 string `json:"networkrange6"`
|
||||
IsRelayed bool `json:"isrelayed"`
|
||||
IsRelay bool `json:"isrelay"`
|
||||
RelayedBy string `json:"relayedby" bson:"relayedby" yaml:"relayedby"`
|
||||
RelayedNodes []string `json:"relaynodes" yaml:"relayedNodes"`
|
||||
IsEgressGateway bool `json:"isegressgateway"`
|
||||
IsIngressGateway bool `json:"isingressgateway"`
|
||||
EgressGatewayRanges []string `json:"egressgatewayranges"`
|
||||
EgressGatewayNatEnabled bool `json:"egressgatewaynatenabled"`
|
||||
DNSOn bool `json:"dnson"`
|
||||
IngressDns string `json:"ingressdns"`
|
||||
Server string `json:"server"`
|
||||
Connected bool `json:"connected"`
|
||||
PendingDelete bool `json:"pendingdelete"`
|
||||
Metadata string `json:"metadata"`
|
||||
ID string `json:"id,omitempty" validate:"required,min=5,id_unique"`
|
||||
HostID string `json:"hostid,omitempty" validate:"required,min=5,id_unique"`
|
||||
Address string `json:"address" validate:"omitempty,cidrv4"`
|
||||
Address6 string `json:"address6" validate:"omitempty,cidrv6"`
|
||||
LocalAddress string `json:"localaddress" validate:"omitempty,cidr"`
|
||||
AllowedIPs []string `json:"allowedips"`
|
||||
LastModified int64 `json:"lastmodified"`
|
||||
ExpirationDateTime int64 `json:"expdatetime"`
|
||||
LastCheckIn int64 `json:"lastcheckin"`
|
||||
LastPeerUpdate int64 `json:"lastpeerupdate"`
|
||||
Network string `json:"network"`
|
||||
NetworkRange string `json:"networkrange"`
|
||||
NetworkRange6 string `json:"networkrange6"`
|
||||
IsRelayed bool `json:"isrelayed"`
|
||||
IsRelay bool `json:"isrelay"`
|
||||
RelayedBy string `json:"relayedby" bson:"relayedby" yaml:"relayedby"`
|
||||
RelayedNodes []string `json:"relaynodes" yaml:"relayedNodes"`
|
||||
IsEgressGateway bool `json:"isegressgateway"`
|
||||
IsIngressGateway bool `json:"isingressgateway"`
|
||||
EgressGatewayRanges []string `json:"egressgatewayranges"`
|
||||
EgressGatewayNatEnabled bool `json:"egressgatewaynatenabled"`
|
||||
DNSOn bool `json:"dnson"`
|
||||
IngressDns string `json:"ingressdns"`
|
||||
IngressPersistentKeepalive int32 `json:"ingresspersistentkeepalive"`
|
||||
IngressMTU int32 `json:"ingressmtu"`
|
||||
Server string `json:"server"`
|
||||
Connected bool `json:"connected"`
|
||||
PendingDelete bool `json:"pendingdelete"`
|
||||
Metadata string `json:"metadata"`
|
||||
// == PRO ==
|
||||
DefaultACL string `json:"defaultacl,omitempty" validate:"checkyesornoorunset"`
|
||||
IsFailOver bool `json:"is_fail_over"`
|
||||
@@ -72,6 +74,8 @@ func (a *ApiNode) ConvertToServerNode(currentNode *Node) *Node {
|
||||
convertedNode.IngressGatewayRange6 = currentNode.IngressGatewayRange6
|
||||
convertedNode.DNSOn = a.DNSOn
|
||||
convertedNode.IngressDNS = a.IngressDns
|
||||
convertedNode.IngressPersistentKeepalive = a.IngressPersistentKeepalive
|
||||
convertedNode.IngressMTU = a.IngressMTU
|
||||
convertedNode.IsInternetGateway = a.IsInternetGateway
|
||||
convertedNode.EgressGatewayRequest = currentNode.EgressGatewayRequest
|
||||
convertedNode.EgressGatewayNatEnabled = currentNode.EgressGatewayNatEnabled
|
||||
@@ -162,6 +166,8 @@ func (nm *Node) ConvertToAPINode() *ApiNode {
|
||||
apiNode.EgressGatewayNatEnabled = nm.EgressGatewayNatEnabled
|
||||
apiNode.DNSOn = nm.DNSOn
|
||||
apiNode.IngressDns = nm.IngressDNS
|
||||
apiNode.IngressPersistentKeepalive = nm.IngressPersistentKeepalive
|
||||
apiNode.IngressMTU = nm.IngressMTU
|
||||
apiNode.Server = nm.Server
|
||||
apiNode.Connected = nm.Connected
|
||||
apiNode.PendingDelete = nm.PendingDelete
|
||||
|
Reference in New Issue
Block a user