...

Package notmain

import "github.com/letsencrypt/boulder/cmd/expiration-mailer"
Overview
Index

Overview ▾

Index ▾

Package files

main.go

type Config

type Config struct {
    Mailer struct {
        DebugAddr string `validate:"required,hostname_port"`
        DB        cmd.DBConfig
        cmd.SMTPConfig

        // From is an RFC 5322 formatted "From" address for reminder messages,
        // e.g. "Example <example@test.org>"
        From string `validate:"required"`

        // Subject is the Subject line of reminder messages. This is a Go
        // template with a single variable: ExpirationSubject, which contains
        // a list of affected hostnames, possibly truncated.
        Subject string

        // CertLimit is the maximum number of certificates to investigate in a
        // single batch. Defaults to 100.
        CertLimit int `validate:"min=0"`

        // MailsPerAddressPerDay is the maximum number of emails we'll send to
        // a single address in a single day. Defaults to 0 (unlimited).
        // Note that this does not track sends across restarts of the process,
        // so we may send more than this when we restart expiration-mailer.
        // This is a best-effort limitation. Defaults to math.MaxInt.
        MailsPerAddressPerDay int `validate:"min=0"`

        // UpdateChunkSize is the maximum number of rows to update in a single
        // SQL UPDATE statement.
        UpdateChunkSize int `validate:"min=0,max=65535"`

        NagTimes []string `validate:"min=1,dive,required"`

        // Path to a text/template email template with a .gotmpl or .txt file
        // extension.
        EmailTemplate string `validate:"required"`

        // How often to process a batch of certificates
        Frequency config.Duration

        // ParallelSends is the number of parallel goroutines used to process
        // each batch of emails. Defaults to 1.
        ParallelSends uint

        TLS       cmd.TLSConfig
        SAService *cmd.GRPCClientConfig

        // Path to a file containing a list of trusted root certificates for use
        // during the SMTP connection (as opposed to the gRPC connections).
        SMTPTrustedRootFile string

        Features map[string]bool
    }

    Syslog        cmd.SyslogConfig
    OpenTelemetry cmd.OpenTelemetryConfig
}