figured out how to get GRPC working

This commit is contained in:
afeiszli 2021-07-10 20:11:19 -04:00
parent 2f8646cb3c
commit e11a15dfff
3 changed files with 19 additions and 4 deletions

View file

@ -578,7 +578,7 @@ func CreateEgressGateway(gateway models.EgressGatewayRequest) (models.Node, erro
} }
var nodechange models.Node var nodechange models.Node
nodechange.IsEgressGateway = true nodechange.IsEgressGateway = true
nodechange.EgressGatewayRange = gateway.RangeString nodechange.EgressGatewayRanges = gateway.Ranges
nodechange.PostUp = "iptables -A FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -A POSTROUTING -o " + gateway.Interface + " -j MASQUERADE" nodechange.PostUp = "iptables -A FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -A POSTROUTING -o " + gateway.Interface + " -j MASQUERADE"
nodechange.PostDown = "iptables -D FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -D POSTROUTING -o " + gateway.Interface + " -j MASQUERADE" nodechange.PostDown = "iptables -D FORWARD -i " + node.Interface + " -j ACCEPT; iptables -t nat -D POSTROUTING -o " + gateway.Interface + " -j MASQUERADE"
if gateway.PostUp != "" { if gateway.PostUp != "" {

View file

@ -45,7 +45,7 @@ type Node struct {
IsPending bool `json:"ispending" bson:"ispending"` IsPending bool `json:"ispending" bson:"ispending"`
IsEgressGateway bool `json:"isegressgateway" bson:"isegressgateway"` IsEgressGateway bool `json:"isegressgateway" bson:"isegressgateway"`
IsIngressGateway bool `json:"isingressgateway" bson:"isingressgateway"` IsIngressGateway bool `json:"isingressgateway" bson:"isingressgateway"`
EgressGatewayRange string `json:"egressgatewayrange" bson:"egressgatewayrange"` EgressGatewayRanges []string `json:"egressgatewayranges" bson:"egressgatewayranges"`
IngressGatewayRange string `json:"ingressgatewayrange" bson:"ingressgatewayrange"` IngressGatewayRange string `json:"ingressgatewayrange" bson:"ingressgatewayrange"`
PostChanges string `json:"postchanges" bson:"postchanges"` PostChanges string `json:"postchanges" bson:"postchanges"`
} }

View file

@ -1,6 +1,8 @@
package functions package functions
import ( import (
"google.golang.org/grpc/credentials"
"crypto/tls"
"fmt" "fmt"
"errors" "errors"
"context" "context"
@ -139,11 +141,18 @@ func JoinNetwork(cfg config.ClientConfig) error {
} }
var wcclient nodepb.NodeServiceClient var wcclient nodepb.NodeServiceClient
var requestOpts grpc.DialOption var requestOpts grpc.DialOption
requestOpts = grpc.WithInsecure() log.Println("cant believe we made it")
conn, err := grpc.Dial(cfg.Server.GRPCAddress, requestOpts) //requestOpts = grpc.WithInsecure()
h2creds := credentials.NewTLS(&tls.Config{NextProtos: []string{"h2"}})
requestOpts = grpc.WithTransportCredentials(h2creds)
conn, err := grpc.Dial(cfg.Server.GRPCAddress, requestOpts)
if err != nil { if err != nil {
log.Fatalf("Unable to establish client connection to localhost:50051: %v", err) log.Fatalf("Unable to establish client connection to localhost:50051: %v", err)
} }
log.Println("cant believe we made it 2")
wcclient = nodepb.NewNodeServiceClient(conn) wcclient = nodepb.NewNodeServiceClient(conn)
postnode := &nodepb.Node{ postnode := &nodepb.Node{
@ -165,12 +174,16 @@ func JoinNetwork(cfg config.ClientConfig) error {
if err != nil { if err != nil {
return err return err
} }
log.Println("cant believe we made it 3")
res, err := wcclient.CreateNode( res, err := wcclient.CreateNode(
context.TODO(), context.TODO(),
&nodepb.CreateNodeReq{ &nodepb.CreateNodeReq{
Node: postnode, Node: postnode,
}, },
) )
log.Println(res)
log.Println("cant believe we made it 3.5")
if err != nil { if err != nil {
return err return err
} }
@ -179,6 +192,7 @@ func JoinNetwork(cfg config.ClientConfig) error {
return err return err
} }
log.Println("cant believe we made it 3.75")
if node.Dnsoff==true { if node.Dnsoff==true {
cfg.Node.DNS = "yes" cfg.Node.DNS = "yes"
} }
@ -189,6 +203,7 @@ func JoinNetwork(cfg config.ClientConfig) error {
} }
node.Endpoint = node.Localaddress node.Endpoint = node.Localaddress
} }
log.Println("cant believe we made it 4")
err = config.ModConfig(node) err = config.ModConfig(node)
if err != nil { if err != nil {