mirror of
https://github.com/joohoi/acme-dns.git
synced 2025-07-23 06:08:05 +07:00

* chore: enable more linters and fix linter issues * ci: enable linter checks on all branches and disable recurring checks recurring linter checks don't make that much sense. The code & linter checks should not change on their own over night ;) * chore: update packages * Revert "chore: update packages" This reverts commit 30250bf28c4b39e9e5b3af012a4e28ab036bf9af. * chore: manually upgrade some packages
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
"syscall"
|
|
|
|
"github.com/acme-dns/acme-dns/pkg/acmedns"
|
|
"github.com/acme-dns/acme-dns/pkg/api"
|
|
"github.com/acme-dns/acme-dns/pkg/database"
|
|
"github.com/acme-dns/acme-dns/pkg/nameserver"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func main() {
|
|
syscall.Umask(0077)
|
|
configPtr := flag.String("c", "/etc/acme-dns/config.cfg", "config file location")
|
|
flag.Parse()
|
|
// Read global config
|
|
var err error
|
|
var logger *zap.Logger
|
|
config, usedConfigFile, err := acmedns.ReadConfig(*configPtr)
|
|
if err != nil {
|
|
fmt.Printf("Error: %s\n", err)
|
|
os.Exit(1)
|
|
}
|
|
logger, err = acmedns.SetupLogging(config)
|
|
if err != nil {
|
|
fmt.Printf("Could not set up logging: %s\n", err)
|
|
os.Exit(1)
|
|
}
|
|
// Make sure to flush the zap logger buffer before exiting
|
|
defer logger.Sync() //nolint:all
|
|
sugar := logger.Sugar()
|
|
|
|
sugar.Infow("Using config file",
|
|
"file", usedConfigFile)
|
|
sugar.Info("Starting up")
|
|
db, err := database.Init(&config, sugar)
|
|
// Error channel for servers
|
|
errChan := make(chan error, 1)
|
|
api := api.Init(&config, db, sugar, errChan)
|
|
dnsservers := nameserver.InitAndStart(&config, db, sugar, errChan)
|
|
go api.Start(dnsservers)
|
|
if err != nil {
|
|
sugar.Error(err)
|
|
}
|
|
for {
|
|
err = <-errChan
|
|
if err != nil {
|
|
sugar.Fatal(err)
|
|
}
|
|
}
|
|
}
|