package config import ( "github.com/spf13/viper" "hub.cybercinch.nz/guisea/gosqldump/internal/config/key" ) // fields is the config fields with their default values and descriptions var fields = []*Field{ // LOGS { key.LogsWrite, true, "Write logs to file", }, { key.LogsLevel, "info", `Logs level. Available options are: (from less to most verbose) fatal, error, warn, info, debug`, }, { key.LogsReportCaller, false, "Whether the logger should report the caller location.", }, { Key: key.MySQLHost, DefaultValue: "localhost", Description: "The MySQL/MariaDB hostname", }, { Key: key.MySQLPort, DefaultValue: 3306, Description: "The MySQL/MariaDB Port to Connect to", }, { Key: key.MySQLUser, DefaultValue: "~", Description: "The MySQL/MariaDB Username to connect with", }, { Key: key.MySQLPassword, DefaultValue: "~", Description: "The MySQL/MariaDB Password to connect with", }, //{ // key.TenantId, // "some_client_id", // "The TenantID to use with Xero.", //}, //{ // key.BankAccountId, // "a-random-bank-account-id", // "Guid for the xero account to use.", //}, // END LOGS // BEANSTALK //{ // key.BeanstalkServer, // "localhost", // "The Beanstalk Server to use", //}, //{ // key.BeanstalkPort, // "11300", // "The port to communicate with Beanstalk server", //}, //{ // key.BeanstalkTube, // "visa-transactions", // "The tube to use to find our transactions in.", //}, } func setDefaults() { Default = make(map[string]*Field, len(fields)) for _, f := range fields { Default[f.Key] = f viper.SetDefault(f.Key, f.DefaultValue) viper.MustBindEnv(f.Key) } } var Default map[string]*Field