Commit graph

6132 commits

Author SHA1 Message Date
abhishek9686
fc2fff9f9d Merge branch 'develop' of https://github.com/gravitl/netmaker into ACC-638 2024-08-22 12:43:38 +05:30
Abhishek K
fe57a6a42d
Net 1227 v1 (#3062)
* generalise smtp config

* copy over smtp vars

* env new line

* fix master key api access

* comment user tests

* fix network and user invite for master key access
2024-08-22 11:55:08 +05:30
Abhishek K
d41521607f
Net 1227 v1 (#3061)
* generalise smtp config

* copy over smtp vars

* env new line

* fix master key api access

* comment user tests
2024-08-22 11:44:16 +05:30
Abhishek K
aa64e50374
Net 1227 (#3060)
* generalise smtp config

* copy over smtp vars

* env new line
2024-08-22 08:36:38 +05:30
Abhishek K
14bdb4fb43
generalise smtp config (#3059) 2024-08-22 08:05:05 +05:30
Sayan Mallick
a5bff96b83
Fix go.mod versions (#3058)
* updated go.mod

* updated go.mod
2024-08-20 20:01:10 +05:30
abhishek9686
27ceaed739 resolve merge conflicts 2024-08-20 18:32:49 +05:30
abhishek9686
bc42f1ebf0 fix saas frontend url 2024-08-20 17:53:56 +05:30
Abhishek K
2e8d95e80e
NET-1227: User Mgmt V2 (#3055)
* user mgmt models

* define user roles

* define models for new user mgmt and groups

* oauth debug log

* initialize user role after db conn

* print oauth token in debug log

* user roles CRUD apis

* user groups CRUD Apis

* additional api checks

* add additional scopes

* add additional scopes url

* add additional scopes url

* rm additional scopes url

* setup middlleware permission checks

* integrate permission check into middleware

* integrate permission check into middleware

* check for headers for subjects

* refactor user role models

* refactor user groups models

* add new user to pending user via RAC login

* untracked

* allow multiple groups for an user

* change json tag

* add debug headers

* refer network controls form roles, add debug headers

* refer network controls form roles, add debug headers

* replace auth checks, add network id to role model

* nodes handler

* migration funcs

* invoke sync users migration func

* add debug logs

* comment middleware

* fix get all nodes api

* add debug logs

* fix middleware error nil check

* add new func to get username from jwt

* fix jwt parsing

* abort on error

* allow multiple network roles

* allow multiple network roles

* add migration func

* return err if jwt parsing fails

* set global check to true when accessing user apis

* set netid for acls api calls

* set netid for acls api calls

* update role and groups routes

* add validation checks

* add invite flow apis and magic links

* add invited user via oauth signup automatically

* create invited user on oauth signup, with groups in the invite

* add group validation for user invite

* update create user handler with new role mgmt

* add validation checks

* create user invites tables

* add error logging for email invite

* fix invite singup url

* debug log

* get query params from url

* get query params from url

* add query escape

* debug log

* debug log

* fix user signup via invite api

* set admin field for backward compatbility

* use new role id for user apis

* deprecate use of old admin fields

* deprecate usage of old user fields

* add user role as service user if empty

* setup email sender

* delete invite after user singup

* add plaform user role

* redirect on invite verification link

* fix invite redirect

* temporary redirect

* fix invite redirect

* point invite link to frontend

* fix query params lookup

* add resend support, configure email interface types

* fix groups and user creation

* validate user groups, add check for metrics api in middleware

* add invite url to invite model

* migrate rac apis to new user mgmt

* handle network nodes

* add platform user to default role

* fix user role migration

* add default on rag creation and cleanup after deletion

* fix rac apis

* change to invite code param

* filter nodes and hosts based on user network access

* extend create user group req to accomodate users

* filter network based on user access

* format oauth error

* move user roles and groups

* fix get user v1 api

* move user mgmt func to pro

* add user auth type to user model

* fix roles init

* remove platform role from group object

* list only platform roles

* add network roles to invite req

* create default groups and roles

* fix middleware for global access

* create default role

* fix nodes filter with global network roles

* block selfupdate of groups and network roles

* delete netID if net roles are empty

* validate user roles nd groups on update

* set extclient permission scope when rag vpn access is set

* allow deletion of roles and groups

* replace _ with - in role naming convention

* fix failover middleware mgmt

* format oauth templates

* fetch route temaplate

* return err if user wrong login type

* check user groups on rac apis

* fix rac apis

* fix resp msg

* add validation checks for admin invite

* return oauth type

* format group err msg

* fix html tag

* clean up default groups

* create default rag role

* add UI name to roles

* remove default net group from user when deleted

* reorder migration funcs

* fix duplicacy of hosts

* check old field for migration

* from pro to ce make all secondary users admins

* from pro to ce make all secondary users admins

* revert: from pro to ce make all secondary users admins

* make sure downgrades work

* fix pending users approval

* fix duplicate hosts

* fix duplicate hosts entries

* fix cache reference issue

* feat: configure FRONTEND_URL during installation

* disable user vpn access when network roles are modified

* rm vpn acces when roles or groups are deleted

* add http to frontend url

* revert crypto version

* downgrade crytpo version

* add platform id check on user invites

---------

Co-authored-by: the_aceix <aceixsmartx@gmail.com>
2024-08-20 17:08:56 +05:30
abhishek9686
fb40cd7d56 resolve merge conflicts 2024-08-20 16:51:22 +05:30
abhishek9686
916942e7cc resolve merge conflicts 2024-08-20 16:49:27 +05:30
dependabot[bot]
4324efe2ea
Bump golang.org/x/oauth2 from 0.21.0 to 0.22.0 (#3029)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.21.0 to 0.22.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  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>
2024-08-20 13:47:48 +05:30
dependabot[bot]
2a98f82463
Bump alpine from 3.20.0 to 3.20.2 (#3010)
Bumps alpine from 3.20.0 to 3.20.2.

---
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>
2024-08-20 13:47:29 +05:30
dependabot[bot]
053c75e281
Bump golang.org/x/crypto from 0.23.0 to 0.26.0 (#3036)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.26.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  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>
2024-08-20 13:46:40 +05:30
dependabot[bot]
b47510ca33
Bump peter-evans/create-pull-request from 5 to 6 (#3052)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  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>
2024-08-20 13:46:06 +05:30
dependabot[bot]
285064c679
Bump github.com/posthog/posthog-go (#3054)
Bumps [github.com/posthog/posthog-go](https://github.com/posthog/posthog-go) from 0.0.0-20211028072449-93c17c49e2b0 to 1.2.18.
- [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/commits/v1.2.18)

---
updated-dependencies:
- dependency-name: github.com/posthog/posthog-go
  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>
2024-08-20 13:45:01 +05:30
dependabot[bot]
b700fea1ec
Bump github.com/eclipse/paho.mqtt.golang from 1.4.3 to 1.5.0 (#3028)
Bumps [github.com/eclipse/paho.mqtt.golang](https://github.com/eclipse/paho.mqtt.golang) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/eclipse/paho.mqtt.golang/releases)
- [Commits](https://github.com/eclipse/paho.mqtt.golang/compare/v1.4.3...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/eclipse/paho.mqtt.golang
  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>
2024-08-20 13:44:37 +05:30
Abhishek K
2c3046de59
Merge pull request #3048 from gravitl/master
Master
2024-08-19 12:13:51 +05:30
Abhishek K
fe9f6df457
Merge pull request #3047 from gravitl/staticcheck-update
staticcheck pinned to v0.4.7
2024-08-19 12:13:19 +05:30
Sayan Mallick
4fd5250a7f staticcheck pinned to v0.4.7 2024-08-19 12:01:35 +05:30
Abhishek K
5a561b3835
Net 1440 batchpeerupdate (#3042)
* NET-1440 scale test changes

* fix UT error and add error info

* load metric data into cacha in startup

* remove debug info for metric

* add server telemetry and hasSuperAdmin to cache

* fix user UT case

* update sqlite connection string for performance

* update check-in TS in cache only if cache enabled

* update metric data in cache only if cache enabled and write to DB once in stop

* update server status in mq topic

* add failover existed to server status update

* only send mq messsage when there is server status change

* batch peerUpdate

* code changes for scale for review

* update UT case

* update mq client check

* mq connection code change

* revert server status update changes

* revert batch peerUpdate

* remove server status update info

* batch peerUpdate

* code changes based on review and setupmqtt in keepalive

* set the mq message order to false for PIN

* remove setupmqtt in keepalive

* add peerUpdate batch size to config

* update batch peerUpdate

* recycle ip in node deletion

* update ip allocation logic

* remove ip addr cap

* remove ippool file

* update get extClient func

* remove ip from cache map when extClient is removed

* add batch peerUpdate switch

* set batch peerUpdate to true by default

---------

Co-authored-by: Max Ma <mayabin@gmail.com>
2024-08-16 15:35:43 +05:30
abhishek9686
d4af26b289 handle invite link for saas tenants 2024-08-16 15:32:23 +05:30
abhishek9686
e8e795ce3c fix duplicate hosts 2024-08-16 15:12:20 +05:30
abhishek9686
f4a293ab27 fix pending users approval 2024-08-16 13:31:46 +05:30
abhishek9686
2799dc95d0 resolve merge conflicts 2024-08-16 11:43:17 +05:30
Abhishek K
22cd0ae446
Revert "Bump github.com/coreos/go-oidc/v3 from 3.9.0 to 3.11.0 (#3002)" (#3041)
This reverts commit 5fbe7cb58d.
2024-08-16 10:59:36 +05:30
abhishek9686
17cf210f92 make sure downgrades work 2024-08-15 13:37:46 +05:30
dependabot[bot]
5fbe7cb58d
Bump github.com/coreos/go-oidc/v3 from 3.9.0 to 3.11.0 (#3002)
Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.9.0 to 3.11.0.
- [Release notes](https://github.com/coreos/go-oidc/releases)
- [Commits](https://github.com/coreos/go-oidc/compare/v3.9.0...v3.11.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/go-oidc/v3
  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>
2024-08-15 12:00:34 +05:30
Max Ma
46b8fd21c8
NET-1440: scale test changes (#3014)
* NET-1440 scale test changes

* fix UT error and add error info

* load metric data into cacha in startup

* remove debug info for metric

* add server telemetry and hasSuperAdmin to cache

* fix user UT case

* update sqlite connection string for performance

* update check-in TS in cache only if cache enabled

* update metric data in cache only if cache enabled and write to DB once in stop

* update server status in mq topic

* add failover existed to server status update

* only send mq messsage when there is server status change

* batch peerUpdate

* code changes for scale for review

* update UT case

* update mq client check

* mq connection code change

* revert server status update changes

* revert batch peerUpdate

* remove server status update info

* code changes based on review and setupmqtt in keepalive

* set the mq message order to false for PIN

* remove setupmqtt in keepalive

* recycle ip in node deletion

* update ip allocation logic

* remove ip addr cap

* remove ippool file

* update get extClient func

* remove ip from cache map when extClient is removed
2024-08-15 11:59:00 +05:30
Sayan Mallick
c551c487ca
New Docs (#3034)
* New Docs

CSS update and Dockerfile to include docs folder

flash of unrendered text fix

markdown docs

ignore docs/docs.go

improving the docs generation

github actions for docs generation

go runner version fix

updated docs.yml

update repo action updated

updated actions and dns docs

dns complete

More docs update

Complete docs and updated workflow

Update documentation Tue Aug  6 11:17:42 UTC 2024

Update documentation Thu Aug  8 12:26:57 UTC 2024

clean up

clean up

Dockerfile clean up

Updated workflow

Updated workflow

Update docs.yml

Update docs.yml

* requested changes

* changed ingress gateway to remote access gateway
2024-08-15 11:55:01 +05:30
abhishek9686
3332d4da9c revert: from pro to ce make all secondary users admins 2024-08-15 00:02:48 +05:30
abhishek9686
988c3cf95d from pro to ce make all secondary users admins 2024-08-15 00:01:46 +05:30
abhishek9686
e10d9c349f from pro to ce make all secondary users admins 2024-08-14 23:58:07 +05:30
abhishek9686
4de7a45ce6 check old field for migration 2024-08-14 16:15:30 +05:30
abhishek9686
63e4bf7105 fix duplicacy of hosts 2024-08-14 12:34:52 +05:30
abhishek9686
7d847642da reorder migration funcs 2024-08-13 16:57:20 +05:30
abhishek9686
ecf00dcd25 remove default net group from user when deleted 2024-08-12 14:58:53 +05:30
abhishek9686
4003848447 add UI name to roles 2024-08-12 11:48:03 +05:30
abhishek9686
bc1f2d0c72 create default rag role 2024-08-12 10:49:24 +05:30
abhishek9686
ac8cfdf7a4 clean up default groups 2024-08-12 09:39:52 +05:30
abhishek9686
da5505f298 fix html tag 2024-08-12 08:44:39 +05:30
abhishek9686
6078639699 format group err msg 2024-08-12 08:10:26 +05:30
abhishek9686
527c77b4a4 return oauth type 2024-08-09 18:10:28 +05:30
abhishek9686
b160445a18 add validation checks for admin invite 2024-08-09 17:06:26 +05:30
abhishek9686
088c108b93 fix resp msg 2024-08-09 08:59:35 +05:30
abhishek9686
30e1272ae9 fix rac apis 2024-08-07 14:07:01 +05:30
abhishek9686
9eaffd1314 check user groups on rac apis 2024-08-06 23:09:42 +05:30
abhishek9686
42c0fbc32f return err if user wrong login type 2024-08-06 15:50:51 +05:30
abhishek9686
6b208a7c59 fetch route temaplate 2024-08-05 09:24:47 +05:30
abhishek9686
fc727d4543 format oauth templates 2024-08-05 00:31:11 +05:30