mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
Refactor: Move creds.json processing out of InitializeProviders (#1495)
* Rename providers/config to pkg/credsfile * Refactor InitializeProviders in preparation for v3.16
This commit is contained in:
@ -3,6 +3,7 @@ package commands
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/StackExchange/dnscontrol/v3/pkg/credsfile"
|
||||||
"github.com/StackExchange/dnscontrol/v3/providers"
|
"github.com/StackExchange/dnscontrol/v3/providers"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
@ -37,7 +38,11 @@ func CreateDomains(args CreateDomainsArgs) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, err = InitializeProviders(args.CredsFile, cfg, false)
|
providerConfigs, err := credsfile.LoadProviderConfigs(args.CredsFile)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
_, err = InitializeProviders(cfg, providerConfigs, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
|
|
||||||
"github.com/StackExchange/dnscontrol/v3/models"
|
"github.com/StackExchange/dnscontrol/v3/models"
|
||||||
"github.com/StackExchange/dnscontrol/v3/pkg/acme"
|
"github.com/StackExchange/dnscontrol/v3/pkg/acme"
|
||||||
|
"github.com/StackExchange/dnscontrol/v3/pkg/credsfile"
|
||||||
"github.com/StackExchange/dnscontrol/v3/pkg/normalize"
|
"github.com/StackExchange/dnscontrol/v3/pkg/normalize"
|
||||||
"github.com/StackExchange/dnscontrol/v3/pkg/printer"
|
"github.com/StackExchange/dnscontrol/v3/pkg/printer"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
@ -141,7 +142,11 @@ func GetCerts(args GetCertsArgs) error {
|
|||||||
if PrintValidationErrors(errs) {
|
if PrintValidationErrors(errs) {
|
||||||
return fmt.Errorf("exiting due to validation errors")
|
return fmt.Errorf("exiting due to validation errors")
|
||||||
}
|
}
|
||||||
notifier, err := InitializeProviders(args.CredsFile, cfg, args.Notify)
|
providerConfigs, err := credsfile.LoadProviderConfigs(args.CredsFile)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
notifier, err := InitializeProviders(cfg, providerConfigs, args.Notify)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -103,8 +103,11 @@ func run(args PreviewArgs, push bool, interactive bool, out printer.CLI) error {
|
|||||||
if PrintValidationErrors(errs) {
|
if PrintValidationErrors(errs) {
|
||||||
return fmt.Errorf("exiting due to validation errors")
|
return fmt.Errorf("exiting due to validation errors")
|
||||||
}
|
}
|
||||||
// TODO:
|
providerConfigs, err := credsfile.LoadProviderConfigs(args.CredsFile)
|
||||||
notifier, err := InitializeProviders(args.CredsFile, cfg, args.Notify)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
notifier, err := InitializeProviders(cfg, providerConfigs, args.Notify)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -180,18 +183,12 @@ DomainLoop:
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// InitializeProviders takes a creds file path and a DNSConfig object. Creates all providers with the proper types, and returns them.
|
// InitializeProviders takes (fully processed) configuration and instantiates all providers and returns them.
|
||||||
// nonDefaultProviders is a list of providers that should not be run unless explicitly asked for by flags.
|
func InitializeProviders(cfg *models.DNSConfig, providerConfigs map[string]map[string]string, notifyFlag bool) (notify notifications.Notifier, err error) {
|
||||||
func InitializeProviders(credsFile string, cfg *models.DNSConfig, notifyFlag bool) (notify notifications.Notifier, err error) {
|
|
||||||
var providerConfigs map[string]map[string]string
|
|
||||||
var notificationCfg map[string]string
|
var notificationCfg map[string]string
|
||||||
defer func() {
|
defer func() {
|
||||||
notify = notifications.Init(notificationCfg)
|
notify = notifications.Init(notificationCfg)
|
||||||
}()
|
}()
|
||||||
providerConfigs, err = credsfile.LoadProviderConfigs(credsFile)
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if notifyFlag {
|
if notifyFlag {
|
||||||
notificationCfg = providerConfigs["notifications"]
|
notificationCfg = providerConfigs["notifications"]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user