Skip to content
Snippets Groups Projects
Commit ae276faa authored by Malte Bauch's avatar Malte Bauch
Browse files

Add example main file

parent b53188bd
No related branches found
No related tags found
1 merge request!8Create a monorepo for ekms and quantumlayer
package main
import (
"flag"
"log"
"net"
"os"
"os/signal"
"syscall"
"code.fbi.h-da.de/danet/quantumlayer"
pb "code.fbi.h-da.de/danet/quipsec/gen/go/quipsec"
"github.com/sirupsen/logrus"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"gopkg.in/yaml.v3"
)
type Config struct {
KMSAddr string `yaml:"KMSAddr"`
UDPAddr string `yaml:"UDPAddr"`
PeerUDPAddr string `yaml:"PeerUDPAddr"`
GenerateKeys bool `yaml:"GenerateKeys"`
}
func main() {
// TODO: flag validation
configPath := flag.String("config", "", "path to the config file")
flag.Parse()
// unmarshal config
config := &Config{}
file, err := os.ReadFile(*configPath)
if err != nil {
logrus.Fatal(err)
}
if err := yaml.Unmarshal(file, config); err != nil {
logrus.Fatal(err)
}
newPeerConn, err := grpc.Dial(config.KMSAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
log.Fatal(err)
return
}
kmsClient := pb.NewKmsQkdmCommunicationServiceClient(newPeerConn)
peerUDPAddr, err := net.ResolveUDPAddr("udp", config.PeerUDPAddr)
if err != nil {
log.Fatal(err)
return
}
stopChan := make(chan os.Signal)
signal.Notify(stopChan, os.Interrupt, syscall.SIGTERM)
ql := quantumlayer.NewQuantumlayerEmuPRNG(kmsClient, os.Stdout, logrus.GetLevel(), false)
ql.Configure(config.GenerateKeys, config.UDPAddr)
ql.PowerOn()
ql.AddPeer(peerUDPAddr)
<-stopChan
}
...@@ -3,8 +3,9 @@ module code.fbi.h-da.de/danet/quantumlayer ...@@ -3,8 +3,9 @@ module code.fbi.h-da.de/danet/quantumlayer
go 1.21 go 1.21
require ( require (
code.fbi.h-da.de/danet/quicsep/gen/go/quicsep v0.0.0-20231103130241-c2c8c6de8030 code.fbi.h-da.de/danet/quipsec/gen/go/quipsec v0.0.0-20231113131315-e0a0cd3d28e3
github.com/sirupsen/logrus v1.9.3 github.com/sirupsen/logrus v1.9.3
google.golang.org/grpc v1.59.0
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
) )
...@@ -15,6 +16,5 @@ require ( ...@@ -15,6 +16,5 @@ require (
golang.org/x/sys v0.11.0 // indirect golang.org/x/sys v0.11.0 // indirect
golang.org/x/text v0.12.0 // indirect golang.org/x/text v0.12.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect google.golang.org/protobuf v1.31.0 // indirect
) )
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231030212536-12f9cba37c9d.2 h1:m8rKyv88R8ZIR1549RMXckZ4FZJGxrq/7aRYl6U3WHc= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231030212536-12f9cba37c9d.2 h1:m8rKyv88R8ZIR1549RMXckZ4FZJGxrq/7aRYl6U3WHc=
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231030212536-12f9cba37c9d.2/go.mod h1:xafc+XIsTxTy76GJQ1TKgvJWsSugFBqMaN27WhUblew= buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.31.0-20231030212536-12f9cba37c9d.2/go.mod h1:xafc+XIsTxTy76GJQ1TKgvJWsSugFBqMaN27WhUblew=
code.fbi.h-da.de/danet/quicsep/gen/go/quicsep v0.0.0-20231103130241-c2c8c6de8030 h1:/dQ8h5hjAQYkiCxhZyg7KTEEZrkOwfGVs36k0DO/Ie0= code.fbi.h-da.de/danet/quipsec/gen/go/quipsec v0.0.0-20231113131315-e0a0cd3d28e3 h1:PXz62uU6MEdcafEZnVwKINPRxSL0y0Ht0Pzp/NSSTew=
code.fbi.h-da.de/danet/quicsep/gen/go/quicsep v0.0.0-20231103130241-c2c8c6de8030/go.mod h1:lUFcgwS441TZ+gJ+lCvTbFGtG7G7gYIpE3OSktgTVOo= code.fbi.h-da.de/danet/quipsec/gen/go/quipsec v0.0.0-20231113131315-e0a0cd3d28e3/go.mod h1:lPCd19Jk8aL5B3xSk+h6y5sziXVPqyCXgO7dILvJFfQ=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
"sync" "sync"
"time" "time"
pb "code.fbi.h-da.de/danet/quicsep/gen/go/quicsep" pb "code.fbi.h-da.de/danet/quipsec/gen/go/quipsec"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
logi "github.com/sirupsen/logrus" logi "github.com/sirupsen/logrus"
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment