Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrMissingIMAPHost is returned when IMAP host is not configured ErrMissingIMAPHost = errors.New("IMAP_HOST is required: set via environment variable or config file") // ErrMissingIMAPUsername is returned when IMAP username is not configured ErrMissingIMAPUsername = errors.New("IMAP_USERNAME is required: set via environment variable or config file") // ErrMissingIMAPPassword is returned when IMAP password is not configured ErrMissingIMAPPassword = errors.New("IMAP_PASSWORD is required: set via environment variable or config file") )
Functions ¶
func GenerateSample ¶
GenerateSample creates a sample configuration file
Types ¶
type Config ¶
type Config struct {
IMAP IMAPConfig `json:"imap"`
Database DatabaseConfig `json:"database"`
Server ServerConfig `json:"server"`
}
Config holds the application configuration
type DatabaseConfig ¶
type DatabaseConfig struct {
Path string `json:"path" env:"DATABASE_PATH"`
}
DatabaseConfig holds database configuration
type IMAPConfig ¶
type IMAPConfig struct {
Host string `json:"host" env:"IMAP_HOST"`
Port int `json:"port" env:"IMAP_PORT" envDefault:"993"`
Username string `json:"username" env:"IMAP_USERNAME"`
Password string `json:"password" env:"IMAP_PASSWORD"`
Mailbox string `json:"mailbox" env:"IMAP_MAILBOX" envDefault:"INBOX"`
UseTLS bool `json:"use_tls" env:"IMAP_USE_TLS" envDefault:"true"`
}
IMAPConfig holds IMAP server configuration
type ServerConfig ¶
type ServerConfig struct {
Port int `json:"port" env:"SERVER_PORT" envDefault:"8080"`
Host string `json:"host" env:"SERVER_HOST" envDefault:""`
}
ServerConfig holds web server configuration
Click to show internal directories.
Click to hide internal directories.