|
@@ -15,9 +15,43 @@ definitions:
|
|
|
description: ACLContainer - the total list of all node's ACL in a given network
|
|
|
type: object
|
|
|
x-go-package: github.com/gravitl/netmaker/logic/acls
|
|
|
+ APIEnrollmentKey:
|
|
|
+ description: APIEnrollmentKey - used to create enrollment keys via API
|
|
|
+ properties:
|
|
|
+ expiration:
|
|
|
+ format: int64
|
|
|
+ type: integer
|
|
|
+ x-go-name: Expiration
|
|
|
+ networks:
|
|
|
+ items:
|
|
|
+ type: string
|
|
|
+ type: array
|
|
|
+ x-go-name: Networks
|
|
|
+ relay:
|
|
|
+ type: string
|
|
|
+ x-go-name: Relay
|
|
|
+ tags:
|
|
|
+ items:
|
|
|
+ type: string
|
|
|
+ type: array
|
|
|
+ x-go-name: Tags
|
|
|
+ type:
|
|
|
+ $ref: '#/definitions/KeyType'
|
|
|
+ unlimited:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: Unlimited
|
|
|
+ uses_remaining:
|
|
|
+ format: int64
|
|
|
+ type: integer
|
|
|
+ x-go-name: UsesRemaining
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
ApiHost:
|
|
|
description: ApiHost - the host struct for API usage
|
|
|
properties:
|
|
|
+ autoupdate:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: AutoUpdate
|
|
|
debug:
|
|
|
type: boolean
|
|
|
x-go-name: Debug
|
|
@@ -41,12 +75,6 @@ definitions:
|
|
|
isdefault:
|
|
|
type: boolean
|
|
|
x-go-name: IsDefault
|
|
|
- isrelay:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsRelay
|
|
|
- isrelayed:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsRelayed
|
|
|
isstatic:
|
|
|
type: boolean
|
|
|
x-go-name: IsStatic
|
|
@@ -75,17 +103,13 @@ definitions:
|
|
|
os:
|
|
|
type: string
|
|
|
x-go-name: OS
|
|
|
+ persistentkeepalive:
|
|
|
+ format: int64
|
|
|
+ type: integer
|
|
|
+ x-go-name: PersistentKeepalive
|
|
|
publickey:
|
|
|
type: string
|
|
|
x-go-name: PublicKey
|
|
|
- relay_hosts:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: RelayedHosts
|
|
|
- relayed_by:
|
|
|
- type: string
|
|
|
- x-go-name: RelayedBy
|
|
|
verbosity:
|
|
|
format: int64
|
|
|
type: integer
|
|
@@ -135,6 +159,12 @@ definitions:
|
|
|
type: string
|
|
|
type: array
|
|
|
x-go-name: ExtraAllowedIPs
|
|
|
+ postdown:
|
|
|
+ type: string
|
|
|
+ x-go-name: PostDown
|
|
|
+ postup:
|
|
|
+ type: string
|
|
|
+ x-go-name: PostUp
|
|
|
publickey:
|
|
|
type: string
|
|
|
x-go-name: PublicKey
|
|
@@ -187,6 +217,32 @@ definitions:
|
|
|
x-go-name: Ranges
|
|
|
type: object
|
|
|
x-go-package: github.com/gravitl/netmaker/models
|
|
|
+ EgressInfo:
|
|
|
+ description: EgressInfo - struct for egress info
|
|
|
+ properties:
|
|
|
+ egress_gateway_cfg:
|
|
|
+ $ref: '#/definitions/EgressGatewayRequest'
|
|
|
+ egress_gw_addr:
|
|
|
+ $ref: '#/definitions/IPNet'
|
|
|
+ egress_id:
|
|
|
+ type: string
|
|
|
+ x-go-name: EgressID
|
|
|
+ network:
|
|
|
+ $ref: '#/definitions/IPNet'
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
+ EgressNetworkRoutes:
|
|
|
+ description: EgressNetworkRoutes - struct for egress network routes for adding routes to peer's interface
|
|
|
+ properties:
|
|
|
+ egress_ranges:
|
|
|
+ items:
|
|
|
+ type: string
|
|
|
+ type: array
|
|
|
+ x-go-name: EgressRanges
|
|
|
+ node_addr:
|
|
|
+ $ref: '#/definitions/IPNet'
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
EnrollmentKey:
|
|
|
description: EnrollmentKey - the key used to register hosts and join them to specific networks
|
|
|
properties:
|
|
@@ -199,6 +255,10 @@ definitions:
|
|
|
type: string
|
|
|
type: array
|
|
|
x-go-name: Networks
|
|
|
+ relay:
|
|
|
+ format: uuid
|
|
|
+ type: string
|
|
|
+ x-go-name: Relay
|
|
|
tags:
|
|
|
items:
|
|
|
type: string
|
|
@@ -230,6 +290,11 @@ definitions:
|
|
|
address6:
|
|
|
type: string
|
|
|
x-go-name: Address6
|
|
|
+ allowed_ips:
|
|
|
+ items:
|
|
|
+ type: string
|
|
|
+ type: array
|
|
|
+ x-go-name: AllowedIPs
|
|
|
clientid:
|
|
|
type: string
|
|
|
x-go-name: ClientID
|
|
@@ -265,6 +330,12 @@ definitions:
|
|
|
ownerid:
|
|
|
type: string
|
|
|
x-go-name: OwnerID
|
|
|
+ postdown:
|
|
|
+ type: string
|
|
|
+ x-go-name: PostDown
|
|
|
+ postup:
|
|
|
+ type: string
|
|
|
+ x-go-name: PostUp
|
|
|
privatekey:
|
|
|
type: string
|
|
|
x-go-name: PrivateKey
|
|
@@ -280,6 +351,19 @@ definitions:
|
|
|
title: File represents an open file descriptor.
|
|
|
type: object
|
|
|
x-go-package: os
|
|
|
+ FwUpdate:
|
|
|
+ description: FwUpdate - struct for firewall updates
|
|
|
+ properties:
|
|
|
+ egress_info:
|
|
|
+ additionalProperties:
|
|
|
+ $ref: '#/definitions/EgressInfo'
|
|
|
+ type: object
|
|
|
+ x-go-name: EgressInfo
|
|
|
+ is_egress_gw:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: IsEgressGw
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
HardwareAddr:
|
|
|
items:
|
|
|
format: uint8
|
|
@@ -362,6 +446,8 @@ definitions:
|
|
|
os:
|
|
|
type: string
|
|
|
x-go-name: OS
|
|
|
+ persistentkeepalive:
|
|
|
+ $ref: '#/definitions/Duration'
|
|
|
publickey:
|
|
|
$ref: '#/definitions/Key'
|
|
|
traffickeypublic:
|
|
@@ -386,11 +472,52 @@ definitions:
|
|
|
x-go-name: WgPublicListenPort
|
|
|
type: object
|
|
|
x-go-package: github.com/gravitl/netmaker/models
|
|
|
+ HostInfoMap:
|
|
|
+ additionalProperties:
|
|
|
+ $ref: '#/definitions/HostNetworkInfo'
|
|
|
+ description: HostInfoMap - map of host public keys to host networking info
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
+ HostNetworkInfo:
|
|
|
+ description: HostNetworkInfo - holds info related to host networking (used for client side peer calculations)
|
|
|
+ properties:
|
|
|
+ interfaces:
|
|
|
+ items:
|
|
|
+ $ref: '#/definitions/Iface'
|
|
|
+ type: array
|
|
|
+ x-go-name: Interfaces
|
|
|
+ is_static:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: IsStatic
|
|
|
+ listen_port:
|
|
|
+ format: int64
|
|
|
+ type: integer
|
|
|
+ x-go-name: ListenPort
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
HostPull:
|
|
|
description: HostPull - response of a host's pull
|
|
|
properties:
|
|
|
+ change_default_gw:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: ChangeDefaultGw
|
|
|
+ default_gw_ip:
|
|
|
+ type: string
|
|
|
+ x-go-name: DefaultGwIp
|
|
|
+ egress_network_routes:
|
|
|
+ items:
|
|
|
+ $ref: '#/definitions/EgressNetworkRoutes'
|
|
|
+ type: array
|
|
|
+ x-go-name: EgressRoutes
|
|
|
+ fw_update:
|
|
|
+ $ref: '#/definitions/FwUpdate'
|
|
|
host:
|
|
|
$ref: '#/definitions/Host'
|
|
|
+ host_network_info:
|
|
|
+ $ref: '#/definitions/HostInfoMap'
|
|
|
+ is_inet_gw:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: IsInternetGw
|
|
|
nodes:
|
|
|
items:
|
|
|
$ref: '#/definitions/Node'
|
|
@@ -413,6 +540,9 @@ definitions:
|
|
|
address:
|
|
|
type: string
|
|
|
x-go-name: Address
|
|
|
+ host_id:
|
|
|
+ type: string
|
|
|
+ x-go-name: HostID
|
|
|
id:
|
|
|
type: string
|
|
|
x-go-name: ID
|
|
@@ -466,6 +596,16 @@ definitions:
|
|
|
x-go-name: Name
|
|
|
type: object
|
|
|
x-go-package: github.com/gravitl/netmaker/models
|
|
|
+ InetNodeReq:
|
|
|
+ description: InetNodeReq - exit node request struct
|
|
|
+ properties:
|
|
|
+ inet_node_client_ids:
|
|
|
+ items:
|
|
|
+ type: string
|
|
|
+ type: array
|
|
|
+ x-go-name: InetNodeClientIDs
|
|
|
+ type: object
|
|
|
+ x-go-package: github.com/gravitl/netmaker/models
|
|
|
Key:
|
|
|
description: |-
|
|
|
A Key is a public, private, or pre-shared secret key. The Key constructor
|
|
@@ -758,13 +898,15 @@ definitions:
|
|
|
format: date-time
|
|
|
type: string
|
|
|
x-go-name: ExpirationDateTime
|
|
|
- failover:
|
|
|
- type: boolean
|
|
|
- x-go-name: Failover
|
|
|
- failovernode:
|
|
|
+ fail_over_peers:
|
|
|
+ additionalProperties:
|
|
|
+ type: object
|
|
|
+ type: object
|
|
|
+ x-go-name: FailOverPeers
|
|
|
+ failed_over_by:
|
|
|
format: uuid
|
|
|
type: string
|
|
|
- x-go-name: FailoverNode
|
|
|
+ x-go-name: FailedOverBy
|
|
|
hostid:
|
|
|
format: uuid
|
|
|
type: string
|
|
@@ -773,6 +915,8 @@ definitions:
|
|
|
format: uuid
|
|
|
type: string
|
|
|
x-go-name: ID
|
|
|
+ inet_node_req:
|
|
|
+ $ref: '#/definitions/InetNodeReq'
|
|
|
ingressdns:
|
|
|
type: string
|
|
|
x-go-name: IngressDNS
|
|
@@ -782,14 +926,21 @@ definitions:
|
|
|
ingressgatewayrange6:
|
|
|
type: string
|
|
|
x-go-name: IngressGatewayRange6
|
|
|
- internetgateway:
|
|
|
- $ref: '#/definitions/UDPAddr'
|
|
|
+ internetgw_node_id:
|
|
|
+ type: string
|
|
|
+ x-go-name: InternetGwID
|
|
|
+ is_fail_over:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: IsFailOver
|
|
|
isegressgateway:
|
|
|
type: boolean
|
|
|
x-go-name: IsEgressGateway
|
|
|
isingressgateway:
|
|
|
type: boolean
|
|
|
x-go-name: IsIngressGateway
|
|
|
+ isinternetgateway:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: IsInternetGateway
|
|
|
isrelay:
|
|
|
type: boolean
|
|
|
x-go-name: IsRelay
|
|
@@ -810,6 +961,9 @@ definitions:
|
|
|
x-go-name: LastPeerUpdate
|
|
|
localaddress:
|
|
|
$ref: '#/definitions/IPNet'
|
|
|
+ metadata:
|
|
|
+ type: string
|
|
|
+ x-go-name: Metadata
|
|
|
network:
|
|
|
type: string
|
|
|
x-go-name: Network
|
|
@@ -823,8 +977,6 @@ definitions:
|
|
|
pendingdelete:
|
|
|
type: boolean
|
|
|
x-go-name: PendingDelete
|
|
|
- persistentkeepalive:
|
|
|
- $ref: '#/definitions/Duration'
|
|
|
relayedby:
|
|
|
type: string
|
|
|
x-go-name: RelayedBy
|
|
@@ -930,6 +1082,8 @@ definitions:
|
|
|
type: string
|
|
|
BrokerType:
|
|
|
type: string
|
|
|
+ CacheEnabled:
|
|
|
+ type: string
|
|
|
ClientID:
|
|
|
type: string
|
|
|
ClientSecret:
|
|
@@ -965,6 +1119,8 @@ definitions:
|
|
|
IsEE:
|
|
|
type: string
|
|
|
x-go-name: IsPro
|
|
|
+ JwtValidityDuration:
|
|
|
+ $ref: '#/definitions/Duration'
|
|
|
LicenseValue:
|
|
|
type: string
|
|
|
MQPassword:
|
|
@@ -997,6 +1153,8 @@ definitions:
|
|
|
type: string
|
|
|
PublicIPService:
|
|
|
type: string
|
|
|
+ RacAutoDisable:
|
|
|
+ type: boolean
|
|
|
RestBackend:
|
|
|
type: string
|
|
|
SQLConn:
|
|
@@ -1040,9 +1198,18 @@ definitions:
|
|
|
properties:
|
|
|
action:
|
|
|
$ref: '#/definitions/SignalAction'
|
|
|
+ from_host_id:
|
|
|
+ type: string
|
|
|
+ x-go-name: FromHostID
|
|
|
from_host_pubkey:
|
|
|
type: string
|
|
|
x-go-name: FromHostPubKey
|
|
|
+ from_node_id:
|
|
|
+ type: string
|
|
|
+ x-go-name: FromNodeID
|
|
|
+ is_pro:
|
|
|
+ type: boolean
|
|
|
+ x-go-name: IsPro
|
|
|
reply:
|
|
|
type: boolean
|
|
|
x-go-name: Reply
|
|
@@ -1053,12 +1220,15 @@ definitions:
|
|
|
format: int64
|
|
|
type: integer
|
|
|
x-go-name: TimeStamp
|
|
|
+ to_host_id:
|
|
|
+ type: string
|
|
|
+ x-go-name: ToHostID
|
|
|
to_host_pubkey:
|
|
|
type: string
|
|
|
x-go-name: ToHostPubKey
|
|
|
- turn_relay_addr:
|
|
|
+ to_node_id:
|
|
|
type: string
|
|
|
- x-go-name: TurnRelayEndpoint
|
|
|
+ x-go-name: ToNodeID
|
|
|
type: object
|
|
|
x-go-package: github.com/gravitl/netmaker/models
|
|
|
SignalAction:
|
|
@@ -1114,6 +1284,10 @@ definitions:
|
|
|
issuperadmin:
|
|
|
type: boolean
|
|
|
x-go-name: IsSuperAdmin
|
|
|
+ last_login_time:
|
|
|
+ format: date-time
|
|
|
+ type: string
|
|
|
+ x-go-name: LastLoginTime
|
|
|
password:
|
|
|
type: string
|
|
|
x-go-name: Password
|
|
@@ -1765,6 +1939,41 @@ paths:
|
|
|
summary: Update a network ACL (Access Control List).
|
|
|
tags:
|
|
|
- networks
|
|
|
+ /api/networks/{networkname}/acls/v2:
|
|
|
+ put:
|
|
|
+ operationId: updateNetworkACL
|
|
|
+ parameters:
|
|
|
+ - description: 'name: network name'
|
|
|
+ in: path
|
|
|
+ name: networkname
|
|
|
+ required: true
|
|
|
+ type: string
|
|
|
+ x-go-name: Networkname
|
|
|
+ - description: ACL Container
|
|
|
+ in: body
|
|
|
+ name: acl_container
|
|
|
+ schema:
|
|
|
+ $ref: '#/definitions/ACLContainer'
|
|
|
+ x-go-name: ACLContainer
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/aclContainerResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Update a network ACL (Access Control List).
|
|
|
+ tags:
|
|
|
+ - networks
|
|
|
+ /api/node/{nodeid}/failOverME:
|
|
|
+ post:
|
|
|
+ operationId: failOver_me
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/nodeResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Create a relay.
|
|
|
+ tags:
|
|
|
+ - node
|
|
|
/api/nodes:
|
|
|
get:
|
|
|
operationId: getAllNodes
|
|
@@ -2014,6 +2223,37 @@ paths:
|
|
|
summary: Remove a relay.
|
|
|
tags:
|
|
|
- nodes
|
|
|
+ /api/nodes/{network}/{nodeid}/inet_gw:
|
|
|
+ delete:
|
|
|
+ operationId: deleteInternetGw
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/nodeResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Delete an internet gw.
|
|
|
+ tags:
|
|
|
+ - nodes
|
|
|
+ post:
|
|
|
+ operationId: createInternetGw
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/nodeResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Create an inet node.
|
|
|
+ tags:
|
|
|
+ - nodes
|
|
|
+ put:
|
|
|
+ operationId: updateInternetGw
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/nodeResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: update an inet node.
|
|
|
+ tags:
|
|
|
+ - nodes
|
|
|
/api/nodes/{network}/{nodeid}/ingress/users:
|
|
|
get:
|
|
|
operationId: ingressGatewayUsers
|
|
@@ -2300,6 +2540,13 @@ paths:
|
|
|
- enrollmentKeys
|
|
|
post:
|
|
|
operationId: createEnrollmentKey
|
|
|
+ parameters:
|
|
|
+ - description: APIEnrollmentKey
|
|
|
+ in: body
|
|
|
+ name: body
|
|
|
+ schema:
|
|
|
+ $ref: '#/definitions/APIEnrollmentKey'
|
|
|
+ x-go-name: Body
|
|
|
responses:
|
|
|
"200":
|
|
|
$ref: '#/responses/EnrollmentKey'
|
|
@@ -2325,6 +2572,29 @@ paths:
|
|
|
summary: Deletes an EnrollmentKey from Netmaker server.
|
|
|
tags:
|
|
|
- enrollmentKeys
|
|
|
+ put:
|
|
|
+ operationId: updateEnrollmentKey
|
|
|
+ parameters:
|
|
|
+ - description: KeyID
|
|
|
+ in: path
|
|
|
+ name: keyid
|
|
|
+ required: true
|
|
|
+ type: string
|
|
|
+ x-go-name: KeyID
|
|
|
+ - description: APIEnrollmentKey
|
|
|
+ in: body
|
|
|
+ name: body
|
|
|
+ schema:
|
|
|
+ $ref: '#/definitions/APIEnrollmentKey'
|
|
|
+ x-go-name: Body
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/EnrollmentKey'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Updates an EnrollmentKey for hosts to use on Netmaker server. Updates only the relay to use.
|
|
|
+ tags:
|
|
|
+ - enrollmentKeys
|
|
|
/api/v1/enrollment-keys/{token}:
|
|
|
post:
|
|
|
operationId: handleHostRegister
|
|
@@ -2347,6 +2617,17 @@ paths:
|
|
|
summary: Handles a Netclient registration with server and add nodes accordingly.
|
|
|
tags:
|
|
|
- enrollmentKeys
|
|
|
+ /api/v1/fallback/host/{hostid}:
|
|
|
+ put:
|
|
|
+ operationId: hostUpdateFallback
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/apiHostResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Updates a Netclient host on Netmaker server.
|
|
|
+ tags:
|
|
|
+ - hosts
|
|
|
/api/v1/host:
|
|
|
get:
|
|
|
description: Used by clients for "pull" command
|
|
@@ -2369,6 +2650,27 @@ paths:
|
|
|
summary: Delete all legacy nodes from DB.
|
|
|
tags:
|
|
|
- nodes
|
|
|
+ /api/v1/node/failover:
|
|
|
+ delete:
|
|
|
+ operationId: deletefailOver
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/nodeResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Create a relay.
|
|
|
+ tags:
|
|
|
+ - node
|
|
|
+ post:
|
|
|
+ operationId: createfailOver
|
|
|
+ responses:
|
|
|
+ "200":
|
|
|
+ $ref: '#/responses/nodeResponse'
|
|
|
+ schemes:
|
|
|
+ - https
|
|
|
+ summary: Create a relay.
|
|
|
+ tags:
|
|
|
+ - node
|
|
|
/api/v1/nodes/migrate:
|
|
|
put:
|
|
|
operationId: migrateData
|