Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update develop from master #2635

Merged
merged 37 commits into from
Oct 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
75c27f6
domain flag for auto installs
mattkasun Jun 22, 2023
d6695b1
Merge pull request #2415 from gravitl/NET-374a
afeiszli Jun 22, 2023
4903f2e
use static servers with custom domain (#2421)
mattkasun Jun 26, 2023
c6ca393
Merge branch 'master' into release-v0.20.3
theguy951357 Jul 3, 2023
f9405f7
Merge pull request #2435 from gravitl/release-v0.20.3
afeiszli Jul 3, 2023
287c9f4
send delete peer update always
abhishek9686 Jul 10, 2023
3f11ddd
fix add/remove host api calls
abhishek9686 Jul 10, 2023
504ce7f
keep mq updates in a single go func
abhishek9686 Jul 10, 2023
81ca3b8
move branch test logic to devops (#2443)
mattkasun Jul 11, 2023
fc3261c
handle IOT OS
abhishek9686 Jul 11, 2023
8010a39
Merge pull request #2449 from gravitl/NET-427
afeiszli Jul 11, 2023
f6245dd
Merge pull request #2450 from gravitl/release-v0.20.3
abhishek9686 Jul 13, 2023
ac4a498
Merge pull request #2457 from gravitl/release-v0.20.4
abhishek9686 Jul 19, 2023
2b48dea
save server name to env (#2460)
mattkasun Jul 24, 2023
46cddad
ensure branch test servers available after test runs (#2467)
mattkasun Jul 26, 2023
002ac80
use correct method to delete droplets (#2468)
mattkasun Jul 27, 2023
16d5b58
Merge pull request #2484 from gravitl/release-v0.20.5
abhishek9686 Aug 1, 2023
c884fea
Merge pull request #2521 from gravitl/release-v0.20.6
abhishek9686 Aug 17, 2023
155c6b0
set coredns to 1.10.1 version
abhishek9686 Aug 18, 2023
90578d4
Merge pull request #2525 from gravitl/NET-564
abhishek9686 Aug 18, 2023
2e03482
Merge pull request #2526 from gravitl/release-v0.20.6
abhishek9686 Aug 18, 2023
d225608
update node expiration during migration
mattkasun Aug 22, 2023
3d19d56
Merge pull request #2535 from gravitl/NET-406b
abhishek9686 Aug 23, 2023
2c58846
Merge branch 'master' into release-v0.20.6
mattkasun Aug 23, 2023
6937134
Merge pull request #2537 from gravitl/release-v0.20.6
abhishek9686 Aug 24, 2023
f158caf
Merge pull request #2563 from gravitl/release-v0.21.0
abhishek9686 Sep 12, 2023
8c836a0
remove quotes
mattkasun Sep 13, 2023
11b6baa
set license validation err always
abhishek9686 Sep 14, 2023
c0d3a9e
Merge pull request #2577 from gravitl/hot_fix_license_err
abhishek9686 Sep 14, 2023
0e4eda9
Merge pull request #2574 from gravitl/NET-628-hotfix
abhishek9686 Sep 20, 2023
c86a6f5
Merge branch 'master' into release-v0.21.0
mattkasun Sep 20, 2023
e08ef41
change license to apache (#2598)
abhishek9686 Sep 21, 2023
791cf65
Merge pull request #2596 from gravitl/release-v0.21.0
abhishek9686 Sep 22, 2023
3e26f59
merge conflicts
abhishek9686 Oct 17, 2023
fb46479
Merge pull request #2630 from gravitl/release-v0.21.1
abhishek9686 Oct 17, 2023
4876bdb
NET-674: clear extclients of an user when deleted, remove gw id from …
abhishek9686 Oct 17, 2023
6aec0f6
Merge pull request #2634 from gravitl/release-v0.21.1
abhishek9686 Oct 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions controllers/ext_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ func createExtClient(w http.ResponseWriter, r *http.Request) {
extclient.RemoteAccessClientID == customExtClient.RemoteAccessClientID && nodeid == extclient.IngressGatewayID {
// extclient on the gw already exists for the remote access client
err = errors.New("remote client config already exists on the gateway")
slog.Error("failed to get extclients", "error", err)
slog.Error("failed to create extclient", "user", userName, "error", err)
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return
}
Expand Down Expand Up @@ -539,12 +539,12 @@ func deleteExtClient(w http.ResponseWriter, r *http.Request) {
if err != nil {
err = errors.New("Could not delete extclient " + params["clientid"])
logger.Log(0, r.Header.Get("user"),
fmt.Sprintf("failed to delete extclient [%s],network [%s]: %v", clientid, network, err))
fmt.Sprintf("failed to get extclient [%s],network [%s]: %v", clientid, network, err))
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
return
}
if !logic.IsUserAllowedAccessToExtClient(r.Header.Get("user"), extclient) {
slog.Error("failed to get extclient", "network", network, "clientID",
slog.Error("user not allowed to delete", "network", network, "clientID",
clientid, "error", errors.New("access is denied"))
logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("access is denied"), "forbidden"))
return
Expand Down
24 changes: 21 additions & 3 deletions controllers/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -571,10 +571,28 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
return
}

if servercfg.IsPro && wasFailover {
if err = logic.EnterpriseResetFailoverFunc(node.Network); err != nil {
logger.Log(1, "failed to reset failover list during failover create", node.ID.String(), node.Network)
if servercfg.IsPro {
if wasFailover {
if err = logic.EnterpriseResetFailoverFunc(node.Network); err != nil {
logger.Log(1, "failed to reset failover list during failover create", node.ID.String(), node.Network)
}
}
go func() {
users, err := logic.GetUsersDB()
if err == nil {
for _, user := range users {
if _, ok := user.RemoteGwIDs[nodeid]; ok {
delete(user.RemoteGwIDs, nodeid)
err = logic.UpsertUser(user)
if err != nil {
slog.Error("failed to get user", "user", user.UserName, "error", err)
}
}
}
} else {
slog.Error("failed to get users", "error", err)
}
}()
}

apiNode := node.ConvertToAPINode()
Expand Down
18 changes: 17 additions & 1 deletion controllers/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,23 @@ func deleteUser(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return
}

// check and delete extclient with this ownerID
go func() {
extclients, err := logic.GetAllExtClients()
if err != nil {
slog.Error("failed to get extclients", "error", err)
return
}
for _, extclient := range extclients {
if extclient.OwnerID == user.UserName {
err = logic.DeleteExtClient(extclient.Network, extclient.ClientID)
if err != nil {
slog.Error("failed to delete extclient",
"id", extclient.ClientID, "owner", user.UserName, "error", err)
}
}
}
}()
logger.Log(1, username, "was deleted")
json.NewEncoder(w).Encode(params["username"] + " deleted.")
}
Expand Down
24 changes: 24 additions & 0 deletions logic/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,30 @@ func HasSuperAdmin() (bool, error) {
return false, err
}

// GetUsersDB - gets users
func GetUsersDB() ([]models.User, error) {

var users []models.User

collection, err := database.FetchRecords(database.USERS_TABLE_NAME)

if err != nil {
return users, err
}

for _, value := range collection {

var user models.User
err = json.Unmarshal([]byte(value), &user)
if err != nil {
continue // get users
}
users = append(users, user)
}

return users, err
}

// GetUsers - gets users
func GetUsers() ([]models.ReturnUser, error) {

Expand Down
6 changes: 6 additions & 0 deletions pro/controllers/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,9 @@ func getUserRemoteAccessGws(w http.ResponseWriter, r *http.Request) {
if node.PendingDelete {
continue
}
if !node.IsIngressGateway {
continue
}
host, err := logic.GetHost(node.HostID.String())
if err != nil {
continue
Expand Down Expand Up @@ -214,6 +217,9 @@ func getUserRemoteAccessGws(w http.ResponseWriter, r *http.Request) {
if err != nil {
continue
}
if !node.IsIngressGateway {
continue
}
if node.PendingDelete {
continue
}
Expand Down
Loading