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.