Skip to content

Commit e059244

Browse files
committed
feat: send gateway dns and private address
1 parent 4f3fb6b commit e059244

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
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
Status NodeStatus `json:"status"`
4749
}
4850

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.NoEmptyStringToCsv(node.Address.String(), node.Address6.String()),
10371040
}
10381041

10391042
slog.Debug("returned user gw config", "user", user.UserName, "gws", userGw)
@@ -1125,6 +1128,8 @@ func getUserRemoteAccessGwsV1(w http.ResponseWriter, r *http.Request) {
11251128
AllowedEndpoints: getAllowedRagEndpoints(&node, host),
11261129
NetworkAddresses: []string{network.AddressRange, network.AddressRange6},
11271130
Status: node.Status,
1131+
DnsAddress: node.IngressDNS,
1132+
Addresses: utils.NoEmptyStringToCsv(node.Address.String(), node.Address6.String()),
11281133
})
11291134
userGws[node.Network] = gws
11301135
delete(userGwNodes, node.ID.String())
@@ -1167,6 +1172,8 @@ func getUserRemoteAccessGwsV1(w http.ResponseWriter, r *http.Request) {
11671172
AllowedEndpoints: getAllowedRagEndpoints(&node, host),
11681173
NetworkAddresses: []string{network.AddressRange, network.AddressRange6},
11691174
Status: node.Status,
1175+
DnsAddress: node.IngressDNS,
1176+
Addresses: utils.NoEmptyStringToCsv(node.Address.String(), node.Address6.String()),
11701177
})
11711178
userGws[node.Network] = gws
11721179
}

utils/utils.go

+16
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package utils
33
import (
44
"log/slog"
55
"runtime"
6+
"strings"
67
"time"
78
)
89

@@ -59,3 +60,18 @@ func TraceCaller() {
5960
slog.Debug("Called from function: %s\n", "func-name", funcName)
6061
slog.Debug("File: %s, Line: %d\n", "file", file, "line-no", line)
6162
}
63+
64+
// NoEmptyStringToCsv takes a bunch of strings, filters out empty ones and returns a csv version of the string
65+
func NoEmptyStringToCsv(strs ...string) string {
66+
var sb strings.Builder
67+
for _, str := range strs {
68+
trimmedStr := strings.TrimSpace(str)
69+
if trimmedStr != "" && trimmedStr != "<nil>" {
70+
if sb.Len() > 0 {
71+
sb.WriteString(", ")
72+
}
73+
sb.WriteString(str)
74+
}
75+
}
76+
return sb.String()
77+
}

0 commit comments

Comments
 (0)