Files
gosqldump/internal/config/default.go
Aaron Guise 2f43e96904
All checks were successful
CI / build (push) Successful in 2m59s
feat: Project Started 🎉
2024-08-30 12:21:09 +12:00

87 lines
1.7 KiB
Go

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