mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-03 11:02:11 +08:00
GRA-1298: License check changes, free tier limits for saas (#2418)
* set free tier limits through config * add host limit to config * check for host limit on free tier * fix license validation, replace node limit with hosts * add hosts to telemetry data * debug init * validate license every 1hr * hook manager, api to fetch server usage * hook manager, server usage api * encode json server usage api * update ngork url * update license validation endpoint * avoid setting limits on eer * adding hotfix * correct users limits env var * add comments to exported funcs --------- Co-authored-by: afeiszli <alex.feiszli@gmail.com>
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/gravitl/netmaker/config"
|
||||
|
||||
"github.com/gravitl/netmaker/models"
|
||||
)
|
||||
|
||||
@@ -741,6 +742,58 @@ func IsProxyEnabled() bool {
|
||||
return enabled
|
||||
}
|
||||
|
||||
// GetNetworkLimit - fetches free tier limits on users
|
||||
func GetUserLimit() int {
|
||||
var userslimit int
|
||||
if os.Getenv("USERS_LIMIT") != "" {
|
||||
userslimit, _ = strconv.Atoi(os.Getenv("USERS_LIMIT"))
|
||||
} else {
|
||||
userslimit = config.Config.Server.UsersLimit
|
||||
}
|
||||
return userslimit
|
||||
}
|
||||
|
||||
// GetNetworkLimit - fetches free tier limits on networks
|
||||
func GetNetworkLimit() int {
|
||||
var networkslimit int
|
||||
if os.Getenv("NETWORKS_LIMIT") != "" {
|
||||
networkslimit, _ = strconv.Atoi(os.Getenv("NETWORKS_LIMIT"))
|
||||
} else {
|
||||
networkslimit = config.Config.Server.NetworksLimit
|
||||
}
|
||||
return networkslimit
|
||||
}
|
||||
|
||||
// GetClientLimit - fetches free tier limits on ext. clients
|
||||
func GetClientLimit() int {
|
||||
var clientsLimit int
|
||||
if os.Getenv("CLIENTS_LIMIT") != "" {
|
||||
clientsLimit, _ = strconv.Atoi(os.Getenv("CLIENTS_LIMIT"))
|
||||
} else {
|
||||
clientsLimit = config.Config.Server.ClientsLimit
|
||||
}
|
||||
return clientsLimit
|
||||
}
|
||||
|
||||
// GetHostLimit - fetches free tier limits on hosts
|
||||
func GetHostLimit() int {
|
||||
var hostsLimit int
|
||||
if os.Getenv("HOSTS_LIMIT") != "" {
|
||||
hostsLimit, _ = strconv.Atoi(os.Getenv("HOSTS_LIMIT"))
|
||||
} else {
|
||||
hostsLimit = config.Config.Server.HostsLimit
|
||||
}
|
||||
return hostsLimit
|
||||
}
|
||||
|
||||
// DeployedByOperator - returns true if the instance is deployed by netmaker operator
|
||||
func DeployedByOperator() bool {
|
||||
if os.Getenv("DEPLOYED_BY_OPERATOR") != "" {
|
||||
return os.Getenv("DEPLOYED_BY_OPERATOR") == "true"
|
||||
}
|
||||
return config.Config.Server.DeployedByOperator
|
||||
}
|
||||
|
||||
// GetDefaultProxyMode - default proxy mode for a server
|
||||
func GetDefaultProxyMode() config.ProxyMode {
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user