suporte a dynamic dns

This commit is contained in:
2026-07-12 19:13:40 -03:00
parent e629b829a3
commit d184bcbdc2
13 changed files with 1020 additions and 31 deletions

View File

@@ -7,6 +7,7 @@ import (
"os"
"time"
"pdns_admin/internal/appdb"
"pdns_admin/internal/auth"
"pdns_admin/internal/config"
"pdns_admin/internal/pdns"
@@ -21,6 +22,24 @@ func main() {
logger.Fatalf("configuration error: %v", err)
}
store, err := appdb.NewMySQLStore(cfg.Database.MySQL.DSN)
if err != nil {
logger.Fatalf("database initialization error: %v", err)
}
defer func() {
if err := store.Close(); err != nil {
logger.Printf("database close error: %v", err)
}
}()
dbCtx, dbCancel := context.WithTimeout(context.Background(), 30*time.Second)
defer dbCancel()
if err := store.Ping(dbCtx); err != nil {
logger.Fatalf("database connection error: %v", err)
}
if err := store.EnsureSchema(dbCtx); err != nil {
logger.Fatalf("database schema error: %v", err)
}
pdnsClient := pdns.NewClient(cfg.PDNSAPIURL, cfg.PDNSAPIKey, cfg.PDNSServerID, http.DefaultClient)
metadataCtx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
@@ -50,6 +69,7 @@ func main() {
app, err := server.New(server.Config{
Addr: cfg.Addr,
Authenticator: authenticator,
DynamicStore: store,
}, pdnsClient, logger)
if err != nil {
logger.Fatalf("server initialization error: %v", err)