summaryrefslogtreecommitdiffstats
path: root/cmd/daemon/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/daemon/main.go')
-rw-r--r--cmd/daemon/main.go32
1 files changed, 30 insertions, 2 deletions
diff --git a/cmd/daemon/main.go b/cmd/daemon/main.go
index 10fb61c..aebc085 100644
--- a/cmd/daemon/main.go
+++ b/cmd/daemon/main.go
@@ -27,11 +27,15 @@ var (
)
func main() {
- fmt.Println("SOLEC MOCK SERVER")
+ fmt.Println("SOLEC SERVER")
fmt.Println("Commands:", slices.Sorted(maps.Keys(cmds)))
addr := flag.String("a", "localhost:9999", "listening address:port")
name := flag.String("n", "localhost", "server name")
+ enableTls := flag.Bool("tls", false, "Enable TLS")
+ certPath := flag.String("tls-cert", "", "TLS certificate PEM file path")
+ keyPath := flag.String("tls-key", "", "TLS key PEM file path")
+
flag.Parse()
db, err := storage.InitDb("test.db")
@@ -39,7 +43,17 @@ func main() {
panic(err)
}
- serv = server.NewServer(*addr, *name, db)
+ cfg := server.Config{
+ ListenAddr: *addr,
+ Name: *name,
+ }
+
+ if *enableTls {
+ cfg.Tls = true
+ cfg.CertPem, cfg.KeyPem = loadKeys(*certPath, *keyPath)
+ }
+
+ serv = server.NewServer(cfg, db)
serv.AddChannel("test")
go func() {
@@ -53,6 +67,20 @@ func main() {
readCmds()
}
+func loadKeys(certPath, keyPath string) ([]byte, []byte) {
+ cert, err := os.ReadFile(certPath)
+ if err != nil {
+ panic(err)
+ }
+
+ key, err := os.ReadFile(keyPath)
+ if err != nil {
+ panic(err)
+ }
+
+ return cert, key
+}
+
func readCmds() {
sc := bufio.NewScanner(os.Stdin)
for sc.Scan() {