mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-11 23:54:22 +08:00
create default rag role
This commit is contained in:
parent
ac8cfdf7a4
commit
bc1f2d0c72
4 changed files with 32 additions and 36 deletions
|
@ -219,7 +219,6 @@ func updateHost(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
newHost := newHostData.ConvertAPIHostToNMHost(currHost)
|
||||
|
||||
logic.UpdateHost(newHost, currHost) // update the in memory struct values
|
||||
if err = logic.UpsertHost(newHost); err != nil {
|
||||
logger.Log(0, r.Header.Get("user"), "failed to update a host:", err.Error())
|
||||
|
|
|
@ -577,34 +577,6 @@ func createIngressGateway(w http.ResponseWriter, r *http.Request) {
|
|||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||
return
|
||||
}
|
||||
host, err := logic.GetHost(node.HostID.String())
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||
return
|
||||
}
|
||||
// create network role for this gateway
|
||||
logic.CreateRole(models.UserRolePermissionTemplate{
|
||||
ID: models.GetRAGRoleName(node.Network, host.Name),
|
||||
NetworkID: models.NetworkID(node.Network),
|
||||
Default: true,
|
||||
NetworkLevelAccess: map[models.RsrcType]map[models.RsrcID]models.RsrcPermissionScope{
|
||||
models.RemoteAccessGwRsrc: {
|
||||
models.RsrcID(node.ID.String()): models.RsrcPermissionScope{
|
||||
Read: true,
|
||||
VPNaccess: true,
|
||||
},
|
||||
},
|
||||
models.ExtClientsRsrc: {
|
||||
models.AllExtClientsRsrcID: models.RsrcPermissionScope{
|
||||
Read: true,
|
||||
Create: true,
|
||||
Update: true,
|
||||
Delete: true,
|
||||
SelfOnly: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
apiNode := node.ConvertToAPINode()
|
||||
logger.Log(1, r.Header.Get("user"), "created ingress gateway on node", nodeid, "on network", netid)
|
||||
|
@ -646,13 +618,6 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
|
|||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||
return
|
||||
}
|
||||
host, err := logic.GetHost(node.HostID.String())
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||
return
|
||||
}
|
||||
|
||||
go logic.DeleteRole(models.GetRAGRoleName(node.Network, host.Name), true)
|
||||
|
||||
apiNode := node.ConvertToAPINode()
|
||||
logger.Log(1, r.Header.Get("user"), "deleted ingress gateway", nodeid)
|
||||
|
|
|
@ -178,6 +178,29 @@ func CreateIngressGateway(netid string, nodeid string, ingress models.IngressReq
|
|||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
// create network role for this gateway
|
||||
CreateRole(models.UserRolePermissionTemplate{
|
||||
ID: models.GetRAGRoleName(node.Network, host.Name),
|
||||
NetworkID: models.NetworkID(node.Network),
|
||||
Default: true,
|
||||
NetworkLevelAccess: map[models.RsrcType]map[models.RsrcID]models.RsrcPermissionScope{
|
||||
models.RemoteAccessGwRsrc: {
|
||||
models.RsrcID(node.ID.String()): models.RsrcPermissionScope{
|
||||
Read: true,
|
||||
VPNaccess: true,
|
||||
},
|
||||
},
|
||||
models.ExtClientsRsrc: {
|
||||
models.AllExtClientsRsrcID: models.RsrcPermissionScope{
|
||||
Read: true,
|
||||
Create: true,
|
||||
Update: true,
|
||||
Delete: true,
|
||||
SelfOnly: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
err = SetNetworkNodesLastModified(netid)
|
||||
return node, err
|
||||
}
|
||||
|
@ -231,6 +254,11 @@ func DeleteIngressGateway(nodeid string) (models.Node, []models.ExtClient, error
|
|||
if err != nil {
|
||||
return models.Node{}, removedClients, err
|
||||
}
|
||||
host, err := GetHost(node.HostID.String())
|
||||
if err != nil {
|
||||
return models.Node{}, removedClients, err
|
||||
}
|
||||
go DeleteRole(models.GetRAGRoleName(node.Network, host.Name), true)
|
||||
err = SetNetworkNodesLastModified(node.Network)
|
||||
return node, removedClients, err
|
||||
}
|
||||
|
|
|
@ -195,6 +195,10 @@ func DeleteNode(node *models.Node, purge bool) error {
|
|||
if err := DeleteGatewayExtClients(node.ID.String(), node.Network); err != nil {
|
||||
slog.Error("failed to delete ext clients", "nodeid", node.ID.String(), "error", err.Error())
|
||||
}
|
||||
host, err := GetHost(node.HostID.String())
|
||||
if err == nil {
|
||||
go DeleteRole(models.GetRAGRoleName(node.Network, host.Name), true)
|
||||
}
|
||||
}
|
||||
if node.IsRelayed {
|
||||
// cleanup node from relayednodes on relay node
|
||||
|
|
Loading…
Add table
Reference in a new issue