summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go22
1 files changed, 18 insertions, 4 deletions
diff --git a/main.go b/main.go
index 5d6f599..872749d 100644
--- a/main.go
+++ b/main.go
@@ -8,6 +8,7 @@ import (
"penguins.lan/api"
"penguins.lan/args"
"penguins.lan/database"
+ "penguins.lan/dnsd"
"penguins.lan/scheduled"
)
@@ -41,11 +42,24 @@ func main() {
if argv.Server {
server := api.MakeServer(argv, dbConn)
log.Printf("listening on :%d", argv.Port)
+ go func() {
+ if err := server.ListenAndServe(); err != nil {
+ log.Fatal(err)
+ }
+ }()
+ }
- if err := server.ListenAndServe(); err != nil {
- log.Fatal(err)
- }
+ if argv.Dns {
+ dnsServer := dnsd.MakeServer(argv, dbConn)
+ log.Printf("dns listening on :%d for zone %s", argv.DnsPort, argv.DnsZone)
+ go func() {
+ if err := dnsServer.ListenAndServe(); err != nil {
+ log.Fatal(err)
+ }
+ }()
}
- select {}
+ if argv.Scheduler || argv.Server || argv.Dns {
+ select {}
+ }
}