Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppConfig ¶
type AppConfig struct {
Environment string `env:"ENVIRONMENT,required" envDefault:"dev"`
APIPort string `env:"PORT,required" envDefault:"12222"`
APIKey string `env:"API_KEY,required"`
TrackingPublicUrl string `env:"TRACKING_PUBLIC_URL" envDefault:"https://custosmetrics.com"`
EMLStorageBucket string `env:"EML_STORAGE_BUCKET" envDefault:"emails-test"`
CronDisable bool `env:"CRON_DISABLE" envDefault:"false"`
}
type CloudflareConfig ¶
type Config ¶
type Config struct {
AppConfig *AppConfig
Logger *logger.Config
NATSConfig *NATSConfig
OpenTelemetry *telemetry.OpenTelemetryConfig
MailstackDatabaseConfig *MailstackDatabaseConfig
DataWarehouseConfig *DataWarehouseConfig
CustomerOSAPIConfig *CustomerOSAPIConfig
R2StorageConfig *R2StorageConfig
DomainConfig *DomainConfig
NamecheapConfig *NamecheapConfig
CloudflareConfig *CloudflareConfig
OpenSrsConfig *OpenSRSConfig
GoogleOAuthConfig *GoogleOAuthConfig
}
func InitConfig ¶
type CustomerOSAPIConfig ¶ added in v0.1.1
type DataWarehouseConfig ¶ added in v0.2.9
type DataWarehouseConfig struct {
Host string `env:"WAREHOUSE_DB_HOST,required"`
Port string `env:"WAREHOUSE_DB_PORT,required"`
User string `env:"WAREHOUSE_DB_USER,required"`
DBName string `env:"WAREHOUSE_DB_NAME,required"`
Password string `env:"WAREHOUSE_DB_PASSWORD,required"`
MaxConn int `env:"WAREHOUSE_DB_MAX_CONN"`
MaxIdleConn int `env:"WAREHOUSE_DB_MAX_IDLE_CONN"`
ConnMaxLifetime int `env:"WAREHOUSE_DB_CONN_MAX_LIFETIME"`
LogLevel string `env:"WAREHOUSE_DB_LOG_LEVEL" envDefault:"WARN"`
}
type DomainConfig ¶
type DomainConfig struct {
SupportedTlds []string `env:"MAILSTACK_SUPPORTED_TLD" envDefault:"com"`
}
type GoogleOAuthConfig ¶ added in v0.2.16
type MailstackDatabaseConfig ¶
type MailstackDatabaseConfig struct {
Host string `env:"MAILSTACK_POSTGRES_HOST,required"`
Port string `env:"MAILSTACK_POSTGRES_PORT,required"`
User string `env:"MAILSTACK_POSTGRES_USER,required"`
DBName string `env:"MAILSTACK_POSTGRES_DB_NAME,required"`
Password string `env:"MAILSTACK_POSTGRES_PASSWORD,required"`
MaxConn int `env:"MAILSTACK_POSTGRES_DB_MAX_CONN"`
MaxIdleConn int `env:"MAILSTACK_POSTGRES_DB_MAX_IDLE_CONN"`
ConnMaxLifetime int `env:"MAILSTACK_POSTGRES_DB_CONN_MAX_LIFETIME"`
LogLevel string `env:"MAILSTACK_POSTGRES_LOG_LEVEL" envDefault:"WARN"`
}
type NATSConfig ¶ added in v0.2.5
type NamecheapConfig ¶
type NamecheapConfig struct {
Url string `env:"NAMECHEAP_URL" envDefault:"https://api.namecheap.com/xml.response" validate:"required"`
ApiKey string `env:"NAMECHEAP_API_KEY" `
ApiUser string `env:"NAMECHEAP_API_USER" `
ApiUsername string `env:"NAMECHEAP_API_USERNAME"`
ApiClientIp string `env:"NAMECHEAP_API_CLIENT_IP"`
MaxPrice float64 `env:"NAMECHEAP_MAX_PRICE" envDefault:"20.0" `
Years int `env:"NAMECHEAP_YEARS" envDefault:"1" `
RegistrantFirstName string `env:"NAMECHEAP_REGISTRANT_FIRST_NAME" `
RegistrantLastName string `env:"NAMECHEAP_REGISTRANT_LAST_NAME" `
RegistrantCompanyName string `env:"NAMECHEAP_REGISTRANT_COMPANY_NAME" `
RegistrantJobTitle string `env:"NAMECHEAP_REGISTRANT_JOB_TITLE" `
RegistrantAddress1 string `env:"NAMECHEAP_REGISTRANT_ADDRESS1" `
RegistrantCity string `env:"NAMECHEAP_REGISTRANT_CITY" `
RegistrantState string `env:"NAMECHEAP_REGISTRANT_STATE" `
RegistrantZIP string `env:"NAMECHEAP_REGISTRANT_ZIP" `
RegistrantCountry string `env:"NAMECHEAP_REGISTRANT_COUNTRY" `
RegistrantPhoneNumber string `env:"NAMECHEAP_REGISTRANT_PHONE_NUMBER" `
RegistrantEmail string `env:"NAMECHEAP_REGISTRANT_EMAIL" `
}
type OpenSRSConfig ¶
type R2StorageConfig ¶
type R2StorageConfig struct {
AccountID string `env:"CLOUDFLARE_R2_ACCOUNT_ID,required"`
AccessKeyID string `env:"CLOUDFLARE_R2_ACCESS_KEY_ID,required"`
AccessKeySecret string `env:"CLOUDFLARE_R2_ACCESS_KEY_SECRET,required"`
EmailAttachmentBucket string `env:"BUCKET_NAME_EMAIL_ATTACHMENT" envDefault:"attachments"`
}
Click to show internal directories.
Click to hide internal directories.