Commit graph

137 commits

Author SHA1 Message Date
Abhishek K 7ff30599ed
NET-1252: Restrict inetGws, Relays from getting failedOver (#2937)
* add additional checks to avoid failovers

* add failover defence check on signal handler

* only add check for victim node

* avoid failover reset on pull

* add relayed for failoverme

* misc changes for failover

* remove resetfailoverpeers for InetNode

* add egress route back to allowedip list if relayed is egressGW

* add extclient back to allowedip list if peer is ingressGW

* reset failover on pull

---------

Co-authored-by: Max Ma <mayabin@gmail.com>
2024-06-03 10:49:02 +04:00
Max Ma 961f8eab6e
NET-1119 (#2886)
* exclude IngressGW in failover

* resetfailoverpeer when adding IngressGw if failover enabled

* exclude InetGW in failover

* get egress ranges of failedover peer

---------

Co-authored-by: abhishek9686 <abhi281342@gmail.com>
2024-04-12 18:22:03 +05:30
Abhishek K 66069fbc34
NET-1082: Scale Testing Fixes (#2894)
* add additional mutex lock on node acls func

* increase verbosity

* disable acls on cloud emqx

* add emqx creds creation to go routine

* add debug log of mq client id

* comment port check

* uncomment port check

* check for connection mq connection open

* use username for client id

* add write mutex on acl is allowed

* add mq connection lost handler on server

* spin off zombie init as go routine

* get whole api path from config

* Revert "get whole api path from config"

This reverts commit 392f5f4c5f.

* update extclient acls async

* add additional mutex lock on node acls func

(cherry picked from commit 5325f0e7d7)

* increase verbosity

(cherry picked from commit 705b3cf0bf)

* add emqx creds creation to go routine

(cherry picked from commit c8e65f4820)

* add debug log of mq client id

(cherry picked from commit 29c5d6ceca)

* comment port check

(cherry picked from commit db8d6d95ea)

* check for connection mq connection open

(cherry picked from commit 13b11033b0)

* use username for client id

(cherry picked from commit e90c7386de)

* add write mutex on acl is allowed

(cherry picked from commit 4cae1b0bb4)

* add mq connection lost handler on server

(cherry picked from commit c82918ad35)

* spin off zombie init as go routine

(cherry picked from commit 6d65c44c43)

* update extclient acls async

(cherry picked from commit 6557ef1ebe)

* additionl logs for oauth user flow

(cherry picked from commit 61703038ae)

* add more debug logs

(cherry picked from commit 5980beacd1)

* add more debug logs

(cherry picked from commit 4d001f0d27)

* add set auth secret

(cherry picked from commit f41cef5da5)

* fix fetch pass

(cherry picked from commit 825caf4b60)

* make sure auth secret is set only once

(cherry picked from commit ba33ed02aa)

* make sure auth secret is set only once

(cherry picked from commit 920ac4c507)

* comment usage of emqx acls

* replace  read lock with write lock on acls

* replace  read lock with write lock on acls

(cherry picked from commit 808d2135c8)

* use deadlock pkg for visibility

* add additional mutex locks

* remove race flag

* on mq re-connecting donot exit if failed

* on mq re-connecting donot exit if failed

* revert mutex package change

* set mq clean session

* remove debug log

* go mod tidy

* revert on prem emqx acls del
2024-04-11 21:18:57 +05:30
Max Ma 5740c3e009
Net 1115 (#2890)
* add endpointipv6 for host

* keep endpointipv6 unchanged when enable static endpoint

* handle ipv6 endpoint updates

---------

Co-authored-by: abhishek9686 <abhi281342@gmail.com>
2024-04-11 17:37:45 +05:30
abhishek9686 155f2887b2 implement emqx interface methods for cloud and on-prem 2024-01-25 15:11:16 +05:30
Abhishek K 465f2bd5be
NET-896: Scale test bug fixes (#2764)
* send peer update in async

* update metrics on fallback

* return http json response
2024-01-15 23:17:36 +05:30
Abhishek K 5bf30b2c10
NET-877: Replace peers on Refreshkeys peer update (#2761)
* replace peers on key refresh

* add peer conf to metrics map only when allowed
2024-01-11 15:59:19 +05:30
Farukh Khan 1f9ef50df7
NET-655 (#2670)
* NET-655

* Updated HostPull structure to include EgressRoutes and FirewallUpdate models.

* added ServerVersion structure to hostpull model

* added ServerVersion structure to hostpull model

* removed ServerVersion structure

* removed ServerVersion structure

* added egressroute and fwupdate to hostpull handler

* add host update fallback handler

* set broker type on server cfg

* use actual host password to create emqx user

---------

Co-authored-by: Christopher Blaha <crispspiceguitar@gmail.com>
Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
2023-12-21 10:43:06 +04:00
Abhishek K 7e3bf3baea
NET-812: Deprecate Setting /etc/hosts entries (#2733)
* deprecate setting etc host dns entries, set coredns entries at neccessary places

* remove dns mq topics

* only set dns when set on

* add extcleints dns entries to coredns

* fix static checks

* run coredns with host network mode

* add bind address to coredns container
2023-12-20 10:24:53 +04:00
Abhishek K 98c01c4325
NET-814: Deprecating TURN (#2723)
* deprecate turn

* process signals through mq
2023-12-13 22:46:57 +04:00
Abhishek K b78cc0a8a1
NET-725: Failovers (#2685)
* api to  to get host relayed from client

* add auto relay to api host

* add peer nat type

* set pro field on signal

* rm net check on relay me handler

* return success response

* re-establish failover logic

* set failOver ctx

* failOver with peer pub key

* failovered peer updates

* failover handlers, reset failovered peer on deletion

* rm unused funcs

* initialize failover handler on EE

* ignore failover node on signal

* failover changes

* set host id on signal

* extend signal model to include node ids

* add backwards compatibility

* add failover as node api

* set json response on failover handers

* add failover field to api node

* fix signal data check

* initialize failover peer map

* reset failovered status when relayed or deleted

* add failover info to api node

* reset network failover

* only proceed furtuer if failover exists in the network

* set failOver node defaults

* cannot set failover node as relayed

* debug log

* debug log

* debug changes

* debug changes

* debug changes

* revert debug changes

* don't add peers to idmap when removed

* reset failed Over

* fix static checks

* rm debug log

* add check for linux host
2023-11-29 20:10:07 +04:00
Abhishek K 27378b9c52
NET-765: publish deleted node update on disconnect (#2668)
* publish deleted node update on disconnect

* delete any daemon node

* set peer update for disconnected Node

* set peer update for disconnected Node
2023-11-15 19:53:52 +04:00
Abhishek K 83e83f8392
NET-751: Send deleted node peer update on uninstall (#2665)
* send deleted node peer update, when deleted host from client

* remove duplicate peer update
2023-11-10 11:37:38 +04:00
Abhishek K 7169db78ea
NET-717: DNS Fixes (#2654)
* send dns with complete entry name

* publish dns records on adding host to network from UI

* publish node dns updates when host is removed
2023-11-08 17:43:41 +04:00
Matthew R Kasun 83f2f2ef28
publish node update on ifcace change (#2600) 2023-09-28 14:28:19 +04:00
Gabriel de Souza Seibel 1a1ba1ccf4
[NET-546] Move ee code to ee package, unify ee status and terminology (#2538)
* Move ee code to ee package and unify ee status to IsPro

* Consolidate naming for paid/professional/enterprise version as "pro". Notes:

- Changes image tags
- Changes build tags
- Changes package names
- Doesn't change links to docs that mention "ee"
- Doesn't change parameters sent to PostHog that mention "ee"

* Revert docker image tag being -pro, back to -ee

* Revert go build tag being pro, back to ee

* Add build tags for some ee content

* [2] Revert go build tag being pro, back to ee

* Fix test workflow

* Add a json tag to be backwards compatible with frontend "IsEE" check

* Add a json tag for the serverconfig struct for IsEE

* Ammend json tag to Is_EE

* fix ee tags

---------

Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
2023-09-01 07:42:05 +05:30
Abhishek K 645bc4c126
NET-447: Removed proxy related fields and code (#2459)
* remove related fields and code

* remover metrics collection from server code

* fw update struct

* add ext client flag to metrics data

* simply nat types

* rm proxy update from cli
2023-07-26 11:22:49 +05:30
Abhishek Kondur 086ef25ac6 remove peer update context 2023-06-29 00:17:42 +05:30
Abhishek Kondur eca3a16f9a broadcast port changes 2023-06-28 22:10:25 +05:30
Abhishek Kondur 1a67b4e49b Merge branch 'NET-390-endpointdetection-config-fix' of https://github.com/gravitl/netmaker into NET-390-scale-latest 2023-06-28 21:05:38 +05:30
Abhishek Kondur 4efbe6256f stop context cancel on peer updates 2023-06-28 21:05:21 +05:30
Abhishek Kondur 243cc74490 remove endpoint detection from host model 2023-06-27 22:36:24 +05:30
Aceix 9787ce6ae8
fix(NET-312): increase log levels for verbose logs (#2403) 2023-06-20 16:28:40 +05:30
Tobias Cudnik 94ca72e370
NET-173 Sync EndpointDetection config (#2374)
* adding serverconfig logic and variable to hosts

* - sync EndpointDetection on peerupdate
- add EndpointDetection to env config

* - endpoint detection always comes from the server
- fixed ENDPOINT_DETECTION -> NETCLIENT_ENDPOINT_DETECTION

---------

Co-authored-by: afeiszli <alex.feiszli@gmail.com>
2023-06-13 16:33:53 -04:00
Matthew R Kasun f94cda11f6
Net 262 - structured logging (#2366)
* structured logging infra

* structured logging mq handlers
2023-06-06 13:47:16 -04:00
Matthew R Kasun 6f11eb2bb0
update version/firewall in use if changed on checkin (#2335) 2023-05-31 09:10:05 +05:30
Abhishek Kondur 423abf0fe4 add use_turn option to config,check if server is using turn 2023-04-28 14:06:28 +05:30
Abhishek Kondur 5ad092343a pr comments addressed 2023-04-28 13:28:34 +05:30
Abhishek Kondur 9e0038f39c merge conflicts resolved 2023-04-25 11:12:22 +04:00
Matthew R Kasun d5a83f3002 move servercfg.GetServer() out of loop 2023-04-19 09:43:07 -04:00
Matthew R Kasun cd89b4abef remove old peer when publickey updated 2023-04-17 18:20:09 -04:00
Abhishek Kondur 4f95e9f562 add basic auth to turn server apis, handle host registration on server 2023-04-17 15:33:05 +04:00
Abhishek Kondur d4ceabd4b3 register host through server, add basic auth to turn apis 2023-04-17 11:21:28 +04:00
0xdcarns fa40a5929d added turn ep + nat type to host model 2023-03-30 17:23:21 -04:00
dcarns 158672a906
Merge pull request #2097 from gravitl/feature_emqx_acl
Add EMQX ACLs
2023-03-22 11:56:56 -04:00
0xdcarns f25421f6c4 fixed update issue 2023-03-22 10:48:54 -04:00
Anish Mukherjee 852abcf4e7 update mq topics to use servername 2023-03-21 17:55:51 +05:30
0xdcarns bf687dd478 add return 2023-03-20 08:55:28 -04:00
dcarns 99cb2195a0
Merge pull request #2119 from gravitl/GRA-1369-ext-acls
GRA-1369 - added logic for ext client ACLs
2023-03-15 13:19:41 -04:00
dcarns 3d5b0ceafc
Merge pull request #2113 from gravitl/GRA-1342-registration-dns
GRA-1342: added DNS publish when host add nodes
2023-03-15 08:52:39 -04:00
0xdcarns 0f3faceb93 added logic for ext client ACLs 2023-03-14 13:39:33 -04:00
0xdcarns ba03fed905 added DNS publish when host add nodes 2023-03-14 08:33:14 -04:00
Abhishek Kondur a701956d99 fix traffic sent and recieved metric 2023-03-14 07:00:59 +04:00
Abhishek Kondur 959ca622e3 add new field to proxy metrics 2023-03-14 06:55:25 +04:00
0xdcarns 58adef9e12 address non-functional comment 2023-03-07 11:00:21 -05:00
0xdcarns 28119c22ee added context to peer updates, moved nodes to memory 2023-03-06 12:21:51 -05:00
0xdcarns 48aad9780c merge develop 2023-03-06 10:28:54 -05:00
0xdcarns 91373953e7 added ability to force delete if node is requested twice 2023-03-03 11:11:02 -05:00
0xdcarns 385232ca5a cleanup unnecessary routines + use peerindexmap for delete check 2023-03-01 10:55:34 -05:00
dcarns ad4bab064b
Merge pull request #2050 from gravitl/GRA-1198-enrollment_keys
Gra 1198 enrollment keys
2023-02-28 09:26:23 -05:00