Commit graph

1272 commits

Author SHA1 Message Date
abhishek9686
a3232234b3 fix: persist dns nameserver node ids 2025-09-08 07:52:08 +05:30
Vishal Dalwadi
0eb7792c71
Merge pull request #3637 from gravitl/NM-100
v1.1.0 Release Fixes
2025-09-08 07:36:43 +05:30
abhishek9686
7688bc3ebc resolve merge conflicts 2025-08-29 11:37:27 +05:30
Vishal Dalwadi
ec6e6c393a
Prevent removing idp integration when oauth user is superadmin (#3589)
* feat(go): prevent removing idp integration when oauth user is superadmin.

* feat(go): add suggestion for user;

* feat(go): remove usages of boolean fields on user;

* feat(go): set boolean fields correctly, but don't use;

* fix(go): static issues;

* feat(go): add suggestion for user;
2025-08-25 10:28:53 +05:30
Vishal Dalwadi
2d305e67a4
NM-86: Cleanup User Configs (#3603)
* feat(go): cleanup user extclients;

1. On disabling a user, remove all their extclients.
2. Add comments and rename variables to clarify the user group extclient cleanup function.

* feat(go): add checks for disable and enable user api;

* feat(go): refactor extclient cleanup on group network roles changes;

* feat(go): delete extclient on user group membership changes;
2025-08-25 10:24:15 +05:30
Abhishek K
b1f0843d27
NM-76: add network user api (#3605)
* add network user api

* add remove network user api
2025-08-25 10:21:52 +05:30
Vishal Dalwadi
85e4877803
Merge pull request #3576 from gravitl/NM-38
NM-38: User Config Fixes
2025-08-12 14:07:45 +05:30
Abhishek K
a8a0dd066c
NM-44: Device Approvals for Network Join (#3579)
* add pending hosts apis, migration logic for network auto join field

* fix pending hosts logic on join

* delete pending hosts on host delete

* ignore pedning device request if host in the network already

* add peer update on host approval
2025-08-12 09:16:51 +05:30
Vishal Dalwadi
996410fc61
NM-57: Graphs API Forbidden for Platform User (#3577)
* fix(go): permissions for network graph;

* fix(go): allow platform user to get network graph;

* feat(go): allow read only access to host resource to network users.

* feat(go): remove specific check for hosts resource.
2025-08-08 22:14:42 +05:30
Vishal Dalwadi
7584235022 fix(go): set num access tokens in user object; 2025-07-30 21:32:09 +05:30
Vishal Dalwadi
b778243c2c fix(go): go build errors; 2025-07-28 22:15:25 +05:30
Vishal Dalwadi
f8f4812851 Merge branch 'develop' into NM-37 2025-07-28 22:02:40 +05:30
Abhishek K
3a173bb4b2
Merge pull request #3568 from gravitl/master
Master
2025-07-28 18:17:17 +05:30
Vishal Dalwadi
0fea8af3e1
Merge branch 'develop' into NM-37 2025-07-28 15:23:03 +05:30
Vishal Dalwadi
6367efc882
NET-2077: Add support for Feature Flags. (#3528)
* feat(go): add support for feature flags;

* feat(go): store feature flags in code;

* feat(go): report base domain on license validation;

* feat(go): remove nm base domain required binding;

* feat(go): add a flag for oauth support;
2025-07-27 08:39:17 +05:30
Vishal Dalwadi
31ed8c5262
Netmaker Desktop Session Duration (#3543)
* feat(go): allow different session durations for client apps;

* feat(go): assume call is from netdesk app if header absent;

* feat(go): allow header;

* feat(go): set client jwt validity duration on migration.
2025-07-27 08:29:14 +05:30
Abhishek K
ebff185706
Revert "NM-38: User Config Fixes (#3559)" (#3562)
This reverts commit 9d65c62860.
2025-07-24 23:07:25 +05:30
Vishal Dalwadi
9d65c62860
NM-38: User Config Fixes (#3559)
* Build(deps): bump gorm.io/datatypes from 1.2.5 to 1.2.6

Bumps [gorm.io/datatypes](https://github.com/go-gorm/datatypes) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/go-gorm/datatypes/releases)
- [Commits](https://github.com/go-gorm/datatypes/compare/v1.2.5...v1.2.6)

---
updated-dependencies:
- dependency-name: gorm.io/datatypes
  dependency-version: 1.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Build(deps): bump google.golang.org/api from 0.238.0 to 0.240.0 (#3541)

Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.238.0 to 0.240.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.238.0...v0.240.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-version: 0.240.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Build(deps): bump github.com/go-playground/validator/v10 (#3539)

Bumps [github.com/go-playground/validator/v10](https://github.com/go-playground/validator) from 10.26.0 to 10.27.0.
- [Release notes](https://github.com/go-playground/validator/releases)
- [Commits](https://github.com/go-playground/validator/compare/v10.26.0...v10.27.0)

---
updated-dependencies:
- dependency-name: github.com/go-playground/validator/v10
  dependency-version: 10.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(go): prevent idp user from being deleted; (#3538)

* fix(go): use correct method for pro;

fixes: User Config nodes are always reported online.

* fix(go): add device id to extclient;

* fix(go): try match device id;

* fix(go): set device id if not set;

* feat(go): return best match offline extclient;

* fix(go): match device id with owner and gateway;

* fix(go): remove check for rac id;

* fix(go): check status on get node status;

* fix(go): allow offline or unknown extclient;

* feat(go): add count db method;

* feat(go): revert change;

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Abhishek K <abhi281342@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 12:09:25 +05:30
Vishal Dalwadi
39ea1ed9fc
NM-20: Add more refined event logs. (#3552)
* feat(go): add more refined event logs;

* feat(go): add more refined event logs;

* feat(go): add an api to validate user identity.

* feat(go): move validate-user-identity under user;
2025-07-23 14:45:41 +05:30
Vishal Dalwadi
7727a60e12 feat(go): delete user settings on user delete; 2025-07-22 10:33:17 +05:30
Vishal Dalwadi
eb40471a6f feat(go): add support for user settings; 2025-07-21 12:14:09 +05:30
Vishal Dalwadi
a6469c7e2a
fix(go): prevent idp user from being deleted; (#3538) 2025-07-09 13:00:08 +05:30
Vishal Dalwadi
3551e8e24e
NET-1996: Add Support for TOTP Authentication. (#3517)
* feat(git): ignore run configurations;

* feat(go): add support for TOTP authentication;

* fix(go): api docs;

* fix(go): static checks failing;

* fix(go): ignore mfa enforcement for user auth;

* feat(go): allow resetting mfa;

* feat(go): allow resetting mfa;

* feat(go): use library function;

* fix(go): signature;

* feat(go): allow only master user to unset user's mfa;

* feat(go): set caller when master to prevent panic;

* feat(go): make messages more user friendly;

* fix(go): run go mod tidy;

* fix(go): optimize imports;

* fix(go): return unauthorized on token expiry;

* fix(go): move mfa endpoints under username;

* fix(go): set is mfa enabled when converting;

* feat(go): allow authenticated users to use preauth apis;

* feat(go): set correct header value;

* feat(go): allow super-admins and admins to unset mfa;

* feat(go): allow user to unset mfa if not enforced;
2025-06-26 08:29:13 +05:30
Abhishek K
aca911712b
avoid setting nil endpoint if peer using internet gw (#3529) 2025-06-25 19:17:57 +05:30
Aceix
2df02f747e
Merge pull request #3504 from gravitl/depracate-rac-autodisable
chore: deprecate rac autodisable flag
2025-06-24 23:43:44 +05:30
abhishek9686
b423b183e4 fix merge conflicts 2025-06-24 16:56:48 +05:30
Abhishek K
a07d4e8d86
Merge pull request #3522 from gravitl/NET-2080
NET-2080: Fix unresponsive Users page
2025-06-24 07:34:10 +05:30
Abhishek K
7808d29808
Merge pull request #3525 from gravitl/master
Master
2025-06-24 07:08:08 +05:30
Vishal Dalwadi
8971ecd2e9 feat(go): add access token count to ReturnUser model; 2025-06-23 22:43:39 +05:30
Abhishek K
0a47cc5461
Merge branch 'develop' into NET-1994 2025-06-23 17:50:21 +05:30
Abhishek K
9a623e8540
Merge pull request #3520 from gravitl/develop
Develop
2025-06-23 08:48:11 +05:30
Abhishek K
da024c230f
Merge pull request #3512 from gravitl/kwesi/net-2066-auto-apply-changes-on-desktop-app
fix: update extclient ingress endpoint/port with host changes
2025-06-23 08:45:32 +05:30
abhishek9686
2f5acf6742 sync changes on startup, add create relay calls on defaul host 2025-06-23 06:28:43 +05:30
abhishek9686
da2c19fd9d unset inet gw on gateway delete 2025-06-22 06:36:34 +05:30
the_aceix
91c5fe0cf3 fix: update extclient ingress endpoint/port with host changes 2025-06-20 11:21:28 +00:00
Vishal Dalwadi
1c20cf3682 fix(go): mask only if set; 2025-06-20 15:00:33 +05:30
abhishek9686
a31abf8f09 add inet gw validate check on update node api 2025-06-17 17:06:22 +05:30
abhishek9686
8ee37f5fab inet gws into gateways 2025-06-17 16:55:44 +05:30
abhishek9686
0761e73e43 collection loc info for desktop config if unset 2025-06-13 23:29:36 +05:30
abhishek9686
9804366f6e remove mac addr check 2025-06-13 07:22:36 +05:30
the_aceix
71dafa45cf feat: collect location from netdesk 2025-06-12 13:22:43 +00:00
Abhishek K
81d8e61eca
Merge branch 'release-v0.99.0' into patch/db-conn-pool 2025-06-10 09:51:13 +05:30
abhishek9686
6bec2164a0 fix masterkey auth 2025-06-07 07:11:38 +05:30
Vishal Dalwadi
da5115221f fix(go): workflow errors fixes; 2025-06-06 15:42:30 +05:30
Abhishek K
0f884d4f36
NET-2061: revert Inet gws, fix extclient comms with user policies (#3482)
* revert inet gws from acl policies

* add egress range with metric for inet gw

* link pro inet funcs

* fix extclient comms with users

* remove TODO comments
2025-06-05 22:42:16 +05:30
Abhishek K
0ff216dabd
NET-1932: Fix static node comms on CE (#3481)
* move relevant acl and tag code to CE and Pro pkgs

* intialise pro acl funcs

* list gateways by user access

* check user gw access by policies

* filter out user policies on CE

* filter out tagged policies on CE

* fix ce acl comms

* allow gateways tag

* allow gateway tag  on CE, remove failover and gw check on acl policy

* add gw rules func to pro

* add inet gw support on CE

* add egress acl API

* add egress acl API

* fix(go): set is_gw when converting api node to server node;

* fix(go): set is_gw when converting api node to server node;

* fix policy validity checker for inet gws

* move dns option to host model

* fix node removal from egress policy on delete

* add migration logic for ManageDNS

* fix dns json field

* fix nil error on node tags

* add egress info to relayed nodes

* fix default network user policy

* fix egress migration

* fix egress migration

* add failover inet gw check

* optiomise egress calls

* auto create gw on inet egress node

* optimise egress calls

* add global user role check

* fix egress on inet gw

* remove addtional checks on inet policy

* add acl policy for static nodes on CE

* remove chained inet gws

* fix multi-inet issue

---------

Co-authored-by: Vishal Dalwadi <dalwadivishal26@gmail.com>
2025-06-05 13:28:23 +05:30
Abhishek K
599a9c6f4a
NET-1932: handle non-inet egress ranges on inet gw (#3479)
* move relevant acl and tag code to CE and Pro pkgs

* intialise pro acl funcs

* list gateways by user access

* check user gw access by policies

* filter out user policies on CE

* filter out tagged policies on CE

* fix ce acl comms

* allow gateways tag

* allow gateway tag  on CE, remove failover and gw check on acl policy

* add gw rules func to pro

* add inet gw support on CE

* add egress acl API

* add egress acl API

* fix(go): set is_gw when converting api node to server node;

* fix(go): set is_gw when converting api node to server node;

* fix policy validity checker for inet gws

* move dns option to host model

* fix node removal from egress policy on delete

* add migration logic for ManageDNS

* fix dns json field

* fix nil error on node tags

* add egress info to relayed nodes

* fix default network user policy

* fix egress migration

* fix egress migration

* add failover inet gw check

* optiomise egress calls

* auto create gw on inet egress node

* optimise egress calls

* add global user role check

* fix egress on inet gw

---------

Co-authored-by: Vishal Dalwadi <dalwadivishal26@gmail.com>
2025-06-04 08:04:40 +05:30
Abhishek K
3bae08797f
NET-1932: add failover inet gw check (#3478)
* move relevant acl and tag code to CE and Pro pkgs

* intialise pro acl funcs

* list gateways by user access

* check user gw access by policies

* filter out user policies on CE

* filter out tagged policies on CE

* fix ce acl comms

* allow gateways tag

* allow gateway tag  on CE, remove failover and gw check on acl policy

* add gw rules func to pro

* add inet gw support on CE

* add egress acl API

* add egress acl API

* fix(go): set is_gw when converting api node to server node;

* fix(go): set is_gw when converting api node to server node;

* fix policy validity checker for inet gws

* move dns option to host model

* fix node removal from egress policy on delete

* add migration logic for ManageDNS

* fix dns json field

* fix nil error on node tags

* add egress info to relayed nodes

* fix default network user policy

* fix egress migration

* fix egress migration

* add failover inet gw check

* optiomise egress calls

* auto create gw on inet egress node

* optimise egress calls

* add global user role check

---------

Co-authored-by: Vishal Dalwadi <dalwadivishal26@gmail.com>
2025-06-03 22:54:55 +05:30
Abhishek K
5849e0e2e1
NET-1932: sort out acls into CE and PRO (#3460)
* move relevant acl and tag code to CE and Pro pkgs

* intialise pro acl funcs

* list gateways by user access

* check user gw access by policies

* filter out user policies on CE

* filter out tagged policies on CE

* fix ce acl comms

* allow gateways tag

* allow gateway tag  on CE, remove failover and gw check on acl policy

* add gw rules func to pro

* add inet gw support on CE

* add egress acl API

* add egress acl API

* fix(go): set is_gw when converting api node to server node;

* fix(go): set is_gw when converting api node to server node;

* fix policy validity checker for inet gws

* move dns option to host model

* fix node removal from egress policy on delete

* add migration logic for ManageDNS

* fix dns json field

* fix nil error on node tags

* add egress info to relayed nodes

---------

Co-authored-by: Vishal Dalwadi <dalwadivishal26@gmail.com>
2025-06-02 13:05:10 +05:30
abhishek9686
84573787f8 add user info to events 2025-05-27 23:00:18 +05:30