fix(go): rebase fixes;

This commit is contained in:
Vishal Dalwadi 2025-07-03 11:39:39 +05:30
parent 74fb1febce
commit c71e106421
17 changed files with 32 additions and 51 deletions

View file

@ -215,7 +215,7 @@ func getAcls(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return
}
acls, err := logic.ListAclsByNetwork(netID)
acls, err := logic.ListAclsByNetwork(models.NetworkID(netID))
if err != nil {
logger.Log(0, r.Header.Get("user"), "failed to get all network acl entries: ", err.Error())
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))

View file

@ -10,8 +10,6 @@ import (
"sync"
"time"
"github.com/gravitl/netmaker/db"
"github.com/gorilla/handlers"
"github.com/gorilla/mux"
"github.com/gravitl/netmaker/logger"

View file

@ -429,7 +429,7 @@ func getExtClientHAConf(w http.ResponseWriter, r *http.Request) {
}
// fetch client based on availability
nodes, _ := logic.GetNetworkNodes(networkid)
defaultPolicy, _ := logic.GetDefaultPolicy(networkid, models.DevicePolicy)
defaultPolicy, _ := logic.GetDefaultPolicy(models.NetworkID(networkid), models.DevicePolicy)
var targetGwID string
var connectionCnt int = -1
for _, nodeI := range nodes {

View file

@ -447,7 +447,7 @@ func getNetworkEgressRoutes(w http.ResponseWriter, r *http.Request) {
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return
}
nodeEgressRoutes, _, err := logic.GetEgressRanges(netname)
nodeEgressRoutes, _, err := logic.GetEgressRanges(models.NetworkID(netname))
if err != nil {
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
return
@ -493,7 +493,7 @@ func deleteNetwork(w http.ResponseWriter, r *http.Request) {
go logic.UnlinkNetworkAndTagsFromEnrollmentKeys(network, true)
go logic.DeleteNetworkRoles(network)
go logic.DeleteAllNetworkTags(models.NetworkID(network))
go logic.DeleteDefaultNetworkPolicies(network)
go logic.DeleteNetworkPolicies(models.NetworkID(network))
go func() {
<-doneCh
mq.PublishPeerUpdate(true)
@ -597,7 +597,7 @@ func createNetwork(w http.ResponseWriter, r *http.Request) {
return
}
logic.CreateDefaultNetworkRolesAndGroups(models.NetworkID(network.NetID))
logic.CreateDefaultNetworkPolicies(network.NetID)
logic.CreateDefaultNetworkPolicies(models.NetworkID(network.NetID))
logic.CreateDefaultTags(models.NetworkID(network.NetID))
go func() {

View file

@ -115,7 +115,6 @@ func ToSchemaNode(node models.Node) schema.Node {
Address6: address6,
Server: node.Server,
Connected: node.Connected,
DNSOn: node.DNSOn,
Action: node.Action,
Status: string(node.Status),
DefaultACL: node.DefaultACL,
@ -205,7 +204,6 @@ func ToModelNode(_node schema.Node) models.Node {
Address6: address6,
Action: _node.Action,
LocalAddress: localAddress,
DNSOn: _node.DNSOn,
},
PendingDelete: _node.PendingDelete,
LastModified: _node.LastModified,

View file

@ -4,12 +4,9 @@ import (
"context"
"database/sql"
"errors"
"fmt"
"github.com/gravitl/netmaker/db"
"github.com/gravitl/netmaker/db"
"time"
"github.com/gravitl/netmaker/servercfg"
_ "github.com/lib/pq"
)

View file

@ -1411,8 +1411,8 @@ func RemoveNodeFromAclPolicy(node models.Node) {
}
}
// CreateDefaultAclNetworkPolicies - create default acl network policies
func CreateDefaultAclNetworkPolicies(netID models.NetworkID) {
// CreateDefaultNetworkPolicies - create default acl network policies
func CreateDefaultNetworkPolicies(netID models.NetworkID) {
if netID.String() == "" {
return
}
@ -1475,5 +1475,5 @@ func CreateDefaultAclNetworkPolicies(netID models.NetworkID) {
}
InsertAcl(defaultUserAcl)
}
CreateDefaultUserPolicies(netID)
CreateDefaultUserPolicies(netID.String())
}

View file

@ -1,10 +1,13 @@
package logic
import (
"context"
"encoding/json"
"errors"
"fmt"
"github.com/gravitl/netmaker/db"
"github.com/gravitl/netmaker/logic/acls"
"github.com/gravitl/netmaker/schema"
"net"
"reflect"
"sort"

View file

@ -15,6 +15,7 @@ import (
"golang.org/x/crypto/bcrypt"
"golang.org/x/exp/slog"
"gorm.io/gorm"
"os"
)
var (

View file

@ -28,7 +28,7 @@ func SetJWTSecret() {
newValue := RandomString(64)
jwtSecretKey = []byte(newValue) // 512 bit random password
if err := StoreJWTSecret(string(jwtSecretKey)); err != nil {
logger.FatalLog("something went wrong when configuring JWT authentication")
logger.FatalLog("something went wrong when configuring JWT authentication", err.Error())
}
} else {
jwtSecretKey = []byte(currentSecret)

View file

@ -279,7 +279,7 @@ func AddStatusToNodes(nodes []models.Node, statusCall bool) (nodesWithStatus []m
for _, node := range nodes {
if _, ok := aclDefaultPolicyStatusMap[node.Network]; !ok {
// check default policy if all allowed return true
defaultPolicy, _ := GetDefaultPolicy(node.Network, models.DevicePolicy)
defaultPolicy, _ := GetDefaultPolicy(models.NetworkID(node.Network), models.DevicePolicy)
aclDefaultPolicyStatusMap[node.Network] = defaultPolicy.Enabled
}
if statusCall {

View file

@ -64,7 +64,7 @@ func GetHostPeerInfo(host *models.Host) (models.HostPeerInfo, error) {
continue
}
networkPeersInfo := make(models.PeerMap)
defaultDevicePolicy, _ := GetDefaultPolicy(node.Network, models.DevicePolicy)
defaultDevicePolicy, _ := GetDefaultPolicy(models.NetworkID(node.Network), models.DevicePolicy)
currentPeers := GetNetworkNodesMemory(allNodes, node.Network)
for _, peer := range currentPeers {
@ -190,8 +190,8 @@ func GetPeerUpdateForHost(network string, host *models.Host, allNodes []models.N
}
networkPeersInfo := make(models.PeerMap)
defaultUserPolicy, _ := GetDefaultPolicy(node.Network, models.UserPolicy)
defaultDevicePolicy, _ := GetDefaultPolicy(node.Network, models.DevicePolicy)
defaultUserPolicy, _ := GetDefaultPolicy(models.NetworkID(node.Network), models.UserPolicy)
defaultDevicePolicy, _ := GetDefaultPolicy(models.NetworkID(node.Network), models.DevicePolicy)
if (defaultDevicePolicy.Enabled && defaultUserPolicy.Enabled) ||
(!CheckIfAnyPolicyisUniDirectional(node, acls) &&
!(node.EgressDetails.IsEgressGateway && len(node.EgressDetails.EgressGatewayRanges) > 0)) {

View file

@ -63,16 +63,16 @@ var IntialiseGroups = func() {}
var DeleteNetworkRoles = func(netID string) {}
var CreateDefaultNetworkRolesAndGroups = func(netID models.NetworkID) {}
var CreateDefaultUserPolicies = func(networkID string) {
if netID.String() == "" {
if networkID == "" {
return
}
if !IsAclExists(fmt.Sprintf("%s.%s", netID, "all-users")) {
if !IsAclExists(fmt.Sprintf("%s.%s", networkID, "all-users")) {
defaultUserAcl := models.Acl{
ID: fmt.Sprintf("%s.%s", netID, "all-users"),
ID: fmt.Sprintf("%s.%s", networkID, "all-users"),
Default: true,
Name: "All Users",
MetaData: "This policy gives access to everything in the network for an user",
NetworkID: netID,
NetworkID: models.NetworkID(networkID),
Proto: models.ALL,
ServiceType: models.Any,
Port: []string{},

View file

@ -1,6 +1,7 @@
package migrate
import (
"context"
"encoding/json"
"fmt"
"github.com/gravitl/netmaker/logic/acls"
@ -521,7 +522,7 @@ func createDefaultTagsAndPolicies() {
}
for _, network := range networks {
logic.CreateDefaultTags(models.NetworkID(network.NetID))
logic.CreateDefaultNetworkPolicies(network.NetID)
logic.CreateDefaultNetworkPolicies(models.NetworkID(network.NetID))
// delete old remote access gws policy
logic.DeleteAcl(models.Acl{ID: fmt.Sprintf("%s.%s", network.NetID, "all-remote-access-gws")})
}

View file

@ -18,19 +18,6 @@ import (
// This function archives the old data and does not
// delete it.
func ToSQLSchema() error {
// initialize sql schema db.
err := db.InitializeDB(schema.ListModels()...)
if err != nil {
return err
}
defer db.CloseDB()
// migrate, if not done already.
return migrate()
}
func migrate() error {
// begin a new transaction.
dbctx := db.BeginTx(context.TODO())
commit := false
@ -52,13 +39,6 @@ func migrate() error {
return err
}
// initialize key-value schema db.
err := database.InitializeDatabase()
if err != nil {
return err
}
defer database.CloseDB()
// migrate.
err = migrateNetworks(dbctx)
if err != nil {
@ -94,7 +74,7 @@ func migrate() error {
func migrateNetworks(ctx context.Context) error {
networks, err := database.FetchRecords(database.NETWORKS_TABLE_NAME)
if err != nil {
if err != nil && !database.IsEmptyRecord(err) {
return err
}
@ -117,7 +97,7 @@ func migrateNetworks(ctx context.Context) error {
func migrateHosts(ctx context.Context) error {
hosts, err := database.FetchRecords(database.HOSTS_TABLE_NAME)
if err != nil {
if err != nil && !database.IsEmptyRecord(err) {
return err
}
@ -140,7 +120,7 @@ func migrateHosts(ctx context.Context) error {
func migrateNodes(ctx context.Context) error {
nodes, err := database.FetchRecords(database.NODES_TABLE_NAME)
if err != nil {
if err != nil && !database.IsEmptyRecord(err) {
return err
}
@ -163,7 +143,7 @@ func migrateNodes(ctx context.Context) error {
func migrateACLs(ctx context.Context) error {
acls, err := database.FetchRecords(database.ACLS_TABLE_NAME)
if err != nil {
if err != nil && !database.IsEmptyRecord(err) {
return err
}

View file

@ -3,6 +3,8 @@ package controllers
import (
"encoding/json"
"net/http"
"slices"
"strings"
proLogic "github.com/gravitl/netmaker/pro/logic"
"golang.org/x/exp/slog"
@ -180,7 +182,9 @@ func graph(w http.ResponseWriter, r *http.Request) {
networkNodes = logic.AddStaticNodestoList(networkNodes)
// return all the nodes in JSON/API format
apiNodes := logic.GetAllNodesAPIWithLocation(networkNodes[:])
logic.SortApiNodes(apiNodes[:])
slices.SortFunc(apiNodes, func(a, b models.ApiNode) int {
return strings.Compare(a.ID, b.ID)
})
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(apiNodes)
}

View file

@ -37,7 +37,6 @@ type Node struct {
Address6 string
Server string
Connected bool
DNSOn bool
Action string
// GatewayNodeID is the ID of the node that this node uses as a