Ver código fonte

add auto to update api

abhishek9686 5 meses atrás
pai
commit
eecd2b6573
3 arquivos alterados com 9 adições e 3 exclusões
  1. 1 1
      controllers/enrollmentkeys.go
  2. 7 1
      logic/egress.go
  3. 1 1
      logic/enrollmentkey.go

+ 1 - 1
controllers/enrollmentkeys.go

@@ -209,7 +209,7 @@ func updateEnrollmentKey(w http.ResponseWriter, r *http.Request) {
 		}
 	}
 
-	newEnrollmentKey, err := logic.UpdateEnrollmentKey(keyId, relayId, enrollmentKeyBody.Groups)
+	newEnrollmentKey, err := logic.UpdateEnrollmentKey(keyId, relayId, enrollmentKeyBody.Groups, enrollmentKeyBody.AutoEgress)
 	if err != nil {
 		slog.Error("failed to update enrollment key", "error", err)
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))

+ 7 - 1
logic/egress.go

@@ -15,6 +15,9 @@ func AutoConfigureEgress(h *models.Host, node *models.Node) {
 	ranges := []string{}
 	rangesWithMetric := []models.EgressRangeMetric{}
 	for _, iface := range h.Interfaces {
+		if !iface.Address.IP.IsPrivate() || iface.Name == h.DefaultInterface {
+			continue
+		}
 		addr, err := NormalizeCIDR(iface.Address.String())
 		if err == nil {
 			ranges = append(ranges, addr)
@@ -65,12 +68,15 @@ func AssignVirtualNATs(h *models.Host) error {
 	ipv4Index := 1
 	ipv6Index := 1
 	for i, iface := range h.Interfaces {
+		if !iface.Address.IP.IsPrivate() || iface.Name == h.DefaultInterface {
+			continue
+		}
 		// Preserve the original subnet mask
 		ones, _ := iface.Address.Mask.Size()
 
 		var newSubnet string
 		if iface.Address.IP.To4() != nil { // IPv4 case
-			newSubnet = fmt.Sprintf("100.64.%d.0/%d", ipv4Index, ones)
+			newSubnet = fmt.Sprintf("10.64.%d.0/%d", ipv4Index, ones)
 			ipv4Index++
 		} else { // IPv6 case
 			newSubnet = fmt.Sprintf("fd00:64:%d::/%d", ipv6Index, ones)

+ 1 - 1
logic/enrollmentkey.go

@@ -93,7 +93,7 @@ func CreateEnrollmentKey(uses int, expiration time.Time, networks, tags []string
 }
 
 // UpdateEnrollmentKey - updates an existing enrollment key's associated relay
-func UpdateEnrollmentKey(keyId string, relayId uuid.UUID, groups []models.TagID) (*models.EnrollmentKey, error) {
+func UpdateEnrollmentKey(keyId string, relayId uuid.UUID, groups []models.TagID, autoEgress bool) (*models.EnrollmentKey, error) {
 	key, err := GetEnrollmentKey(keyId)
 	if err != nil {
 		return nil, err