Commit graph

45 commits

Author SHA1 Message Date
Abhishek K
307a3d1e4b
NET-1932: Merge egress and internet gateways (#3436)
* feat: api access tokens

* revoke all user tokens

* redefine access token api routes, add auto egress option to enrollment keys

* add server settings apis, add db table for settigs

* handle server settings updates

* switch to using settings from DB

* fix sever settings migration

* revet force migration for settings

* fix server settings database write

* egress model

* fix revoked tokens to be unauthorized

* update egress model

* remove unused functions

* convert access token to sql schema

* switch access token to sql schema

* fix merge conflicts

* fix server settings types

* bypass basic auth setting for super admin

* add TODO comment

* setup api handlers for egress revamp

* use single DB, fix update nat boolean field

* extend validaiton checks for egress ranges

* add migration to convert to new egress model

* fix panic interface conversion

* publish peer update on settings update

* revoke token generated by an user

* add user token creation restriction by user role

* add forbidden check for access token creation

* revoke user token when group or role is changed

* add default group to admin users on update

* chore(go): import style changes from migration branch;

1. Singular file names for table schema.
2. No table name method.
3. Use .Model instead of .Table.
4. No unnecessary tagging.

* remove nat check on egress gateway request

* Revert "remove nat check on egress gateway request"

This reverts commit 0aff12a189.

* remove nat check on egress gateway request

* feat(go): add db middleware;

* feat(go): restore method;

* feat(go): add user access token schema;

* add inet gw status to egress model

* fetch node ids in the tag, add inet gw info clients

* add inet gw info to node from egress list

* add migration logic internet gws

* create default acl policies

* add egress info

* add egress TODO

* add egress TODO

* fix user auth api:

* add reference id to acl policy

* add egress response from DB

* publish peer update on egress changes

* re initalise oauth and email config

* set verbosity

* normalise cidr on egress req

* add egress id to acl group

* change acls to use egress id

* resolve merge conflicts

* fix egress reference errors

* move egress model to schema

* add api context to DB

* sync auto update settings with hosts

* sync auto update settings with hosts

* check acl for egress node

* check for egress policy in the acl dst groups

* fix acl rules for egress policies with new models

* add status to egress model

* fix inet node func

* mask secret and convert jwt duration to minutes

* enable egress policies on creation

* convert jwt duration to minutes

* add relevant ranges to inet egress

* skip non active egress routes

* resolve merge conflicts

* fix static check

* update gorm tag for primary key on egress model

* create user policies for egress resources

* resolve merge conflicts

* get egress info on failover apis, add egress src validation for inet gws

* add additional validation checks on egress req

* add additional validation checks on egress req

* skip all resources for inet policy

* delete associated egress acl policies

* fix failover of inetclient

* avoid setting inet client asd inet gw

* fix all resource egress policy

* fix inet gw egress rule

* check for node egress on relay req

* fix egress acl rules comms

* add new field for egress info on node

* check acl policy in failover ctx

* avoid default host to be set as inet client

* fix relayed egress node

* add valid error messaging for egress validate func

* return if inet default host

* jump port detection to 51821

* check host ports on pull

* check user access gws via acls

* add validation check for default host and failover for inet clients

* add error messaging for acl policy check

* fix inet gw status

* ignore failover req for peer using inet gw

* check for allowed egress ranges for a peer

* add egress routes to static nodes by access

* avoid setting failvoer as inet client

* fix egress error messaging

* fix extclients egress comms

* fix inet gw acting as inet client

* return formatted error on update acl validation

* add default route for static nodes on inetclient

* check relay node acting as inetclient

* move inet node info to separate field, fix all resouces policy

* remove debug logs

---------

Co-authored-by: Vishal Dalwadi <dalwadivishal26@gmail.com>
2025-05-21 12:50:21 +05:30
abhishek9686
d21411392b fix integration tests 2025-03-03 12:05:23 +04:00
Abhishek K
0638dcac49
NET-940: Inet Gws (#2828)
* internet gws apis

* add validate check for inet request

* add default gw changes to peer update

* update json tag

* add OS checks for inet gws

* add set defaul gw pro func

* allow disable and enable inet gw

* add inet handlers to pro

* add fields to api node

* add inet allowed ips

* add default gw to pull

* unset node inet details on deletion

* unset internet gw on network nodes

* unset inet gw fix

* unset inet gw fix

* send default gw ip

* fix inet node endpoint

* add default gw endpoint ip to pull resp

* validate after unset gws

* add inet client peer allowedips to inet node

* validate after unset gws

* fix allowed ips for inet peer and gw node

* fix allowed ips for inet peer and gw node

* fix allowed ips for inet peer and gw node

* fix allowed ips for inet peer and gw node

* fix inet gw and relayed conflict

* fix inet gw and relayed conflict

* fix update req

* fix update inet gw api

* when inet gw is peer ignore other allowedIps

* test relay

* revert test relay

* revert inet peer update changes

* channel internet traffic of relayed node to relay's inetgw

* channel internet traffic of relayed node to relay's inetgw

* channel internet traffic of relayed node to relay's inetgw

* add check for relayed node

* add inet info to peer update

* add inet info to peer update

* fix update node to persist inet info

* fix go tests

* egress ranges with inet gw fix

* egress ranges with inet gw fix

* disallow node acting using inet gw to act as inet gw

* add check to validate inet gw

* fix typos

* add firewall check

* set inetgw on ingress req on community

* set inetgw to false on community on ingress del
2024-02-28 08:46:51 +07:00
Abhishek K
2c4a27c53b
NET-735: HA Support (#2701)
* cache enabled option, cache hosts data if only enabled

* cache nodes only when enabled

* cache extclients only when enabled

* cache acls only when enabled
2023-12-05 12:01:35 +04:00
Abhishek Kondur
4071bb2bac db cache nodes and hosts 2023-06-27 16:10:04 +05:30
Matthew R Kasun
3aa6571360 fix TestGetNetworkNodes 2023-03-08 17:50:21 -05:00
Matthew R Kasun
65b31c1c04 fix tests 2023-02-14 07:58:54 -05:00
Matthew R Kasun
82cac8fa30 use channels for sync 2023-02-14 07:01:38 -05:00
Abhishek Kondur
3d1e4f6ba9 fix node tests 2023-02-06 20:11:31 +04:00
Matthew R Kasun
77cfae41ff remove postup/down 2023-02-02 11:16:54 -05:00
0xdcarns
f66ba5277e re-enabled tests 2023-01-20 17:38:32 -05:00
Matthew R. Kasun
c086e9499d rebase
Signed-off-by: Matthew R. Kasun <mkasun@nusak.ca>
2022-12-19 15:15:35 -05:00
Mathias Neerup
0b4aca18db Make NatEnabled string instead of boolean + add tests 2022-07-20 13:01:28 +02:00
afeiszli
636fcf09ef fix test 2022-05-31 14:23:42 -04:00
afeiszli
ccee46e58f fixing test 2022-05-11 12:15:54 -04:00
afeiszli
db1678208d fixing test 2022-05-11 12:11:47 -04:00
0xdcarns
112f03cf1f changed dir name and added to gitignore, removed log 2022-03-11 08:46:01 -05:00
0xdcarns
aefc8b090b added basic api endpoints 2022-03-10 14:55:40 -05:00
0xdcarns
9668a84cd0 added one more test 2022-03-10 14:55:40 -05:00
0xdcarns
68c7014802 refactored node functions further 2022-03-10 14:55:40 -05:00
0xdcarns
1d92e4cf5a began generalizing 2022-03-10 14:55:40 -05:00
0xdcarns
da25da775c refactored some logic to use typed functions 2022-03-10 14:55:40 -05:00
0xdcarns
a8043accc9 node ACL logic + tests implemented 2022-03-10 14:55:40 -05:00
0xdcarns
df292f2fc8 adjust test to new error msg 2022-02-08 11:05:22 -05:00
afeiszli
bea7467210 fixing tests 2022-02-05 15:50:29 -05:00
dcarns
23e294d05f
Merge pull request #648 from gravitl/bugfix_v0.10.0_freebsd-gateways
fix for GRA-129 prevent freebsd from being a gateway
2022-01-26 14:40:28 -05:00
Matthew R Kasun
dd62e90924 fix for GRA-129 prevent freebsd from being a gateway 2022-01-26 09:04:30 -05:00
Matthew R Kasun
fcc1259adf fix writes/updates to wg config files 2022-01-22 11:38:56 -05:00
0xdcarns
7a5bcb5a68 test adjust 2022-01-20 12:59:31 -05:00
0xdcarns
5b3917f357 continued. 2022-01-20 12:59:31 -05:00
0xdcarns
60dedc2616 continued. 2022-01-20 12:59:31 -05:00
0xdcarns
27100f5b52 continued. 2022-01-20 12:59:31 -05:00
0xdcarns
edbce5547a test logic update 2022-01-20 12:59:31 -05:00
0xdcarns
df23b50165 refactored more 2022-01-20 12:59:31 -05:00
0xdcarns
cd5bce8812 restructuring continued 2022-01-20 12:58:49 -05:00
0xdcarns
90463dd1d7 test adjust 2022-01-17 14:21:40 -05:00
0xdcarns
52d684aa1e continued. 2022-01-17 14:21:40 -05:00
0xdcarns
32f7e2c4ef continued. 2022-01-17 14:21:40 -05:00
0xdcarns
4bcef22498 continued. 2022-01-17 14:21:40 -05:00
0xdcarns
b793c248ec test logic update 2022-01-17 14:21:40 -05:00
0xdcarns
545f45d86d refactored more 2022-01-17 14:21:40 -05:00
0xdcarns
64e7791011 restructuring continued 2022-01-17 14:21:40 -05:00
0xdcarns
548997f9ef optimize further 2021-12-10 21:09:42 -05:00
0xdcarns
09033e1e0b renamed files, fixed pointers 2021-12-07 15:51:57 -05:00
0xdcarns
0c6c09caa9 organized http logic, renamed files 2021-12-07 12:46:55 -05:00
Renamed from controllers/nodeHttpController_test.go (Browse further)