Commit graph

7307 commits

Author SHA1 Message Date
VishalDalwadi
ccccc02e08 fix: empty match domains for fallback nameservers; 2025-12-20 15:25:26 +05:30
VishalDalwadi
6a5162427d fix: validation fixes; 2025-12-20 15:19:27 +05:30
VishalDalwadi
8e4dbb5b37 fix: don't set domains for fallback dns servers; 2025-12-20 14:48:23 +05:30
VishalDalwadi
1b4f21fe16 fix: skip fallback domains for user gws; 2025-12-20 14:35:29 +05:30
VishalDalwadi
562304dadb Merge branch 'NM-202' of https://github.com/gravitl/netmaker into NM-202 2025-12-20 14:19:39 +05:30
VishalDalwadi
5ebb02c554 fix: add validation for pro as well; 2025-12-20 14:19:28 +05:30
Abhishek Kondur
8b93ae9e9c
Merge branch 'develop' into NM-202 2025-12-20 12:33:33 +04:00
VishalDalwadi
38d431cb1a Merge branch 'fixes/v1.3.0' of https://github.com/gravitl/netmaker into NM-202 2025-12-20 13:44:54 +05:30
VishalDalwadi
afcca556c3 feat: add fallback nameserver support; 2025-12-20 13:24:05 +05:30
Abhishek Kondur
a29cbb0f31
NM-160: Network User IP map API for operator (#3795)
* add user network ip mapping api

* fix user network ip api
2025-12-20 09:36:13 +04:00
VishalDalwadi
055cb0f9b5 Merge branch 'fixes/v1.3.0' of https://github.com/gravitl/netmaker into fixes/v1.3.0 2025-12-19 21:27:32 +05:30
VishalDalwadi
30553ef87e fix: add username filter; 2025-12-19 21:27:20 +05:30
VishalDalwadi
61763ad316 Merge branch 'develop' of https://github.com/gravitl/netmaker into fixes/v1.3.0 2025-12-19 21:13:08 +05:30
Abhishek Kondur
ea75901f8f
NM-195: cleanup deleted tags and user groups from posturechecks, add nameserver to middleware (#3794)
* NM-195: add key tags info to posture check on join

* NM-195: add network user grps to posture check

* NM-195: add posture checks to middleware

* add all posture check to rsrc permission check func

* NM-195: cleanup deleted tags and user groups from posturechecks

* NM-195: add Nameserver to middleware
2025-12-19 17:36:39 +04:00
Abhishek Kondur
0fcf83b601
Merge branch 'develop' into fixes/v1.3.0 2025-12-19 09:51:56 +04:00
Abhishek Kondur
79dd46c8df
NM-195: Add posture check to middleware (#3791)
* NM-195: add key tags info to posture check on join

* NM-195: add network user grps to posture check

* NM-195: add posture checks to middleware

* add all posture check to rsrc permission check func
2025-12-19 09:51:32 +04:00
VishalDalwadi
e362890ade Merge branch 'develop' of https://github.com/gravitl/netmaker into fixes/v1.3.0 2025-12-19 10:58:51 +05:30
abhishek9686
2e740faca5 NM-202: fix egress domain routing 2025-12-19 00:49:58 +04:00
abhishek9686
5ccf48f343 Merge branch 'NM-195-v1' of https://github.com/gravitl/netmaker into NM-195-v1 2025-12-18 18:51:55 +04:00
abhishek9686
1882f09eb9 add all posture check to rsrc permission check func 2025-12-18 18:51:41 +04:00
Abhishek Kondur
e8ab589ece
Merge branch 'develop' into NM-195-v1 2025-12-18 17:47:36 +04:00
Abhishek Kondur
45d9314163
NM-197: Assign and Unassign Gw apis (#3790)
* NM-197: Assign and Unassign Gw apis

* NM-197: fix static checks

* NM-197: fix assign api

* NM-197: add relayed node validity check on gw node
2025-12-18 15:37:19 +04:00
VishalDalwadi
547bf3da2d fix: return error when group network roles are set for specific networks and all networks; 2025-12-18 12:23:03 +05:30
Vishal Dalwadi
edcd55d53e
fix: allow upsert flow logs settings to work only if clickhouse connects; (#3789) 2025-12-17 16:19:55 +04:00
abhishek9686
d9dee8c886 NM-195: add posture checks to middleware 2025-12-17 15:05:12 +04:00
Abhishek Kondur
eea3494227
NM-195: fix user network grps posture check (#3788)
* NM-195: add key tags info to posture check on join

* NM-195: add network user grps to posture check
2025-12-17 14:05:23 +04:00
abhishek9686
e8ffb65ac0 Merge branch 'NM-195-v1' of https://github.com/gravitl/netmaker into NM-195-v1 2025-12-17 14:04:20 +04:00
abhishek9686
a4a4b4695e Merge branch 'develop' of https://github.com/gravitl/netmaker into NM-195-v1 2025-12-17 13:39:05 +04:00
Abhishek Kondur
b48046e479
Merge branch 'develop' into NM-195-v1 2025-12-16 16:18:30 +04:00
abhishek9686
357293150f NM-195: add network user grps to posture check 2025-12-16 16:16:46 +04:00
Abhishek Kondur
3e3d8c60a0
NM-195: Add posture check feature flag (#3780)
* NM-195: fix posture check for untagged resources

* NM-195: reduce default cleanup interval

* NM-195: reduce default cleanup interval

* Add posture checks to feature flag
2025-12-16 15:58:18 +04:00
Vishal Dalwadi
ba9af3bfd6
Auto create default match all google dns nameserver (#3782)
* feat: auto create default match all google dns nameserver;

* fix: set column name;

* feat: prevent default ns delete;

* fix: set status;

* fix: create dns nameserver on network creation;
2025-12-16 15:58:04 +04:00
Abhishek Kondur
8266477624
NM-195: add key tags info to posture check on join (#3781) 2025-12-16 15:56:04 +04:00
abhishek9686
b9f0dbba8c NM-195: add key tags info to posture check on join 2025-12-15 19:38:31 +04:00
Abhishek Kondur
4853c9c1a1
NM-195: fix posture check for untagged resources (#3779)
* NM-195: fix posture check for untagged resources

* NM-195: reduce default cleanup interval

* NM-195: reduce default cleanup interval
2025-12-15 14:35:29 +04:00
Vishal Dalwadi
36a88544af
Remove Flow Logs Infra Changes (#3778)
* feat(go): define flow events;

* feat(go): improve structure;

* feat(go): improve structure;

* feat(go): remove old flow definitions;

* feat(sql): add clickhouse init scripts;

* feat(sql): add protobuf spec;

* fix(sql): store ip as string;

* feat(go): move proto def to grpc dir;

* feat(go): use node instead of host as type; optimize protobuf defs;

* feat(go): add clickhouse db support; add endpoint to query flows;

* fix(go): fix clickhouse config;

* fix(go): use error response structure to report error;

* feat(go): pass flow logging status to netclient;

* feat(go): add peer ip identity map to host peer info;

* feat(go): remove prefix from participant obj fields;

* feat(go): add flow logs enabled field to host;

* feat(go): add filtering to get flow api;

* feat(go): fix record struct;

* feat(go): add exporter url to server config;

* feat(go): add exporter url to server config;

* feat(go): enable flow logs by default;

* feat(go): update nm-quick.sh;

* feat(go): update nm-quick.sh;

* feat(go): update nm-quick.sh;

* feat(go): update nm-quick.sh;

* feat(go): add db initialization logic;

* feat(go): filter by network id;

* fix(go): connection issue;

* fix(go): connection issue;

* fix(go): golang builder version;

* feat(go): add server settings for flow logs;

* feat(go): initialize clickhouse in pro; check for retention;

* feat(go): add exporter feature flags;

* feat(go): add grpc behind caddy;

* feat(go): expose ports correctly;

* fix(go): grpc caddyfile config;

* fix(go): publish exporter feature flags on license validation;

* fix(go): set server name for netmaker exporter;

* fix(go): set server name for netmaker exporter;

* fix(go): check for nil cancel func;

* fix(go): add flow logs field to api host;

* fix(go): add flow logs field to api host;

* fix(go): remove port from grpc setting;

* chore(go): tabs;

* feat(go): introduce egress range participant type;.

* feat(go): rename egress range to egress route for uniform language;

* feat(go): rename egress range to egress route for uniform language;

* feat: add peer addr identity map to host peer update;

* feat: add address identity map to host peer update;

* feat: add address identity map to host peer update;

* feat: set correct from and to args;

* feat: add support for filtering by node;

* feat: use corresponding base image;

* feat: update dockerfile base image version;

* fix: disable flow logs for all host when global settings are changed;

* refactor: setup flow logs manually;
2025-12-13 15:21:23 +04:00
Vishal Dalwadi
a4981ffd26
NM-168: Network Flow Logs (#3754)
* feat(go): define flow events;

* feat(go): improve structure;

* feat(go): improve structure;

* feat(go): remove old flow definitions;

* feat(sql): add clickhouse init scripts;

* feat(sql): add protobuf spec;

* fix(sql): store ip as string;

* feat(go): move proto def to grpc dir;

* feat(go): use node instead of host as type; optimize protobuf defs;

* feat(go): add clickhouse db support; add endpoint to query flows;

* fix(go): fix clickhouse config;

* fix(go): use error response structure to report error;

* feat(go): pass flow logging status to netclient;

* feat(go): add peer ip identity map to host peer info;

* feat(go): remove prefix from participant obj fields;

* feat(go): add flow logs enabled field to host;

* feat(go): add filtering to get flow api;

* feat(go): fix record struct;

* feat(go): add exporter url to server config;

* feat(go): add exporter url to server config;

* feat(go): enable flow logs by default;

* feat(go): update nm-quick.sh;

* feat(go): update nm-quick.sh;

* feat(go): update nm-quick.sh;

* feat(go): update nm-quick.sh;

* feat(go): add db initialization logic;

* feat(go): filter by network id;

* fix(go): connection issue;

* fix(go): connection issue;

* fix(go): golang builder version;

* feat(go): add server settings for flow logs;

* feat(go): initialize clickhouse in pro; check for retention;

* feat(go): add exporter feature flags;

* feat(go): add grpc behind caddy;

* feat(go): expose ports correctly;

* fix(go): grpc caddyfile config;

* fix(go): publish exporter feature flags on license validation;

* fix(go): set server name for netmaker exporter;

* fix(go): set server name for netmaker exporter;

* fix(go): check for nil cancel func;

* fix(go): add flow logs field to api host;

* fix(go): add flow logs field to api host;

* fix(go): remove port from grpc setting;

* chore(go): tabs;

* feat(go): introduce egress range participant type;.

* feat(go): rename egress range to egress route for uniform language;

* feat(go): rename egress range to egress route for uniform language;

* feat: add peer addr identity map to host peer update;

* feat: add address identity map to host peer update;

* feat: add address identity map to host peer update;

* feat: set correct from and to args;

* feat: add support for filtering by node;

* feat: use corresponding base image;

* feat: update dockerfile base image version;

* fix: disable flow logs for all host when global settings are changed;
2025-12-12 14:12:00 +04:00
Abhishek Kondur
9f430b67a1
NM-188: optimise User migration DB writes (#3774)
* NM-188: optimise user DB writes on migration

* NM-188: remove user migration debug logs

* NM-188: add debug logs for user migration funcs

* NM-188: fix migration bug

* NM-188: update migration comments in the test file

* NM-188: fix static checks

* fix: save acl src and dst;

* fix: check for all network access;

---------

Co-authored-by: VishalDalwadi <dalwadivishal26@gmail.com>
2025-12-12 10:37:05 +04:00
Abhishek Kondur
4177348f12
NM-166: add user groups to posture checks (#3766)
* NM-166: add device posture checks apis and logic

* NM-166: add severity level to posture check and api to fetch all available attributes

* NM-166: register posture check schema

* add periodic posture check evaluation of nodes

* NM-166: add os family and kernel version to host model for linux

* add posture check violations on host registration, api to fetch node violations

* NM-166: trigger posture checks on posture checks updates

* NM-166: add version clean func

* NM-166: add allowed values for posture check attributes to api

* NM-166: format violation messages

* NM-166: fix static check

* NM-166: fix static check

* NM-166: add OS info to update extclient api

* NM-166: add sysinfo funcs

* set if only new values are not empty

* format client location

* fix posture violation for static nodes

* skip non user nodes from posture checks

* NM-166: check posture checks by tags

* NM-166: set host location before posture check

* validate posture checks by OR condition

* run posture check violation on node update

* NM-166: allow join on unviolated networks

* NM-166: update response message when posture checks are violated

* NM-166: fix static check

* NM-166: add mutex for posture check runs

* NM-166: add OS family fields to api host model

* NM-166: run posture eval for gateway ops

* NM-166: add user groups to posture checks

* NM-166: add default all user grp

* NM-166: fix posture check eval for users

* NM-166: handle user nodes in the posture checks

* NM-166: fix posture check for new config

* NM-166: skip auto update check on users and show violation on disbaled static nodes

* NM-166: add min verison check for attr

* NM-166: fix static check

* NM-166: add default admin groups
2025-12-11 12:19:30 +04:00
dependabot[bot]
dae5c33011
Build(deps): bump golang.org/x/oauth2 from 0.33.0 to 0.34.0 (#3770)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.33.0 to 0.34.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.33.0...v0.34.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.34.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>
2025-12-11 10:51:51 +04:00
dependabot[bot]
d9b4d1c4d0
Build(deps): bump github.com/hashicorp/go-version from 1.7.0 to 1.8.0 (#3771)
Bumps [github.com/hashicorp/go-version](https://github.com/hashicorp/go-version) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/hashicorp/go-version/releases)
- [Changelog](https://github.com/hashicorp/go-version/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/go-version/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/go-version
  dependency-version: 1.8.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>
2025-12-11 10:41:10 +04:00
dependabot[bot]
b972c35c76
Build(deps): bump golang.org/x/crypto from 0.45.0 to 0.46.0 (#3772)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.45.0 to 0.46.0.
- [Commits](https://github.com/golang/crypto/compare/v0.45.0...v0.46.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.46.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>
2025-12-11 10:40:53 +04:00
dependabot[bot]
4be9e8603e
Build(deps): bump alpine from 3.22.2 to 3.23.0 (#3773)
Bumps alpine from 3.22.2 to 3.23.0.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.23.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>
2025-12-11 10:40:35 +04:00
dependabot[bot]
d1c92c8443
Build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 (#3769)
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.10.1...v1.10.2)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-version: 1.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 10:40:18 +04:00
Vishal Dalwadi
b48c705c67
Allow updating auto-assign-gw on enrollment keys (#3768)
* feat(go): allow updating auto-assign-gw on enrollment keys;

* feat: prevent auto assign gateway if relay is set;
2025-12-11 10:39:44 +04:00
Abhishek Kondur
3a315bf1ce
Merge pull request #3767 from gravitl/NM-187
NM-187: force delete user configs option
2025-12-10 14:02:38 +04:00
Abhishek Kondur
74d5525340
Merge pull request #3777 from gravitl/master
Master
2025-12-09 22:20:00 +04:00
Abhishek Kondur
db2f005ea0
v1.2.0: add auth to server shutdown api (#3776) 2025-12-09 22:17:26 +04:00
abhishek9686
f5752fa60d v1.2.0: add auth to server shutdown api 2025-12-09 22:11:36 +04:00
Vishal Dalwadi
e9e75d221d
Fix: IDP Integration (#3758)
* fix(go): prevent resetting user principal name;

* fix(go): user upn for get user and auth request;

* fix(go): unescape email before using;

* fix(go): use id as external idp id for google;

---------

Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
2025-12-05 18:32:54 +04:00