Change arguments: Switch to OTE and add TTL

This commit is contained in:
fboltz 2021-01-17 17:22:57 +01:00
parent 787fdd08bb
commit 7ccc70b12f
2 changed files with 8 additions and 5 deletions

View File

@ -300,7 +300,7 @@ func main() {
p, err = scaleway.NewScalewayProvider(ctx, domainFilter, cfg.DryRun) p, err = scaleway.NewScalewayProvider(ctx, domainFilter, cfg.DryRun)
case "godaddy": case "godaddy":
p, err = godaddy.NewGoDaddyProvider(ctx, domainFilter, cfg.GoDaddyAPIKey, cfg.GoDaddySecretKey, cfg.GoDaddyProduction, cfg.DryRun) p, err = godaddy.NewGoDaddyProvider(ctx, domainFilter, cfg.GoDaddyTTL, cfg.GoDaddyAPIKey, cfg.GoDaddySecretKey, cfg.GoDaddyOTE, cfg.DryRun)
default: default:
log.Fatalf("unknown dns provider: %s", cfg.Provider) log.Fatalf("unknown dns provider: %s", cfg.Provider)
} }

View File

@ -148,9 +148,10 @@ type Config struct {
TransIPAccountName string TransIPAccountName string
TransIPPrivateKeyFile string TransIPPrivateKeyFile string
DigitalOceanAPIPageSize int DigitalOceanAPIPageSize int
GoDaddyAPIKey string GoDaddyAPIKey string `secure:"yes"`
GoDaddySecretKey string `secure:"yes"` GoDaddySecretKey string `secure:"yes"`
GoDaddyProduction bool GoDaddyTTL int64
GoDaddyOTE bool
} }
var defaultConfig = &Config{ var defaultConfig = &Config{
@ -255,7 +256,8 @@ var defaultConfig = &Config{
DigitalOceanAPIPageSize: 50, DigitalOceanAPIPageSize: 50,
GoDaddyAPIKey: "", GoDaddyAPIKey: "",
GoDaddySecretKey: "", GoDaddySecretKey: "",
GoDaddyProduction: true, GoDaddyTTL: 600,
GoDaddyOTE: false,
} }
// NewConfig returns new Config object // NewConfig returns new Config object
@ -393,7 +395,8 @@ func (cfg *Config) ParseFlags(args []string) error {
// GoDaddy flags // GoDaddy flags
app.Flag("godaddy-api-key", "When using the GoDaddy provider, specify the API Key (required when --provider=godaddy)").Default(defaultConfig.GoDaddyAPIKey).StringVar(&cfg.GoDaddyAPIKey) app.Flag("godaddy-api-key", "When using the GoDaddy provider, specify the API Key (required when --provider=godaddy)").Default(defaultConfig.GoDaddyAPIKey).StringVar(&cfg.GoDaddyAPIKey)
app.Flag("godaddy-api-secret", "When using the GoDaddy provider, specify the API secret (required when --provider=godaddy)").Default(defaultConfig.GoDaddySecretKey).StringVar(&cfg.GoDaddySecretKey) app.Flag("godaddy-api-secret", "When using the GoDaddy provider, specify the API secret (required when --provider=godaddy)").Default(defaultConfig.GoDaddySecretKey).StringVar(&cfg.GoDaddySecretKey)
app.Flag("godaddy-api-production", "When using the GoDaddy provider, specify if production or OTE use (required when --provider=godaddy)").Default(strconv.FormatBool(defaultConfig.GoDaddyProduction)).BoolVar(&cfg.GoDaddyProduction) app.Flag("godaddy-api-ttl", "TTL (in seconds) for records. This value will be used if the provided TTL for a service/ingress is not provided.").Int64Var(&cfg.GoDaddyTTL)
app.Flag("godaddy-api-ote", "When using the GoDaddy provider, use OTE api (optional, default: false, when --provider=godaddy)").BoolVar(&cfg.GoDaddyOTE)
// Flags related to TLS communication // Flags related to TLS communication
app.Flag("tls-ca", "When using TLS communication, the path to the certificate authority to verify server communications (optionally specify --tls-client-cert for two-way TLS)").Default(defaultConfig.TLSCA).StringVar(&cfg.TLSCA) app.Flag("tls-ca", "When using TLS communication, the path to the certificate authority to verify server communications (optionally specify --tls-client-cert for two-way TLS)").Default(defaultConfig.TLSCA).StringVar(&cfg.TLSCA)