Kaynağa Gözat

Measure new limits and report on license validation

gabrielseibel1 2 yıl önce
ebeveyn
işleme
9778121d37
2 değiştirilmiş dosya ile 26 ekleme ve 9 silme
  1. 11 5
      ee/types.go
  2. 15 4
      ee/util.go

+ 11 - 5
ee/types.go

@@ -38,11 +38,14 @@ type LicenseSecret struct {
 
 // LicenseLimits - struct license limits
 type LicenseLimits struct {
-	Servers  int `json:"servers"`
-	Users    int `json:"users"`
-	Hosts    int `json:"hosts"`
-	Clients  int `json:"clients"`
-	Networks int `json:"networks"`
+	Servers   int `json:"servers"`
+	Users     int `json:"users"`
+	Hosts     int `json:"hosts"`
+	Clients   int `json:"clients"`
+	Networks  int `json:"networks"`
+	Machines  int `json:"machines"`
+	Ingresses int `json:"ingresses"`
+	Egresses  int `json:"egresses"`
 }
 
 // LicenseLimits.SetDefaults - sets the default values for limits
@@ -52,6 +55,9 @@ func (l *LicenseLimits) SetDefaults() {
 	l.Hosts = 0
 	l.Users = 1
 	l.Networks = 0
+	l.Machines = 0
+	l.Ingresses = 0
+	l.Egresses = 0
 }
 
 // ValidateLicenseRequest - used for request to validate license endpoint

+ 15 - 4
ee/util.go

@@ -32,14 +32,17 @@ func base64decode(input string) []byte {
 }
 func getCurrentServerLimit() (limits LicenseLimits) {
 	limits.SetDefaults()
-	hosts, err := logic.GetAllHosts()
-	if err == nil {
+	hosts, hErr := logic.GetAllHosts()
+	if hErr == nil {
 		limits.Hosts = len(hosts)
 	}
-	clients, err := logic.GetAllExtClients()
-	if err == nil {
+	clients, cErr := logic.GetAllExtClients()
+	if cErr == nil {
 		limits.Clients = len(clients)
 	}
+	if hErr == nil && cErr == nil {
+		limits.Machines = len(hosts) + len(clients)
+	}
 	users, err := logic.GetUsers()
 	if err == nil {
 		limits.Users = len(users)
@@ -48,5 +51,13 @@ func getCurrentServerLimit() (limits LicenseLimits) {
 	if err == nil {
 		limits.Networks = len(networks)
 	}
+	ingresses, err := logic.GetAllIngresses()
+	if err == nil {
+		limits.Ingresses = len(ingresses)
+	}
+	egresses, err := logic.GetAllEgresses()
+	if err == nil {
+		limits.Egresses = len(egresses)
+	}
 	return
 }