Browse Source

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"
gabrielseibel1 2 years ago
parent
commit
6f6c2aa6e2

+ 3 - 3
.github/workflows/publish-docker.yml

@@ -53,7 +53,7 @@ jobs:
           build-args: | 
           build-args: | 
             tags=ce
             tags=ce
 
 
-  docker-ee:
+  docker-pro:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     steps:
     steps:
       -
       -
@@ -89,6 +89,6 @@ jobs:
           context: .
           context: .
           platforms: linux/amd64, linux/arm64
           platforms: linux/amd64, linux/arm64
           push: true
           push: true
-          tags: ${{ github.repository }}:${{ env.TAG }}-ee
+          tags: ${{ github.repository }}:${{ env.TAG }}-pro
           build-args: |
           build-args: |
-            tags=ee
+            tags=pro

+ 3 - 3
.github/workflows/test.yml

@@ -19,7 +19,7 @@ jobs:
       - name: Build
       - name: Build
         run: |
         run: |
          env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build main.go
          env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build main.go
-         env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -tags=ee main.go
+         env CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -tags=pro main.go
 
 
   nmctl:
   nmctl:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
@@ -51,7 +51,7 @@ jobs:
         run: |
         run: |
           go vet ./...
           go vet ./...
           go test -p 1 ./... -v
           go test -p 1 ./... -v
-          go test -p 1 ./ee -v --tags ee
+          go test -p 1 ./pro -v --tags pro
         env:
         env:
           DATABASE: sqlite
           DATABASE: sqlite
           CLIENT_MODE: "off"
           CLIENT_MODE: "off"
@@ -71,4 +71,4 @@ jobs:
         run: |
         run: |
           sudo apt update
           sudo apt update
           go install honnef.co/go/tools/cmd/staticcheck@latest
           go install honnef.co/go/tools/cmd/staticcheck@latest
-          { ~/go/bin/staticcheck  -tags=ee ./... ; }
+          { ~/go/bin/staticcheck  -tags=pro ./... ; }

+ 1 - 1
Dockerfile

@@ -5,7 +5,7 @@ WORKDIR /app
 COPY . .
 COPY . .
 
 
 RUN GOOS=linux CGO_ENABLED=1 go build -ldflags="-s -w " -tags ${tags} .
 RUN GOOS=linux CGO_ENABLED=1 go build -ldflags="-s -w " -tags ${tags} .
-# RUN go build -tags=ee . -o netmaker main.go
+# RUN go build -tags=pro . -o netmaker main.go
 FROM alpine:3.18.3
 FROM alpine:3.18.3
 
 
 # add a c lib
 # add a c lib

+ 3 - 3
cli/functions/network_user.go

@@ -4,8 +4,8 @@ import (
 	"fmt"
 	"fmt"
 	"net/http"
 	"net/http"
 
 
-	"github.com/gravitl/netmaker/ee/ee_controllers"
 	"github.com/gravitl/netmaker/models/promodels"
 	"github.com/gravitl/netmaker/models/promodels"
+	proControllers "github.com/gravitl/netmaker/pro/controllers"
 )
 )
 
 
 // GetAllNetworkUsers - fetch all network users
 // GetAllNetworkUsers - fetch all network users
@@ -34,8 +34,8 @@ func UpdateNetworkUser(networkName string, payload *promodels.NetworkUser) {
 }
 }
 
 
 // GetNetworkUserData - fetch a network user's complete data
 // GetNetworkUserData - fetch a network user's complete data
-func GetNetworkUserData(networkUserName string) *ee_controllers.NetworkUserDataMap {
-	return request[ee_controllers.NetworkUserDataMap](http.MethodGet, fmt.Sprintf("/api/networkusers/data/%s/me", networkUserName), nil)
+func GetNetworkUserData(networkUserName string) *proControllers.NetworkUserDataMap {
+	return request[proControllers.NetworkUserDataMap](http.MethodGet, fmt.Sprintf("/api/networkusers/data/%s/me", networkUserName), nil)
 }
 }
 
 
 // DeleteNetworkUser - delete a network user
 // DeleteNetworkUser - delete a network user

+ 0 - 0
compose/docker-compose.ee.yml → compose/docker-compose.pro.yml


+ 1 - 1
config/config.go

@@ -72,7 +72,7 @@ type ServerConfig struct {
 	BasicAuth                  string `yaml:"basic_auth"`
 	BasicAuth                  string `yaml:"basic_auth"`
 	LicenseValue               string `yaml:"license_value"`
 	LicenseValue               string `yaml:"license_value"`
 	NetmakerTenantID           string `yaml:"netmaker_tenant_id"`
 	NetmakerTenantID           string `yaml:"netmaker_tenant_id"`
-	IsEE                       string `yaml:"is_ee"`
+	IsPro                      string `yaml:"is_pro"`
 	StunPort                   int    `yaml:"stun_port"`
 	StunPort                   int    `yaml:"stun_port"`
 	StunList                   string `yaml:"stun_list"`
 	StunList                   string `yaml:"stun_list"`
 	TurnServer                 string `yaml:"turn_server"`
 	TurnServer                 string `yaml:"turn_server"`

+ 2 - 2
controllers/server.go

@@ -163,9 +163,9 @@ func getConfig(w http.ResponseWriter, r *http.Request) {
 	// get params
 	// get params
 
 
 	scfg := servercfg.GetServerConfig()
 	scfg := servercfg.GetServerConfig()
-	scfg.IsEE = "no"
+	scfg.IsPro = "no"
 	if servercfg.IsPro {
 	if servercfg.IsPro {
-		scfg.IsEE = "yes"
+		scfg.IsPro = "yes"
 	}
 	}
 	json.NewEncoder(w).Encode(scfg)
 	json.NewEncoder(w).Encode(scfg)
 	//w.WriteHeader(http.StatusOK)
 	//w.WriteHeader(http.StatusOK)

+ 0 - 0
docker/Caddyfile-EE → docker/Caddyfile-pro


+ 4 - 4
logic/telemetry.go

@@ -21,7 +21,7 @@ const posthog_pub_key = "phc_1vEXhPOA1P7HP5jP2dVU9xDTUqXHAelmtravyZ1vvES"
 const posthog_endpoint = "https://app.posthog.com"
 const posthog_endpoint = "https://app.posthog.com"
 
 
 // setFreeTierForTelemetry - store free tier flag without having an import cycle when used for telemetry
 // setFreeTierForTelemetry - store free tier flag without having an import cycle when used for telemetry
-// (as the ee package needs the logic package as currently written).
+// (as the pro package needs the logic package as currently written).
 func SetFreeTierForTelemetry(freeTierFlag bool) {
 func SetFreeTierForTelemetry(freeTierFlag bool) {
 	isFreeTier = freeTierFlag
 	isFreeTier = freeTierFlag
 }
 }
@@ -66,7 +66,7 @@ func sendTelemetry() error {
 			Set("docker", d.Count.Docker).
 			Set("docker", d.Count.Docker).
 			Set("k8s", d.Count.K8S).
 			Set("k8s", d.Count.K8S).
 			Set("version", d.Version).
 			Set("version", d.Version).
-			Set("is_ee", d.IsEE).
+			Set("is_ee", d.IsPro). // TODO change is_ee to is_pro for consistency, but probably needs changes in posthog
 			Set("is_free_tier", isFreeTier),
 			Set("is_free_tier", isFreeTier),
 	})
 	})
 }
 }
