mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-12 20:20:52 +08:00
[NET-546] Move ee code to ee package, unify ee status and terminology (#2538)
* Move ee code to ee package and unify ee status to IsPro * Consolidate naming for paid/professional/enterprise version as "pro". Notes: - Changes image tags - Changes build tags - Changes package names - Doesn't change links to docs that mention "ee" - Doesn't change parameters sent to PostHog that mention "ee" * Revert docker image tag being -pro, back to -ee * Revert go build tag being pro, back to ee * Add build tags for some ee content * [2] Revert go build tag being pro, back to ee * Fix test workflow * Add a json tag to be backwards compatible with frontend "IsEE" check * Add a json tag for the serverconfig struct for IsEE * Ammend json tag to Is_EE * fix ee tags --------- Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
This commit is contained in:

committed by
GitHub

parent
31fcc8cd6d
commit
1a1ba1ccf4
@@ -415,7 +415,7 @@ func getNode(w http.ResponseWriter, r *http.Request) {
|
||||
PeerIDs: hostPeerUpdate.PeerIDs,
|
||||
}
|
||||
|
||||
if servercfg.Is_EE && nodeRequest {
|
||||
if servercfg.IsPro && nodeRequest {
|
||||
if err = logic.EnterpriseResetAllPeersFailovers(node.ID, node.Network); err != nil {
|
||||
logger.Log(1, "failed to reset failover list during node config pull", node.ID.String(), node.Network)
|
||||
}
|
||||
@@ -471,7 +471,7 @@ func createEgressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
go func() {
|
||||
mq.PublishPeerUpdate()
|
||||
}()
|
||||
runUpdates(&node, true)
|
||||
mq.RunUpdates(&node, true)
|
||||
}
|
||||
|
||||
// swagger:route DELETE /api/nodes/{network}/{nodeid}/deletegateway nodes deleteEgressGateway
|
||||
@@ -512,7 +512,7 @@ func deleteEgressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
go func() {
|
||||
mq.PublishPeerUpdate()
|
||||
}()
|
||||
runUpdates(&node, true)
|
||||
mq.RunUpdates(&node, true)
|
||||
}
|
||||
|
||||
// == INGRESS ==
|
||||
@@ -549,7 +549,7 @@ func createIngressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if servercfg.Is_EE && request.Failover {
|
||||
if servercfg.IsPro && request.Failover {
|
||||
if err = logic.EnterpriseResetFailoverFunc(node.Network); err != nil {
|
||||
logger.Log(1, "failed to reset failover list during failover create", node.ID.String(), node.Network)
|
||||
}
|
||||
@@ -560,7 +560,7 @@ func createIngressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
json.NewEncoder(w).Encode(apiNode)
|
||||
|
||||
runUpdates(&node, true)
|
||||
mq.RunUpdates(&node, true)
|
||||
}
|
||||
|
||||
// swagger:route DELETE /api/nodes/{network}/{nodeid}/deleteingress nodes deleteIngressGateway
|
||||
@@ -593,7 +593,7 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if servercfg.Is_EE && wasFailover {
|
||||
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)
|
||||
}
|
||||
@@ -620,7 +620,7 @@ func deleteIngressGateway(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
runUpdates(&node, true)
|
||||
mq.RunUpdates(&node, true)
|
||||
}
|
||||
|
||||
// swagger:route PUT /api/nodes/{network}/{nodeid} nodes updateNode
|
||||
@@ -655,18 +655,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
newNode := newData.ConvertToServerNode(¤tNode)
|
||||
relayupdate := false
|
||||
if servercfg.Is_EE && newNode.IsRelay && len(newNode.RelayedNodes) > 0 {
|
||||
if len(newNode.RelayedNodes) != len(currentNode.RelayedNodes) {
|
||||
relayupdate = true
|
||||
} else {
|
||||
for i, node := range newNode.RelayedNodes {
|
||||
if node != currentNode.RelayedNodes[i] {
|
||||
relayupdate = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
relayUpdate := logic.RelayUpdates(¤tNode, newNode)
|
||||
host, err := logic.GetHost(newNode.HostID.String())
|
||||
if err != nil {
|
||||
logger.Log(0, r.Header.Get("user"),
|
||||
@@ -676,7 +665,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
ifaceDelta := logic.IfaceDelta(¤tNode, newNode)
|
||||
aclUpdate := currentNode.DefaultACL != newNode.DefaultACL
|
||||
if ifaceDelta && servercfg.Is_EE {
|
||||
if ifaceDelta && servercfg.IsPro {
|
||||
if err = logic.EnterpriseResetAllPeersFailovers(currentNode.ID, currentNode.Network); err != nil {
|
||||
logger.Log(0, "failed to reset failover lists during node update for node", currentNode.ID.String(), currentNode.Network)
|
||||
}
|
||||
@@ -689,13 +678,8 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
||||
return
|
||||
}
|
||||
if relayupdate {
|
||||
updatenodes := logic.UpdateRelayed(currentNode.ID.String(), currentNode.RelayedNodes, newNode.RelayedNodes)
|
||||
if len(updatenodes) > 0 {
|
||||
for _, relayedNode := range updatenodes {
|
||||
runUpdates(&relayedNode, false)
|
||||
}
|
||||
}
|
||||
if relayUpdate {
|
||||
logic.UpdateRelayed(¤tNode, newNode)
|
||||
}
|
||||
if servercfg.IsDNSMode() {
|
||||
logic.SetDNS()
|
||||
@@ -705,7 +689,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
logger.Log(1, r.Header.Get("user"), "updated node", currentNode.ID.String(), "on network", currentNode.Network)
|
||||
w.WriteHeader(http.StatusOK)
|
||||
json.NewEncoder(w).Encode(apiNode)
|
||||
runUpdates(newNode, ifaceDelta)
|
||||
mq.RunUpdates(newNode, ifaceDelta)
|
||||
go func(aclUpdate, relayupdate bool, newNode *models.Node) {
|
||||
if aclUpdate || relayupdate {
|
||||
if err := mq.PublishPeerUpdate(); err != nil {
|
||||
@@ -715,7 +699,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
if err := mq.PublishReplaceDNS(¤tNode, newNode, host); err != nil {
|
||||
logger.Log(1, "failed to publish dns update", err.Error())
|
||||
}
|
||||
}(aclUpdate, relayupdate, newNode)
|
||||
}(aclUpdate, relayUpdate, newNode)
|
||||
}
|
||||
|
||||
// swagger:route DELETE /api/nodes/{network}/{nodeid} nodes deleteNode
|
||||
@@ -778,7 +762,7 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
|
||||
logic.ReturnSuccessResponse(w, r, nodeid+" deleted.")
|
||||
logger.Log(1, r.Header.Get("user"), "Deleted node", nodeid, "from network", params["network"])
|
||||
if !fromNode { // notify node change
|
||||
runUpdates(&node, false)
|
||||
mq.RunUpdates(&node, false)
|
||||
}
|
||||
go func() { // notify of peer change
|
||||
var err error
|
||||
@@ -796,15 +780,6 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
|
||||
}()
|
||||
}
|
||||
|
||||
func runUpdates(node *models.Node, ifaceDelta bool) {
|
||||
go func() { // don't block http response
|
||||
// publish node update if not server
|
||||
if err := mq.NodeUpdate(node); err != nil {
|
||||
logger.Log(1, "error publishing node update to node", node.ID.String(), err.Error())
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func doesUserOwnNode(username, network, nodeID string) bool {
|
||||
u, err := logic.GetUser(username)
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user