Skip to content

Commit 8454101

Browse files
committed
feat: send gateway dns and private address
1 parent e7836dd commit 8454101

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

models/structs.go

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ type UserRemoteGws struct {
4343
Metadata string `json:"metadata"`
4444
AllowedEndpoints []string `json:"allowed_endpoints"`
4545
NetworkAddresses []string `json:"network_addresses"`
46+
DnsAddress string `json:"dns_address"`
47+
Addresses string `json:"addresses"`
4648
}
4749

4850
// UserRAGs - struct for user access gws

pro/controllers/users.go

+7
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/gravitl/netmaker/pro/email"
2020
proLogic "github.com/gravitl/netmaker/pro/logic"
2121
"github.com/gravitl/netmaker/servercfg"
22+
"github.com/gravitl/netmaker/utils"
2223
"golang.org/x/exp/slog"
2324
)
2425

@@ -1034,6 +1035,8 @@ func getRemoteAccessGatewayConf(w http.ResponseWriter, r *http.Request) {
10341035
Metadata: node.Metadata,
10351036
AllowedEndpoints: getAllowedRagEndpoints(&node, host),
10361037
NetworkAddresses: []string{network.AddressRange, network.AddressRange6},
1038+
DnsAddress: node.IngressDNS,
1039+
Addresses: utils.NonemptyStringToCsv(node.Address.String(), node.Address6.String()),
10371040
}
10381041

10391042
slog.Debug("returned user gw config", "user", user.UserName, "gws", userGw)
@@ -1117,6 +1120,8 @@ func getUserRemoteAccessGwsV1(w http.ResponseWriter, r *http.Request) {
11171120
Metadata: node.Metadata,
11181121
AllowedEndpoints: getAllowedRagEndpoints(&node, host),
11191122
NetworkAddresses: []string{network.AddressRange, network.AddressRange6},
1123+
DnsAddress: node.IngressDNS,
1124+
Addresses: utils.NonemptyStringToCsv(node.Address.String(), node.Address6.String()),
11201125
})
11211126
userGws[node.Network] = gws
11221127
delete(userGwNodes, node.ID.String())
@@ -1154,6 +1159,8 @@ func getUserRemoteAccessGwsV1(w http.ResponseWriter, r *http.Request) {
11541159
Metadata: node.Metadata,
11551160
AllowedEndpoints: getAllowedRagEndpoints(&node, host),
11561161
NetworkAddresses: []string{network.AddressRange, network.AddressRange6},
1162+
DnsAddress: node.IngressDNS,
1163+
Addresses: utils.NonemptyStringToCsv(node.Address.String(), node.Address6.String()),
11571164
})
11581165
userGws[node.Network] = gws
11591166
}

utils/utils.go

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package utils
22

3-
import "time"
3+
import (
4+
"strings"
5+
"time"
6+
)
47

58
// RetryStrategy specifies a strategy to retry an operation after waiting a while,
69
// with hooks for successful and unsuccessful (>=max) tries.
@@ -39,3 +42,18 @@ func (rs RetryStrategy) DoStrategy() {
3942
return
4043
}
4144
}
45+
46+
// NonemptyStringToCsv takes a bunch of strings, filters out empty ones and returns a csv version of the string
47+
func NonemptyStringToCsv(strs ...string) string {
48+
var sb strings.Builder
49+
for _, str := range strs {
50+
trimmedStr := strings.TrimSpace(str)
51+
if trimmedStr != "" && trimmedStr != "<nil>" {
52+
if sb.Len() > 0 {
53+
sb.WriteString(", ")
54+
}
55+
sb.WriteString(str)
56+
}
57+
}
58+
return sb.String()
59+
}

0 commit comments

Comments
 (0)