primeiro commit
This commit is contained in:
54
cmd/pdns-admin/main.go
Normal file
54
cmd/pdns-admin/main.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"pdns_admin/internal/auth"
|
||||
"pdns_admin/internal/config"
|
||||
"pdns_admin/internal/pdns"
|
||||
"pdns_admin/internal/server"
|
||||
)
|
||||
|
||||
func main() {
|
||||
logger := log.New(os.Stdout, "pdns-admin ", log.LstdFlags|log.LUTC)
|
||||
|
||||
cfg, err := config.Load()
|
||||
if err != nil {
|
||||
logger.Fatalf("configuration error: %v", err)
|
||||
}
|
||||
|
||||
pdnsClient := pdns.NewClient(cfg.PDNSAPIURL, cfg.PDNSAPIKey, cfg.PDNSServerID, http.DefaultClient)
|
||||
var authenticator server.Authenticator
|
||||
if !cfg.Auth.Disabled {
|
||||
authenticator, err = auth.NewLDAPAuthenticator(auth.LDAPConfig{
|
||||
URL: cfg.Auth.LDAP.URL,
|
||||
StartTLS: cfg.Auth.LDAP.StartTLS,
|
||||
InsecureSkipVerify: cfg.Auth.LDAP.InsecureSkipVerify,
|
||||
BindDN: cfg.Auth.LDAP.BindDN,
|
||||
BindPassword: cfg.Auth.LDAP.BindPassword,
|
||||
UserBaseDN: cfg.Auth.LDAP.UserBaseDN,
|
||||
UsernameAttribute: cfg.Auth.LDAP.UsernameAttribute,
|
||||
UserFilter: cfg.Auth.LDAP.UserFilter,
|
||||
GroupBaseDN: cfg.Auth.LDAP.GroupBaseDN,
|
||||
GroupFilter: cfg.Auth.LDAP.GroupFilter,
|
||||
})
|
||||
if err != nil {
|
||||
logger.Fatalf("authentication initialization error: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
app, err := server.New(server.Config{
|
||||
Addr: cfg.Addr,
|
||||
Authenticator: authenticator,
|
||||
}, pdnsClient, logger)
|
||||
if err != nil {
|
||||
logger.Fatalf("server initialization error: %v", err)
|
||||
}
|
||||
|
||||
logger.Printf("listening on %s", cfg.Addr)
|
||||
if err := app.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
||||
logger.Fatalf("server stopped: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user