feat: further instrument main file with logging
This commit is contained in:
31
main.go
31
main.go
@@ -39,39 +39,64 @@ func main() {
|
||||
var externalIpProvider externalIpProvider.ExternalIpProvider
|
||||
switch configClient.ExternalIPProvider.Type {
|
||||
case "plain":
|
||||
logger.Info("Using plain external IP provider", slog.String("external_ip_provider", "plain"))
|
||||
|
||||
var plainConfig plainExternalIpProvider.PlainExternalIpProviderConfig
|
||||
err := configClient.ExternalIPProvider.ProviderConfig.Decode(&plainConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed to create config",
|
||||
slog.String("external_ip_provider", "plain"),
|
||||
slog.String("error", err.Error()),
|
||||
)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
externalIpProvider, err = plainExternalIpProvider.New(plainConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed to create plain external IP provider",
|
||||
slog.String("external_ip_provider", "plain"),
|
||||
slog.String("error", err.Error()),
|
||||
)
|
||||
panic(err)
|
||||
}
|
||||
default:
|
||||
logger.Error("Unknown external IP provider", slog.String("external_ip_provider", configClient.ExternalIPProvider.Type))
|
||||
panic(fmt.Errorf("unknown external IP provider: %s", configClient.ExternalIPProvider.Type))
|
||||
}
|
||||
|
||||
var dnsProvider dnsProvider.DNSProvider
|
||||
switch configClient.DNSProvider.Type {
|
||||
case "ionos":
|
||||
logger.Info("Using IONOS DNS provider", slog.String("dns_provider", "ionos"))
|
||||
|
||||
var ionosConfig ionos.IONOSConfig
|
||||
err := configClient.DNSProvider.ProviderConfig.Decode(&ionosConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed to create IONOS DNS provider",
|
||||
slog.String("dns_provider", "ionos"),
|
||||
slog.String("error", err.Error()),
|
||||
)
|
||||
panic(err)
|
||||
}
|
||||
|
||||
dnsProvider, err = ionos.NewIonos(&ionosConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed to create IONOS DNS provider",
|
||||
slog.String("dns_provider", "ionos"),
|
||||
slog.String("error", err.Error()),
|
||||
)
|
||||
panic(err)
|
||||
}
|
||||
default:
|
||||
logger.Error("Unknown DNS provider", slog.String("dns_provider", configClient.DNSProvider.Type))
|
||||
panic(fmt.Errorf("unknown DNS provider: %s", configClient.DNSProvider.Type))
|
||||
}
|
||||
|
||||
var notificationProvider notificationProvider.NotificationProvider
|
||||
switch configClient.NotificationProvider.Type {
|
||||
case "gotify":
|
||||
logger.Info("Using Gotify notification provider", slog.String("notification_provider", "gotify"))
|
||||
|
||||
var gotifyConfig gotify.NotificationProviderImplGotifyConfig
|
||||
err := configClient.NotificationProvider.ProviderConfig.Decode(&gotifyConfig)
|
||||
if err != nil {
|
||||
@@ -80,9 +105,15 @@ func main() {
|
||||
|
||||
notificationProvider, err = gotify.New(gotifyConfig)
|
||||
if err != nil {
|
||||
logger.Error("Failed to create Gotify notification provider",
|
||||
slog.String("notification_provider", "gotify"),
|
||||
slog.String("error", err.Error()),
|
||||
)
|
||||
panic(err)
|
||||
}
|
||||
default:
|
||||
logger.Info("Using console notification provider", slog.String("notification_provider", "console"))
|
||||
|
||||
notificationProvider = notificationProviderConsole.New()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user