Commit graph

6848 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
Abhishek K
1df8991202
Merge pull request #3443 from gravitl/dependabot/go_modules/develop/github.com/mattn/go-sqlite3-1.14.28
Bump github.com/mattn/go-sqlite3 from 1.14.24 to 1.14.28
2025-05-20 09:18:55 +05:30
Abhishek K
44b5f54da6
Merge pull request #3447 from gravitl/dependabot/go_modules/develop/github.com/golang-jwt/jwt/v4-4.5.2
Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2
2025-05-20 09:18:36 +05:30
Abhishek K
3d6c057941
Merge pull request #3454 from gravitl/master
Master
2025-05-20 09:18:22 +05:30
Abhishek K
35ddfc7a90
Merge pull request #3442 from gravitl/release-v0.90.0
check for service type and protocol on bi directional policies
2025-05-20 09:17:46 +05:30
dependabot[bot]
264e62cf9e
Bump golang.org/x/crypto from 0.37.0 to 0.38.0 (#3444)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/crypto/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.38.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-05-20 09:17:27 +05:30
dependabot[bot]
254040bf91
Bump gorm.io/gorm from 1.25.12 to 1.26.1 (#3450)
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.25.12 to 1.26.1.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.25.12...v1.26.1)

---
updated-dependencies:
- dependency-name: gorm.io/gorm
  dependency-version: 1.26.1
  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-05-20 09:17:08 +05:30
dependabot[bot]
5739c98ec1
Bump github.com/posthog/posthog-go from 1.2.24 to 1.5.5 (#3453)
Bumps [github.com/posthog/posthog-go](https://github.com/posthog/posthog-go) from 1.2.24 to 1.5.5.
- [Release notes](https://github.com/posthog/posthog-go/releases)
- [Changelog](https://github.com/PostHog/posthog-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/posthog/posthog-go/compare/v1.2.24...v1.5.5)

---
updated-dependencies:
- dependency-name: github.com/posthog/posthog-go
  dependency-version: 1.5.5
  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-05-20 09:16:55 +05:30
Aceix
506f73ebb9
Merge pull request #3441 from gravitl/nmctl-access-token
feat: add support for user access tokens in nmctl
2025-05-20 09:16:24 +05:30
dependabot[bot]
c4ebc50479
Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2
Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.1 to 4.5.2.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](https://github.com/golang-jwt/jwt/compare/v4.5.1...v4.5.2)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-version: 4.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:55:51 +00:00
dependabot[bot]
98278b413a
Bump github.com/mattn/go-sqlite3 from 1.14.24 to 1.14.28
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.24 to 1.14.28.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.24...v1.14.28)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
  dependency-version: 1.14.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:46:46 +00:00
abhishek9686
9ee0530ea6 check for service type and protocol on bi directional policies 2025-05-05 09:52:41 +05:30
Abhishek K
f9bc3a5386
Merge pull request #3440 from gravitl/master
Master
2025-04-30 03:02:05 +04:00
Abhishek K
e33150be64
Merge pull request #3439 from gravitl/release-v0.90.0
Release v0.90.0
2025-04-30 03:01:29 +04:00
Abhishek K
85084f9dfe
check host ports on join (#3437) 2025-04-30 03:00:36 +04:00
Aceix
af19704f41
fix: alias device subcommand with host (#3431) 2025-04-30 02:58:52 +04:00
Aceix
b0a8a07ebd
fix: add node status in response to create/delete gateway (#3425) 2025-04-30 02:57:53 +04:00
Aceix
163b04966f
fix: correct ids of static and user nodes (#3421)
- fix static and user node ids
- enhance output by adding a "Type" column
2025-04-30 02:57:11 +04:00
dependabot[bot]
df1ce61dad
Bump golang.org/x/oauth2 from 0.24.0 to 0.29.0 (#3416)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.24.0 to 0.29.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.24.0...v0.29.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.29.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-04-30 02:55:50 +04:00
Peter Dave Hello
105b7dfc1c
Simplify and unify apk usage in Dockerfiles (#3407)
Replace `apk update` and `--update` flags with `--no-cache` across
Dockerfiles to improve consistency and eliminate unnecessary cache files.

This change reduces image size and ensures up-to-date package indices
without leaving temporary data. It also aligns with best practices
recommended for Alpine-based Docker images.
2025-04-30 02:55:34 +04:00
dependabot[bot]
8c3065482a
Bump github.com/coreos/go-oidc/v3 from 3.9.0 to 3.14.1 (#3415)
Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.9.0 to 3.14.1.
- [Release notes](https://github.com/coreos/go-oidc/releases)
- [Commits](https://github.com/coreos/go-oidc/compare/v3.9.0...v3.14.1)

---
updated-dependencies:
- dependency-name: github.com/coreos/go-oidc/v3
  dependency-version: 3.14.1
  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-04-30 02:51:16 +04:00
dependabot[bot]
d431e66c1c
Bump github.com/go-playground/validator/v10 from 10.24.0 to 10.26.0 (#3408)
Bumps [github.com/go-playground/validator/v10](https://github.com/go-playground/validator) from 10.24.0 to 10.26.0.
- [Release notes](https://github.com/go-playground/validator/releases)
- [Commits](https://github.com/go-playground/validator/compare/v10.24.0...v10.26.0)

---
updated-dependencies:
- dependency-name: github.com/go-playground/validator/v10
  dependency-version: 10.26.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-04-30 02:51:05 +04:00
alingse
eb0dbf7ee4
fix call logic.FormatError with a nil value error (#3406)
* fix call logic.FormatError with a nil value error

Signed-off-by: alingse <alingse@foxmail.com>

* fix call slog.Error with wrong error

---------

Signed-off-by: alingse <alingse@foxmail.com>
2025-04-30 02:39:35 +04:00
dependabot[bot]
1371c327a3
Bump dawidd6/action-download-artifact from 8 to 9 (#3355)
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 8 to 9.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v8...v9)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-30 02:39:00 +04:00
dependabot[bot]
616f86c4d8
Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#3335)
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.8.1 to 1.9.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.8.1...v1.9.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  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-04-30 02:38:30 +04:00
dependabot[bot]
b3748f0bdd
Bump alpine from 3.21.2 to 3.21.3 (#3333)
Bumps alpine from 3.21.2 to 3.21.3.

---
updated-dependencies:
- dependency-name: alpine
  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-04-30 02:38:18 +04:00
dependabot[bot]
71044a1dd7
Bump golang.org/x/crypto from 0.32.0 to 0.37.0 (#3417)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.32.0 to 0.37.0.
- [Commits](https://github.com/golang/crypto/compare/v0.32.0...v0.37.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.37.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-04-30 02:37:58 +04:00
Aceix
c9f3750499
fix: improve error response message (#3426) 2025-04-30 02:34:45 +04:00
Abhishek K
309e4795a1
NET-1950: Persist Server Settings in the DB (#3419)
* 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

* fix revoked tokens to be unauthorized

* 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

* publish peer update on settings 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.

* feat(go): add db middleware;

* feat(go): restore method;

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

* fix user auth api:

* re initalise oauth and email config

* set verbosity

* sync auto update settings with hosts

* sync auto update settings with hosts

* mask secret and convert jwt duration to minutes

* convert jwt duration to minutes

* notify peers after settings update

* compare with curr settings before updating

* send host update to devices on auto update

---------

Co-authored-by: Vishal Dalwadi <dalwadivishal26@gmail.com>
2025-04-30 02:34:10 +04:00
Abhishek K
262803c234
add ctx to DB funcs (#3435) 2025-04-29 00:22:02 +04:00
Abhishek K
119ef4e17e
move api tokens models to schema pkg (#3434) 2025-04-29 00:11:56 +04:00
Abhishek K
ca95954fb5
NET-2000: Api access tokens (#3418)
* feat: api access tokens

* revoke all user tokens

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

* fix revoked tokens to be unauthorized

* remove unused functions

* convert access token to sql schema

* switch access token to sql schema

* 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

* fix token removal on user update

* fix token removal on user update
2025-04-23 20:21:42 +04:00
Abhishek K
d5bdc723fc
Merge pull request #3433 from gravitl/master
Master
2025-04-23 15:27:45 +04:00
Abhishek K
693327ac77
Merge pull request #3432 from gravitl/release-v0.90.0
Release v0.90.0
2025-04-23 15:26:58 +04:00
Abhishek K
bcdb31c24c
Merge pull request #3430 from gravitl/acl_failover
bypass acl policy
2025-04-22 14:08:45 +04:00
abhishek9686
fc32e324b3 check if node is getting failedovered 2025-04-22 12:58:47 +04:00
abhishek9686
134b525ea6 bypass acl policy for failover peer 2025-04-22 12:55:53 +04:00
abhishek9686
35edcd01de bypass acl policy 2025-04-22 12:33:04 +04:00
Abhishek K
8c280eae6b
Merge pull request #3424 from gravitl/master
Master
2025-04-14 15:25:57 +04:00
Abhishek K
7e741b3624
Merge pull request #3423 from gravitl/release-v0.90.0
Release v0.90.0
2025-04-14 15:25:10 +04:00
Abhishek K
e2a0ceccf6
fix egress policies acls comms (#3420) 2025-04-14 15:21:06 +04:00
Vishal Dalwadi
7f40371ffd
Task/DB-Migration: Add Key-Value to SQL Migration functionality. (#3380)
* feat(go): add db package;

* feat(go): add jobs table;

* feat(go): add schema migration facade;

* refactor(go): use custom key type to avoid collisions;
2025-04-12 14:07:57 +04:00
abhishek9686
b5842b7b06 fix create gateway req 2025-04-03 21:47:41 +04:00
Abhishek K
1283f107e1
Merge pull request #3413 from gravitl/update-swagger-docs-release-v0.90.0
Update Swagger documentation 2025-04-02 15:19:06
2025-04-02 19:19:45 +04:00
abhishek9686
16a816c10a Update documentation 2025-04-02 15:19:06 2025-04-02 15:19:07 +00:00
abhishek9686
3bb843e96e fix openapi tag 2025-04-02 19:18:41 +04:00
abhishek9686
6b21e9f4c2 assign to ingress gw automatically 2025-04-02 19:14:57 +04:00
Abhishek K
02af8f6e5c
Merge pull request #3410 from gravitl/master
Master
2025-04-01 10:14:49 +04:00
Abhishek K
83755ec5ce
Merge pull request #3409 from gravitl/release-v0.90.0
Release v0.90.0
2025-04-01 10:05:52 +04:00
abhishek9686
b17b200581 udpate ip service 2025-04-01 10:04:57 +04:00