@@ -75,7 +75,7 @@ func sendTelemetry() error {
 func fetchTelemetryData() (telemetryData, error) {
 func fetchTelemetryData() (telemetryData, error) {
 	var data telemetryData
 	var data telemetryData
 
 
-	data.IsEE = servercfg.IsPro
+	data.IsPro = servercfg.IsPro
 	data.ExtClients = getDBLength(database.EXT_CLIENT_TABLE_NAME)
 	data.ExtClients = getDBLength(database.EXT_CLIENT_TABLE_NAME)
 	data.Users = getDBLength(database.USERS_TABLE_NAME)
 	data.Users = getDBLength(database.USERS_TABLE_NAME)
 	data.Networks = getDBLength(database.NETWORKS_TABLE_NAME)
 	data.Networks = getDBLength(database.NETWORKS_TABLE_NAME)
@@ -170,7 +170,7 @@ type telemetryData struct {
 	Networks   int
 	Networks   int
 	Servers    int
 	Servers    int
 	Version    string
 	Version    string
-	IsEE       bool
+	IsPro      bool
 	IsFreeTier bool
 	IsFreeTier bool
 }
 }
 
 

+ 1 - 1
main.go

@@ -1,4 +1,4 @@
-// -build ee
+// -build pro
 package main
 package main
 
 
 import (
 import (

+ 4 - 6
main_ee.go

@@ -1,12 +1,10 @@
-//go:build ee
-// +build ee
+//go:build pro
+// +build pro
 
 
 package main
 package main
 
 
-import (
-	"github.com/gravitl/netmaker/ee"
-)
+import "github.com/gravitl/netmaker/pro"
 
 
 func init() {
 func init() {
-	ee.InitEE()
+	pro.InitPro()
 }
 }

+ 3 - 3
models/node.go

@@ -357,7 +357,7 @@ func (node *LegacyNode) SetDefaultFailover() {
 }
 }
 
 
 // Node.Fill - fills other node data into calling node data if not set on calling node (skips DNSOn)
 // Node.Fill - fills other node data into calling node data if not set on calling node (skips DNSOn)
-func (newNode *Node) Fill(currentNode *Node, isEE bool) { // TODO add new field for nftables present
+func (newNode *Node) Fill(currentNode *Node, isPro bool) { // TODO add new field for nftables present
 	newNode.ID = currentNode.ID
 	newNode.ID = currentNode.ID
 	newNode.HostID = currentNode.HostID
 	newNode.HostID = currentNode.HostID
 	// Revisit the logic for boolean values
 	// Revisit the logic for boolean values
@@ -408,10 +408,10 @@ func (newNode *Node) Fill(currentNode *Node, isEE bool) { // TODO add new field
 	if newNode.RelayedNodes == nil {
 	if newNode.RelayedNodes == nil {
 		newNode.RelayedNodes = currentNode.RelayedNodes
 		newNode.RelayedNodes = currentNode.RelayedNodes
 	}
 	}
-	if newNode.IsRelay != currentNode.IsRelay && isEE {
+	if newNode.IsRelay != currentNode.IsRelay && isPro {
 		newNode.IsRelay = currentNode.IsRelay
 		newNode.IsRelay = currentNode.IsRelay
 	}
 	}
-	if newNode.IsRelayed == currentNode.IsRelayed && isEE {
+	if newNode.IsRelayed == currentNode.IsRelayed && isPro {
 		newNode.IsRelayed = currentNode.IsRelayed
 		newNode.IsRelayed = currentNode.IsRelayed
 	}
 	}
 	if newNode.Server == "" {
 	if newNode.Server == "" {

+ 1 - 1
models/structs.go

@@ -238,7 +238,7 @@ type ServerConfig struct {
 	MQPassword  string       `yaml:"mq_password"`
 	MQPassword  string       `yaml:"mq_password"`
 	Server      string       `yaml:"server"`
 	Server      string       `yaml:"server"`
 	Broker      string       `yaml:"broker"`
 	Broker      string       `yaml:"broker"`
-	Is_EE       bool         `yaml:"isee"`
+	IsPro       bool         `yaml:"is_pro"`
 	StunPort    int          `yaml:"stun_port"`
 	StunPort    int          `yaml:"stun_port"`
 	StunList    []StunServer `yaml:"stun_list"`
 	StunList    []StunServer `yaml:"stun_list"`
 	TrafficKey  []byte       `yaml:"traffickey"`
 	TrafficKey  []byte       `yaml:"traffickey"`

+ 0 - 0
ee/LICENSE → pro/LICENSE


+ 7 - 7
ee/ee_controllers/metrics.go → pro/controllers/metrics.go

@@ -1,8 +1,8 @@
-package ee_controllers
+package controllers
 
 
 import (
 import (
 	"encoding/json"
 	"encoding/json"
-	eelogic "github.com/gravitl/netmaker/ee/logic"
+	proLogic "github.com/gravitl/netmaker/pro/logic"
 	"net/http"
 	"net/http"
 
 
 	"github.com/gorilla/mux"
 	"github.com/gorilla/mux"
@@ -12,7 +12,7 @@ import (
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/models"
 )
 )
 
 
-// MetricHandlers - How we handle EE Metrics
+// MetricHandlers - How we handle Pro Metrics
 func MetricHandlers(r *mux.Router) {
 func MetricHandlers(r *mux.Router) {
 	r.HandleFunc("/api/metrics/{network}/{nodeid}", logic.SecurityCheck(true, http.HandlerFunc(getNodeMetrics))).Methods(http.MethodGet)
 	r.HandleFunc("/api/metrics/{network}/{nodeid}", logic.SecurityCheck(true, http.HandlerFunc(getNodeMetrics))).Methods(http.MethodGet)
 	r.HandleFunc("/api/metrics/{network}", logic.SecurityCheck(true, http.HandlerFunc(getNetworkNodesMetrics))).Methods(http.MethodGet)
 	r.HandleFunc("/api/metrics/{network}", logic.SecurityCheck(true, http.HandlerFunc(getNetworkNodesMetrics))).Methods(http.MethodGet)
@@ -62,7 +62,7 @@ func getNetworkNodesMetrics(w http.ResponseWriter, r *http.Request) {
 
 
 	for i := range networkNodes {
 	for i := range networkNodes {
 		id := networkNodes[i].ID
 		id := networkNodes[i].ID
-		metrics, err := eelogic.GetMetrics(id.String())
+		metrics, err := proLogic.GetMetrics(id.String())
 		if err != nil {
 		if err != nil {
 			logger.Log(1, r.Header.Get("user"), "failed to append metrics of node", id.String(), "during network metrics fetch", err.Error())
 			logger.Log(1, r.Header.Get("user"), "failed to append metrics of node", id.String(), "during network metrics fetch", err.Error())
 			continue
 			continue
@@ -84,7 +84,7 @@ func getNetworkExtMetrics(w http.ResponseWriter, r *http.Request) {
 	network := params["network"]
 	network := params["network"]
 
 
 	logger.Log(1, r.Header.Get("user"), "requested fetching external client metrics on network", network)
 	logger.Log(1, r.Header.Get("user"), "requested fetching external client metrics on network", network)
-	ingresses, err := eelogic.GetNetworkIngresses(network) // grab all the ingress gateways
+	ingresses, err := proLogic.GetNetworkIngresses(network) // grab all the ingress gateways
 	if err != nil {
 	if err != nil {
 		logger.Log(1, r.Header.Get("user"), "failed to fetch metrics of ext clients in network", network, err.Error())
 		logger.Log(1, r.Header.Get("user"), "failed to fetch metrics of ext clients in network", network, err.Error())
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
@@ -109,7 +109,7 @@ func getNetworkExtMetrics(w http.ResponseWriter, r *http.Request) {
 
 
 	for i := range ingresses {
 	for i := range ingresses {
 		id := ingresses[i].ID
 		id := ingresses[i].ID
-		ingressMetrics, err := eelogic.GetMetrics(id.String())
+		ingressMetrics, err := proLogic.GetMetrics(id.String())
 		if err != nil {
 		if err != nil {
 			logger.Log(1, r.Header.Get("user"), "failed to append external client metrics from ingress node", id.String(), err.Error())
 			logger.Log(1, r.Header.Get("user"), "failed to append external client metrics from ingress node", id.String(), err.Error())
 			continue
 			continue
@@ -150,7 +150,7 @@ func getAllMetrics(w http.ResponseWriter, r *http.Request) {
 
 
 	for i := range allNodes {
 	for i := range allNodes {
 		id := allNodes[i].ID
 		id := allNodes[i].ID
-		metrics, err := eelogic.GetMetrics(id.String())
+		metrics, err := proLogic.GetMetrics(id.String())
 		if err != nil {
 		if err != nil {
 			logger.Log(1, r.Header.Get("user"), "failed to append metrics of node", id.String(), "during all nodes metrics fetch", err.Error())
 			logger.Log(1, r.Header.Get("user"), "failed to append metrics of node", id.String(), "during all nodes metrics fetch", err.Error())
 			continue
 			continue

+ 1 - 1
ee/ee_controllers/middleware.go → pro/controllers/middleware.go

@@ -1,4 +1,4 @@
-package ee_controllers
+package controllers
 
 
 import (
 import (
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/logic"

+ 1 - 1
ee/ee_controllers/networkusers.go → pro/controllers/networkusers.go

@@ -1,4 +1,4 @@
-package ee_controllers
+package controllers
 
 
 import (
 import (
 	"encoding/json"
 	"encoding/json"

+ 5 - 5
ee/ee_controllers/relay.go → pro/controllers/relay.go

@@ -1,9 +1,9 @@
-package ee_controllers
+package controllers
 
 
 import (
 import (
 	"encoding/json"
 	"encoding/json"
 	"fmt"
 	"fmt"
-	eelogic "github.com/gravitl/netmaker/ee/logic"
+	proLogic "github.com/gravitl/netmaker/pro/logic"
 	"net/http"
 	"net/http"
 
 
 	"github.com/gorilla/mux"
 	"github.com/gorilla/mux"
@@ -14,7 +14,7 @@ import (
 	"github.com/gravitl/netmaker/mq"
 	"github.com/gravitl/netmaker/mq"
 )
 )
 
 
-// RelayHandlers - handle EE Relays
+// RelayHandlers - handle Pro Relays
 func RelayHandlers(r *mux.Router) {
 func RelayHandlers(r *mux.Router) {
 
 
 	r.HandleFunc("/api/nodes/{network}/{nodeid}/createrelay", controller.Authorize(false, true, "user", http.HandlerFunc(createRelay))).Methods(http.MethodPost)
 	r.HandleFunc("/api/nodes/{network}/{nodeid}/createrelay", controller.Authorize(false, true, "user", http.HandlerFunc(createRelay))).Methods(http.MethodPost)
@@ -44,7 +44,7 @@ func createRelay(w http.ResponseWriter, r *http.Request) {
 	}
 	}
 	relayRequest.NetID = params["network"]
 	relayRequest.NetID = params["network"]
 	relayRequest.NodeID = params["nodeid"]
 	relayRequest.NodeID = params["nodeid"]
-	_, relayNode, err := eelogic.CreateRelay(relayRequest)
+	_, relayNode, err := proLogic.CreateRelay(relayRequest)
 	if err != nil {
 	if err != nil {
 		logger.Log(0, r.Header.Get("user"),
 		logger.Log(0, r.Header.Get("user"),
 			fmt.Sprintf("failed to create relay on node [%s] on network [%s]: %v", relayRequest.NodeID, relayRequest.NetID, err))
 			fmt.Sprintf("failed to create relay on node [%s] on network [%s]: %v", relayRequest.NodeID, relayRequest.NetID, err))
@@ -74,7 +74,7 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) {
 	var params = mux.Vars(r)
 	var params = mux.Vars(r)
 	nodeid := params["nodeid"]
 	nodeid := params["nodeid"]
 	netid := params["network"]
 	netid := params["network"]
-	updateNodes, node, err := eelogic.DeleteRelay(netid, nodeid)
+	updateNodes, node, err := proLogic.DeleteRelay(netid, nodeid)
 	if err != nil {
 	if err != nil {
 		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
 		logger.Log(0, r.Header.Get("user"), "error decoding request body: ", err.Error())
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))

+ 1 - 1
ee/ee_controllers/usergroups.go → pro/controllers/usergroups.go

@@ -1,4 +1,4 @@
-package ee_controllers
+package controllers
 
 
 import (
 import (
 	"encoding/json"
 	"encoding/json"

+ 33 - 33
ee/initialize.go → pro/initialize.go

@@ -1,33 +1,33 @@
-//go:build ee
-// +build ee
+//go:build pro
+// +build pro
 
 
-package ee
+package pro
 
 
 import (
 import (
 	controller "github.com/gravitl/netmaker/controllers"
 	controller "github.com/gravitl/netmaker/controllers"
-	"github.com/gravitl/netmaker/ee/ee_controllers"
-	eelogic "github.com/gravitl/netmaker/ee/logic"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/logic"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/models"
 	"github.com/gravitl/netmaker/mq"
 	"github.com/gravitl/netmaker/mq"
+	proControllers "github.com/gravitl/netmaker/pro/controllers"
+	proLogic "github.com/gravitl/netmaker/pro/logic"
 	"github.com/gravitl/netmaker/servercfg"
 	"github.com/gravitl/netmaker/servercfg"
 	"golang.org/x/exp/slog"
 	"golang.org/x/exp/slog"
 )
 )
 
 
-// InitEE - Initialize EE Logic
-func InitEE() {
+// InitPro - Initialize Pro Logic
+func InitPro() {
 	servercfg.IsPro = true
 	servercfg.IsPro = true
-	models.SetLogo(retrieveEELogo())
+	models.SetLogo(retrieveProLogo())
 	controller.HttpMiddlewares = append(
 	controller.HttpMiddlewares = append(
 		controller.HttpMiddlewares,
 		controller.HttpMiddlewares,
-		ee_controllers.OnlyServerAPIWhenUnlicensedMiddleware,
+		proControllers.OnlyServerAPIWhenUnlicensedMiddleware,
 	)
 	)
 	controller.HttpHandlers = append(
 	controller.HttpHandlers = append(
 		controller.HttpHandlers,
 		controller.HttpHandlers,
-		ee_controllers.MetricHandlers,
-		ee_controllers.NetworkUsersHandlers,
-		ee_controllers.UserGroupsHandlers,
-		ee_controllers.RelayHandlers,
+		proControllers.MetricHandlers,
+		proControllers.NetworkUsersHandlers,
+		proControllers.UserGroupsHandlers,
+		proControllers.RelayHandlers,
 	)
 	)
 	logic.EnterpriseCheckFuncs = append(logic.EnterpriseCheckFuncs, func() {
 	logic.EnterpriseCheckFuncs = append(logic.EnterpriseCheckFuncs, func() {
 		// == License Handling ==
 		// == License Handling ==
@@ -41,31 +41,31 @@ func InitEE() {
 		AddLicenseHooks()
 		AddLicenseHooks()
 		resetFailover()
 		resetFailover()
 	})
 	})
-	logic.EnterpriseFailoverFunc = eelogic.SetFailover
-	logic.EnterpriseResetFailoverFunc = eelogic.ResetFailover
-	logic.EnterpriseResetAllPeersFailovers = eelogic.WipeAffectedFailoversOnly
-	logic.DenyClientNodeAccess = eelogic.DenyClientNode
-	logic.IsClientNodeAllowed = eelogic.IsClientNodeAllowed
-	logic.AllowClientNodeAccess = eelogic.RemoveDeniedNodeFromClient
-	logic.SetClientDefaultACLs = eelogic.SetClientDefaultACLs
-	logic.SetClientACLs = eelogic.SetClientACLs
-	logic.UpdateProNodeACLs = eelogic.UpdateProNodeACLs
-	logic.GetMetrics = eelogic.GetMetrics
-	logic.UpdateMetrics = eelogic.UpdateMetrics
-	logic.DeleteMetrics = eelogic.DeleteMetrics
-	logic.GetAllowedIpsForRelayed = eelogic.GetAllowedIpsForRelayed
-	logic.RelayedAllowedIPs = eelogic.RelayedAllowedIPs
-	logic.UpdateRelayed = eelogic.UpdateRelayed
-	logic.SetRelayedNodes = eelogic.SetRelayedNodes
-	logic.RelayUpdates = eelogic.RelayUpdates
-	mq.UpdateMetrics = eelogic.MQUpdateMetrics
+	logic.EnterpriseFailoverFunc = proLogic.SetFailover
+	logic.EnterpriseResetFailoverFunc = proLogic.ResetFailover
+	logic.EnterpriseResetAllPeersFailovers = proLogic.WipeAffectedFailoversOnly
+	logic.DenyClientNodeAccess = proLogic.DenyClientNode
+	logic.IsClientNodeAllowed = proLogic.IsClientNodeAllowed
+	logic.AllowClientNodeAccess = proLogic.RemoveDeniedNodeFromClient
+	logic.SetClientDefaultACLs = proLogic.SetClientDefaultACLs
+	logic.SetClientACLs = proLogic.SetClientACLs
+	logic.UpdateProNodeACLs = proLogic.UpdateProNodeACLs
+	logic.GetMetrics = proLogic.GetMetrics
+	logic.UpdateMetrics = proLogic.UpdateMetrics
+	logic.DeleteMetrics = proLogic.DeleteMetrics
+	logic.GetAllowedIpsForRelayed = proLogic.GetAllowedIpsForRelayed
+	logic.RelayedAllowedIPs = proLogic.RelayedAllowedIPs
+	logic.UpdateRelayed = proLogic.UpdateRelayed
+	logic.SetRelayedNodes = proLogic.SetRelayedNodes
+	logic.RelayUpdates = proLogic.RelayUpdates
+	mq.UpdateMetrics = proLogic.MQUpdateMetrics
 }
 }
 
 
 func resetFailover() {
 func resetFailover() {
 	nets, err := logic.GetNetworks()
 	nets, err := logic.GetNetworks()
 	if err == nil {
 	if err == nil {
 		for _, net := range nets {
 		for _, net := range nets {
-			err = eelogic.ResetFailover(net.NetID)
+			err = proLogic.ResetFailover(net.NetID)
 			if err != nil {
 			if err != nil {
 				slog.Error("failed to reset failover", "network", net.NetID, "error", err.Error())
 				slog.Error("failed to reset failover", "network", net.NetID, "error", err.Error())
 			}
 			}
@@ -73,7 +73,7 @@ func resetFailover() {
 	}
 	}
 }
 }
 
 
-func retrieveEELogo() string {
+func retrieveProLogo() string {
 	return `              
 	return `              
  __   __     ______     ______   __    __     ______     __  __     ______     ______    
  __   __     ______     ______   __    __     ______     __  __     ______     ______    
 /\ "-.\ \   /\  ___\   /\__  _\ /\ "-./  \   /\  __ \   /\ \/ /    /\  ___\   /\  == \   
 /\ "-.\ \   /\  ___\   /\__  _\ /\ "-./  \   /\  __ \   /\ \/ /    /\  ___\   /\  == \   

+ 3 - 3
ee/license.go → pro/license.go

@@ -1,7 +1,7 @@
-//go:build ee
-// +build ee
+//go:build pro
+// +build pro
 
 
-package ee
+package pro
 
 
 import (
 import (
 	"bytes"
 	"bytes"

+ 3 - 3
ee/license_test.go → pro/license_test.go

@@ -1,7 +1,7 @@
-//go:build ee
-// +build ee
+//go:build pro
+// +build pro
 
 
-package ee
+package pro
 
 
 import (
 import (
 	"github.com/gravitl/netmaker/config"
 	"github.com/gravitl/netmaker/config"

+ 0 - 0
ee/logic/ext_acls.go → pro/logic/ext_acls.go


+ 0 - 0
ee/logic/failover.go → pro/logic/failover.go


+ 0 - 0
ee/logic/metrics.go → pro/logic/metrics.go


+ 0 - 0
ee/logic/nodes.go → pro/logic/nodes.go


+ 0 - 0
ee/logic/relays.go → pro/logic/relays.go


+ 1 - 1
ee/types.go → pro/types.go

@@ -1,4 +1,4 @@
-package ee
+package pro
 
 
 import (
 import (
 	"fmt"
 	"fmt"

+ 1 - 1
ee/util.go → pro/util.go

@@ -1,4 +1,4 @@
-package ee
+package pro
 
 
 import (
 import (
 	"encoding/base64"
 	"encoding/base64"

+ 1 - 1
release.md

@@ -8,7 +8,7 @@
 - Upgrade Process from v0.17.1 to latest version can be now done seamlessly, please refer docs for more information
 - Upgrade Process from v0.17.1 to latest version can be now done seamlessly, please refer docs for more information
 - Expired nodes clean up is handled correctly now
 - Expired nodes clean up is handled correctly now
 - Ext client config generation fixed for ipv6 endpoints
 - Ext client config generation fixed for ipv6 endpoints
-- installation process will only generate certs required for required Domains based on CE or EE
+- installation process will only generate certs required for required Domains based on CE or Pro
 - support for ARM machines on install script
 - support for ARM machines on install script
      
      
 ## known issues
 ## known issues

+ 1 - 1
scripts/nm-certs.sh

@@ -39,7 +39,7 @@ if [ "$INSTALL_TYPE" = "ce" ]; then
 		-d turnapi.$NM_DOMAIN
 		-d turnapi.$NM_DOMAIN
 EOF
 EOF
 )
 )
-elif [ "$INSTALL_TYPE" = "ee" ]; then
+elif [ "$INSTALL_TYPE" = "pro" ]; then
 	CERTBOT_PARAMS=$(cat <<EOF
 	CERTBOT_PARAMS=$(cat <<EOF
 	certonly --standalone \
 	certonly --standalone \
 		--non-interactive --expand --agree-tos \
 		--non-interactive --expand --agree-tos \

+ 21 - 21
scripts/nm-quick.sh

@@ -23,7 +23,7 @@ unset NETMAKER_BASE_DOMAIN
 usage() {
 usage() {
 	echo "nm-quick.sh v$NM_QUICK_VERSION"
 	echo "nm-quick.sh v$NM_QUICK_VERSION"
 	echo "usage: ./nm-quick.sh [-e] [-b buildtype] [-t tag] [-a auto] [-d domain]"
 	echo "usage: ./nm-quick.sh [-e] [-b buildtype] [-t tag] [-a auto] [-d domain]"
-	echo "  -e      if specified, will install netmaker EE"
+	echo "  -e      if specified, will install netmaker pro"
 	echo "  -b      type of build; options:"
 	echo "  -b      type of build; options:"
 	echo "          \"version\" - will install a specific version of Netmaker using remote git and dockerhub"
 	echo "          \"version\" - will install a specific version of Netmaker using remote git and dockerhub"
 	echo "          \"local\": - will install by cloning repo and building images from git"
 	echo "          \"local\": - will install by cloning repo and building images from git"
@@ -42,7 +42,7 @@ usage() {
 while getopts evab:d:t: flag; do
 while getopts evab:d:t: flag; do
 	case "${flag}" in
 	case "${flag}" in
 	e)
 	e)
-		INSTALL_TYPE="ee"
+		INSTALL_TYPE="pro"
 		UPGRADE_FLAG="yes"
 		UPGRADE_FLAG="yes"
 		;;
 		;;
 	v)
 	v)
@@ -112,16 +112,16 @@ set_buildinfo() {
 
 
 	if [ "$1" = "ce" ]; then
 	if [ "$1" = "ce" ]; then
 		INSTALL_TYPE="ce"
 		INSTALL_TYPE="ce"
-	elif [ "$1" = "ee" ]; then
-		INSTALL_TYPE="ee"
+	elif [ "$1" = "pro" ]; then
+		INSTALL_TYPE="pro"
 	fi
 	fi
 
 
 	if [ "$AUTO_BUILD" = "on" ] && [ -z "$INSTALL_TYPE" ]; then
 	if [ "$AUTO_BUILD" = "on" ] && [ -z "$INSTALL_TYPE" ]; then
 		INSTALL_TYPE="ce"
 		INSTALL_TYPE="ce"
 	elif [ -z "$INSTALL_TYPE" ]; then
 	elif [ -z "$INSTALL_TYPE" ]; then
 		echo "-----------------------------------------------------"
 		echo "-----------------------------------------------------"
-		echo "Would you like to install Netmaker Community Edition (CE), or Netmaker Enterprise Edition (EE)?"
-		echo "EE will require you to create an account at https://app.netmaker.io"
+		echo "Would you like to install Netmaker Community Edition (CE), or Netmaker Enterprise Edition (pro)?"
+		echo "pro will require you to create an account at https://app.netmaker.io"
 		echo "-----------------------------------------------------"
 		echo "-----------------------------------------------------"
 		select install_option in "Community Edition" "Enterprise Edition"; do
 		select install_option in "Community Edition" "Enterprise Edition"; do
 			case $REPLY in
 			case $REPLY in
@@ -131,8 +131,8 @@ set_buildinfo() {
 				break
 				break
 				;;
 				;;
 			2)
 			2)
-				echo "installing Netmaker EE"
-				INSTALL_TYPE="ee"
+				echo "installing Netmaker pro"
+				INSTALL_TYPE="pro"
 				break
 				break
 				;;
 				;;
 			*) echo "invalid option $REPLY" ;;
 			*) echo "invalid option $REPLY" ;;
@@ -140,7 +140,7 @@ set_buildinfo() {
 		done
 		done
 	fi
 	fi
 	echo "-----------Build Options-----------------------------"
 	echo "-----------Build Options-----------------------------"
-	echo "    EE or CE: $INSTALL_TYPE"
+	echo "   Pro or CE: $INSTALL_TYPE"
 	echo "  Build Type: $BUILD_TYPE"
 	echo "  Build Type: $BUILD_TYPE"
 	echo "   Build Tag: $BUILD_TAG"
 	echo "   Build Tag: $BUILD_TAG"
 	echo "   Image Tag: $IMAGE_TAG"
 	echo "   Image Tag: $IMAGE_TAG"
@@ -289,13 +289,13 @@ save_config() { (
 		save_config_item UI_IMAGE_TAG "$IMAGE_TAG"
 		save_config_item UI_IMAGE_TAG "$IMAGE_TAG"
 	fi
 	fi
 	# version-specific entries
 	# version-specific entries
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		save_config_item NETMAKER_TENANT_ID "$TENANT_ID"
 		save_config_item NETMAKER_TENANT_ID "$TENANT_ID"
 		save_config_item LICENSE_KEY "$LICENSE_KEY"
 		save_config_item LICENSE_KEY "$LICENSE_KEY"
 		save_config_item METRICS_EXPORTER "on"
 		save_config_item METRICS_EXPORTER "on"
 		save_config_item PROMETHEUS "on"
 		save_config_item PROMETHEUS "on"
 		if [ "$BUILD_TYPE" = "version" ]; then
 		if [ "$BUILD_TYPE" = "version" ]; then
-			save_config_item SERVER_IMAGE_TAG "$IMAGE_TAG-ee"
+			save_config_item SERVER_IMAGE_TAG "$IMAGE_TAG-pro"
 		else
 		else
 			save_config_item SERVER_IMAGE_TAG "$IMAGE_TAG"
 			save_config_item SERVER_IMAGE_TAG "$IMAGE_TAG"
 		fi
 		fi
@@ -364,9 +364,9 @@ local_install_setup() { (
 		echo "Skipping build on NM_SKIP_BUILD"
 		echo "Skipping build on NM_SKIP_BUILD"
 	fi
 	fi
 	cp compose/docker-compose.yml "$SCRIPT_DIR/docker-compose.yml"
 	cp compose/docker-compose.yml "$SCRIPT_DIR/docker-compose.yml"
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		cp compose/docker-compose.ee.yml "$SCRIPT_DIR/docker-compose.override.yml"
 		cp compose/docker-compose.ee.yml "$SCRIPT_DIR/docker-compose.override.yml"
-		cp docker/Caddyfile-EE "$SCRIPT_DIR/Caddyfile"
+		cp docker/Caddyfile-pro "$SCRIPT_DIR/Caddyfile"
 	else
 	else
 		cp docker/Caddyfile "$SCRIPT_DIR/Caddyfile"
 		cp docker/Caddyfile "$SCRIPT_DIR/Caddyfile"
 	fi
 	fi
@@ -554,7 +554,7 @@ set_install_vars() {
 	echo "               turn.$NETMAKER_BASE_DOMAIN"
 	echo "               turn.$NETMAKER_BASE_DOMAIN"
 	echo "            turnapi.$NETMAKER_BASE_DOMAIN"
 	echo "            turnapi.$NETMAKER_BASE_DOMAIN"
 
 
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		echo "         prometheus.$NETMAKER_BASE_DOMAIN"
 		echo "         prometheus.$NETMAKER_BASE_DOMAIN"
 		echo "  netmaker-exporter.$NETMAKER_BASE_DOMAIN"
 		echo "  netmaker-exporter.$NETMAKER_BASE_DOMAIN"
 		echo "            grafana.$NETMAKER_BASE_DOMAIN"
 		echo "            grafana.$NETMAKER_BASE_DOMAIN"
@@ -569,10 +569,10 @@ set_install_vars() {
 
 
 	wait_seconds 1
 	wait_seconds 1
 
 
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 
 
 		echo "-----------------------------------------------------"
 		echo "-----------------------------------------------------"
-		echo "Provide Details for EE installation:"
+		echo "Provide Details for pro installation:"
 		echo "    1. Log into https://app.netmaker.io"
 		echo "    1. Log into https://app.netmaker.io"
 		echo "    2. follow instructions to get a license at: https://docs.netmaker.io/ee/ee-setup.html"
 		echo "    2. follow instructions to get a license at: https://docs.netmaker.io/ee/ee-setup.html"
 		echo "    3. Retrieve License and Tenant ID"
 		echo "    3. Retrieve License and Tenant ID"
@@ -715,7 +715,7 @@ set_install_vars() {
 	echo "        domain: $NETMAKER_BASE_DOMAIN"
 	echo "        domain: $NETMAKER_BASE_DOMAIN"
 	echo "         email: $EMAIL"
 	echo "         email: $EMAIL"
 	echo "     public ip: $SERVER_HOST"
 	echo "     public ip: $SERVER_HOST"
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		echo "       license: $LICENSE_KEY"
 		echo "       license: $LICENSE_KEY"
 		echo "    account id: $TENANT_ID"
 		echo "    account id: $TENANT_ID"
 	fi
 	fi
@@ -748,9 +748,9 @@ install_netmaker() {
 
 
 		local COMPOSE_URL="$BASE_URL/compose/docker-compose.yml"
 		local COMPOSE_URL="$BASE_URL/compose/docker-compose.yml"
 		local CADDY_URL="$BASE_URL/docker/Caddyfile"
 		local CADDY_URL="$BASE_URL/docker/Caddyfile"
-		if [ "$INSTALL_TYPE" = "ee" ]; then
-			local COMPOSE_OVERRIDE_URL="$BASE_URL/compose/docker-compose.ee.yml"
-			local CADDY_URL="$BASE_URL/docker/Caddyfile-EE"
+		if [ "$INSTALL_TYPE" = "pro" ]; then
+			local COMPOSE_OVERRIDE_URL="$BASE_URL/compose/docker-compose.pro.yml"
+			local CADDY_URL="$BASE_URL/docker/Caddyfile-pro"
 		fi
 		fi
 		wget -qO "$SCRIPT_DIR"/docker-compose.yml $COMPOSE_URL
 		wget -qO "$SCRIPT_DIR"/docker-compose.yml $COMPOSE_URL
 		if test -n "$COMPOSE_OVERRIDE_URL"; then
 		if test -n "$COMPOSE_OVERRIDE_URL"; then
@@ -889,7 +889,7 @@ if [ -f "$CONFIG_PATH" ]; then
 	echo "Using config: $CONFIG_PATH"
 	echo "Using config: $CONFIG_PATH"
 	source "$CONFIG_PATH"
 	source "$CONFIG_PATH"
 	if [ "$UPGRADE_FLAG" = "yes" ]; then
 	if [ "$UPGRADE_FLAG" = "yes" ]; then
-		INSTALL_TYPE="ee"
+		INSTALL_TYPE="pro"
 	fi
 	fi
 fi
 fi
 
 

+ 15 - 15
scripts/nm-upgrade.sh

@@ -66,8 +66,8 @@ set_buildinfo() {
 
 
 
 
 		echo "-----------------------------------------------------"
 		echo "-----------------------------------------------------"
-		echo "Would you like to install Netmaker Community Edition (CE), or Netmaker Enterprise Edition (EE)?"
-		echo "EE will require you to create an account at https://app.netmaker.io"
+		echo "Would you like to install Netmaker Community Edition (CE), or Netmaker Professional (Pro)?"
+		echo "Pro will require you to create an account at https://app.netmaker.io"
 		echo "-----------------------------------------------------"
 		echo "-----------------------------------------------------"
 		select install_option in "Community Edition" "Enterprise Edition"; do
 		select install_option in "Community Edition" "Enterprise Edition"; do
 			case $REPLY in
 			case $REPLY in
@@ -77,8 +77,8 @@ set_buildinfo() {
 				break
 				break
 				;;
 				;;
 			2)
 			2)
-				echo "installing Netmaker EE"
-				INSTALL_TYPE="ee"
+				echo "installing Netmaker Pro"
+				INSTALL_TYPE="pro"
 				break
 				break
 				;;
 				;;
 			*) echo "invalid option $REPLY" ;;
 			*) echo "invalid option $REPLY" ;;
@@ -86,7 +86,7 @@ set_buildinfo() {
 		done
 		done
 
 
 	echo "-----------Build Options-----------------------------"
 	echo "-----------Build Options-----------------------------"
-	echo "    EE or CE: $INSTALL_TYPE"
+	echo "   Pro or CE: $INSTALL_TYPE"
 	echo "   Version: $LATEST"
 	echo "   Version: $LATEST"
 	echo "   Installer: v$NM_QUICK_VERSION"
 	echo "   Installer: v$NM_QUICK_VERSION"
 	echo "-----------------------------------------------------"
 	echo "-----------------------------------------------------"
@@ -163,12 +163,12 @@ save_config() { (
 	save_config_item NM_DOMAIN "$NETMAKER_BASE_DOMAIN"
 	save_config_item NM_DOMAIN "$NETMAKER_BASE_DOMAIN"
 	save_config_item UI_IMAGE_TAG "$LATEST"
 	save_config_item UI_IMAGE_TAG "$LATEST"
 	# version-specific entries
 	# version-specific entries
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		save_config_item NETMAKER_TENANT_ID "$TENANT_ID"
 		save_config_item NETMAKER_TENANT_ID "$TENANT_ID"
 		save_config_item LICENSE_KEY "$LICENSE_KEY"
 		save_config_item LICENSE_KEY "$LICENSE_KEY"
 		save_config_item METRICS_EXPORTER "on"
 		save_config_item METRICS_EXPORTER "on"
 		save_config_item PROMETHEUS "on"
 		save_config_item PROMETHEUS "on"
-		save_config_item SERVER_IMAGE_TAG "$LATEST-ee"
+		save_config_item SERVER_IMAGE_TAG "$LATEST-pro"
 	else
 	else
 		save_config_item METRICS_EXPORTER "off"
 		save_config_item METRICS_EXPORTER "off"
 		save_config_item PROMETHEUS "off"
 		save_config_item PROMETHEUS "off"
@@ -359,7 +359,7 @@ set_install_vars() {
 	echo "               turn.$NETMAKER_BASE_DOMAIN"
 	echo "               turn.$NETMAKER_BASE_DOMAIN"
 	echo "            turnapi.$NETMAKER_BASE_DOMAIN"
 	echo "            turnapi.$NETMAKER_BASE_DOMAIN"
 
 
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		echo "         prometheus.$NETMAKER_BASE_DOMAIN"
 		echo "         prometheus.$NETMAKER_BASE_DOMAIN"
 		echo "  netmaker-exporter.$NETMAKER_BASE_DOMAIN"
 		echo "  netmaker-exporter.$NETMAKER_BASE_DOMAIN"
 		echo "            grafana.$NETMAKER_BASE_DOMAIN"
 		echo "            grafana.$NETMAKER_BASE_DOMAIN"
@@ -367,10 +367,10 @@ set_install_vars() {
 
 
 	echo "-----------------------------------------------------"
 	echo "-----------------------------------------------------"
 
 
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 
 
 		echo "-----------------------------------------------------"
 		echo "-----------------------------------------------------"
-		echo "Provide Details for EE installation:"
+		echo "Provide Details for Pro installation:"
 		echo "    1. Log into https://app.netmaker.io"
 		echo "    1. Log into https://app.netmaker.io"
 		echo "    2. follow instructions to get a license at: https://docs.netmaker.io/ee/ee-setup.html"
 		echo "    2. follow instructions to get a license at: https://docs.netmaker.io/ee/ee-setup.html"
 		echo "    3. Retrieve License and Tenant ID"
 		echo "    3. Retrieve License and Tenant ID"
@@ -405,7 +405,7 @@ set_install_vars() {
 	echo "        domain: $NETMAKER_BASE_DOMAIN"
 	echo "        domain: $NETMAKER_BASE_DOMAIN"
 	echo "         email: $EMAIL"
 	echo "         email: $EMAIL"
 	echo "     public ip: $SERVER_HOST"
 	echo "     public ip: $SERVER_HOST"
-	if [ "$INSTALL_TYPE" = "ee" ]; then
+	if [ "$INSTALL_TYPE" = "pro" ]; then
 		echo "       license: $LICENSE_KEY"
 		echo "       license: $LICENSE_KEY"
 		echo "    account id: $TENANT_ID"
 		echo "    account id: $TENANT_ID"
 	fi
 	fi
@@ -431,9 +431,9 @@ install_netmaker() {
 
 
 		local COMPOSE_URL="$BASE_URL/compose/docker-compose.yml"
 		local COMPOSE_URL="$BASE_URL/compose/docker-compose.yml"
 		local CADDY_URL="$BASE_URL/docker/Caddyfile"
 		local CADDY_URL="$BASE_URL/docker/Caddyfile"
-		if [ "$INSTALL_TYPE" = "ee" ]; then
-			local COMPOSE_OVERRIDE_URL="$BASE_URL/compose/docker-compose.ee.yml"
-			local CADDY_URL="$BASE_URL/docker/Caddyfile-EE"
+		if [ "$INSTALL_TYPE" = "pro" ]; then
+			local COMPOSE_OVERRIDE_URL="$BASE_URL/compose/docker-compose.pro.yml"
+			local CADDY_URL="$BASE_URL/docker/Caddyfile-pro"
 		fi
 		fi
 		wget -qO "$SCRIPT_DIR"/docker-compose.yml $COMPOSE_URL
 		wget -qO "$SCRIPT_DIR"/docker-compose.yml $COMPOSE_URL
 		if test -n "$COMPOSE_OVERRIDE_URL"; then
 		if test -n "$COMPOSE_OVERRIDE_URL"; then
@@ -528,7 +528,7 @@ if [ -f "$CONFIG_PATH" ]; then
 	echo "Using config: $CONFIG_PATH"
 	echo "Using config: $CONFIG_PATH"
 	source "$CONFIG_PATH"
 	source "$CONFIG_PATH"
 	if [ "$UPGRADE_FLAG" = "yes" ]; then
 	if [ "$UPGRADE_FLAG" = "yes" ]; then
-		INSTALL_TYPE="ee"
+		INSTALL_TYPE="pro"
 	fi
 	fi
 fi
 fi
 
 

+ 3 - 3
servercfg/serverconf.go

@@ -87,9 +87,9 @@ func GetServerConfig() config.ServerConfig {
 	cfg.Server = GetServer()
 	cfg.Server = GetServer()
 	cfg.StunList = GetStunListString()
 	cfg.StunList = GetStunListString()
 	cfg.Verbosity = GetVerbosity()
 	cfg.Verbosity = GetVerbosity()
-	cfg.IsEE = "no"
+	cfg.IsPro = "no"
 	if IsPro {
 	if IsPro {
-		cfg.IsEE = "yes"
+		cfg.IsPro = "yes"
 	}
 	}
 
 
 	return cfg
 	return cfg
@@ -110,7 +110,7 @@ func GetServerInfo() models.ServerConfig {
 		cfg.DNSMode = "on"
 		cfg.DNSMode = "on"
 	}
 	}
 	cfg.Version = GetVersion()
 	cfg.Version = GetVersion()
-	cfg.Is_EE = IsPro
+	cfg.IsPro = IsPro
 	cfg.StunPort = GetStunPort()
 	cfg.StunPort = GetStunPort()
 	cfg.StunList = GetStunList()
 	cfg.StunList = GetStunList()
 	cfg.TurnDomain = GetTurnHost()
 	cfg.TurnDomain = GetTurnHost()