mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add SMTP auth & TLS support (#13902)
This commit is contained in:
+44
@@ -327,6 +327,8 @@ can safely ignore these settings.
|
||||
"tls11", "tls12" or "tls13".
|
||||
|
||||
NOTIFICATIONS OPTIONS:
|
||||
Configure how notifications are processed and delivered.
|
||||
|
||||
--notifications-dispatch-timeout duration, $CODER_NOTIFICATIONS_DISPATCH_TIMEOUT (default: 1m0s)
|
||||
How long to wait while a notification is being sent before giving up.
|
||||
|
||||
@@ -337,6 +339,11 @@ NOTIFICATIONS OPTIONS:
|
||||
Which delivery method to use (available options: 'smtp', 'webhook').
|
||||
|
||||
NOTIFICATIONS / EMAIL OPTIONS:
|
||||
Configure how email notifications are sent.
|
||||
|
||||
--notifications-email-force-tls bool, $CODER_NOTIFICATIONS_EMAIL_FORCE_TLS (default: false)
|
||||
Force a TLS connection to the configured SMTP smarthost.
|
||||
|
||||
--notifications-email-from string, $CODER_NOTIFICATIONS_EMAIL_FROM
|
||||
The sender's address to use.
|
||||
|
||||
@@ -346,6 +353,43 @@ NOTIFICATIONS / EMAIL OPTIONS:
|
||||
--notifications-email-smarthost host:port, $CODER_NOTIFICATIONS_EMAIL_SMARTHOST (default: localhost:587)
|
||||
The intermediary SMTP host through which emails are sent.
|
||||
|
||||
NOTIFICATIONS / EMAIL / EMAIL AUTHENTICATION OPTIONS:
|
||||
Configure SMTP authentication options.
|
||||
|
||||
--notifications-email-auth-identity string, $CODER_NOTIFICATIONS_EMAIL_AUTH_IDENTITY
|
||||
Identity to use with PLAIN authentication.
|
||||
|
||||
--notifications-email-auth-password string, $CODER_NOTIFICATIONS_EMAIL_AUTH_PASSWORD
|
||||
Password to use with PLAIN/LOGIN authentication.
|
||||
|
||||
--notifications-email-auth-password-file string, $CODER_NOTIFICATIONS_EMAIL_AUTH_PASSWORD_FILE
|
||||
File from which to load password for use with PLAIN/LOGIN
|
||||
authentication.
|
||||
|
||||
--notifications-email-auth-username string, $CODER_NOTIFICATIONS_EMAIL_AUTH_USERNAME
|
||||
Username to use with PLAIN/LOGIN authentication.
|
||||
|
||||
NOTIFICATIONS / EMAIL / EMAIL TLS OPTIONS:
|
||||
Configure TLS for your SMTP server target.
|
||||
|
||||
--notifications-email-tls-ca-cert-file string, $CODER_NOTIFICATIONS_EMAIL_TLS_CACERTFILE
|
||||
CA certificate file to use.
|
||||
|
||||
--notifications-email-tls-cert-file string, $CODER_NOTIFICATIONS_EMAIL_TLS_CERTFILE
|
||||
Certificate file to use.
|
||||
|
||||
--notifications-email-tls-cert-key-file string, $CODER_NOTIFICATIONS_EMAIL_TLS_CERTKEYFILE
|
||||
Certificate key file to use.
|
||||
|
||||
--notifications-email-tls-server-name string, $CODER_NOTIFICATIONS_EMAIL_TLS_SERVERNAME
|
||||
Server name to verify against the target certificate.
|
||||
|
||||
--notifications-email-tls-skip-verify bool, $CODER_NOTIFICATIONS_EMAIL_TLS_SKIPVERIFY
|
||||
Skip verification of the target server's certificate (insecure).
|
||||
|
||||
--notifications-email-tls-starttls bool, $CODER_NOTIFICATIONS_EMAIL_TLS_STARTTLS
|
||||
Enable STARTTLS to upgrade insecure SMTP connections using TLS.
|
||||
|
||||
NOTIFICATIONS / WEBHOOK OPTIONS:
|
||||
--notifications-webhook-endpoint url, $CODER_NOTIFICATIONS_WEBHOOK_ENDPOINT
|
||||
The endpoint to which to send webhooks.
|
||||
|
||||
+47
-8
@@ -493,13 +493,15 @@ userQuietHoursSchedule:
|
||||
# compatibility reasons, this will be removed in a future release.
|
||||
# (default: false, type: bool)
|
||||
allowWorkspaceRenames: false
|
||||
# Configure how notifications are processed and delivered.
|
||||
notifications:
|
||||
# Which delivery method to use (available options: 'smtp', 'webhook').
|
||||
# (default: smtp, type: string)
|
||||
method: smtp
|
||||
# How long to wait while a notification is being sent before giving up.
|
||||
# (default: 1m0s, type: duration)
|
||||
dispatch-timeout: 1m0s
|
||||
dispatchTimeout: 1m0s
|
||||
# Configure how email notifications are sent.
|
||||
email:
|
||||
# The sender's address to use.
|
||||
# (default: <unset>, type: string)
|
||||
@@ -510,30 +512,67 @@ notifications:
|
||||
# The hostname identifying the SMTP server.
|
||||
# (default: localhost, type: string)
|
||||
hello: localhost
|
||||
# Force a TLS connection to the configured SMTP smarthost.
|
||||
# (default: false, type: bool)
|
||||
forceTLS: false
|
||||
# Configure SMTP authentication options.
|
||||
emailAuth:
|
||||
# Identity to use with PLAIN authentication.
|
||||
# (default: <unset>, type: string)
|
||||
identity: ""
|
||||
# Username to use with PLAIN/LOGIN authentication.
|
||||
# (default: <unset>, type: string)
|
||||
username: ""
|
||||
# Password to use with PLAIN/LOGIN authentication.
|
||||
# (default: <unset>, type: string)
|
||||
password: ""
|
||||
# File from which to load password for use with PLAIN/LOGIN authentication.
|
||||
# (default: <unset>, type: string)
|
||||
passwordFile: ""
|
||||
# Configure TLS for your SMTP server target.
|
||||
emailTLS:
|
||||
# Enable STARTTLS to upgrade insecure SMTP connections using TLS.
|
||||
# (default: <unset>, type: bool)
|
||||
startTLS: false
|
||||
# Server name to verify against the target certificate.
|
||||
# (default: <unset>, type: string)
|
||||
serverName: ""
|
||||
# Skip verification of the target server's certificate (insecure).
|
||||
# (default: <unset>, type: bool)
|
||||
insecureSkipVerify: false
|
||||
# CA certificate file to use.
|
||||
# (default: <unset>, type: string)
|
||||
caCertFile: ""
|
||||
# Certificate file to use.
|
||||
# (default: <unset>, type: string)
|
||||
certFile: ""
|
||||
# Certificate key file to use.
|
||||
# (default: <unset>, type: string)
|
||||
certKeyFile: ""
|
||||
webhook:
|
||||
# The endpoint to which to send webhooks.
|
||||
# (default: <unset>, type: url)
|
||||
hello:
|
||||
# The upper limit of attempts to send a notification.
|
||||
# (default: 5, type: int)
|
||||
max-send-attempts: 5
|
||||
maxSendAttempts: 5
|
||||
# The minimum time between retries.
|
||||
# (default: 5m0s, type: duration)
|
||||
retry-interval: 5m0s
|
||||
retryInterval: 5m0s
|
||||
# The notifications system buffers message updates in memory to ease pressure on
|
||||
# the database. This option controls how often it synchronizes its state with the
|
||||
# database. The shorter this value the lower the change of state inconsistency in
|
||||
# a non-graceful shutdown - but it also increases load on the database. It is
|
||||
# recommended to keep this option at its default value.
|
||||
# (default: 2s, type: duration)
|
||||
store-sync-interval: 2s
|
||||
storeSyncInterval: 2s
|
||||
# The notifications system buffers message updates in memory to ease pressure on
|
||||
# the database. This option controls how many updates are kept in memory. The
|
||||
# lower this value the lower the change of state inconsistency in a non-graceful
|
||||
# shutdown - but it also increases load on the database. It is recommended to keep
|
||||
# this option at its default value.
|
||||
# (default: 50, type: int)
|
||||
store-sync-buffer-size: 50
|
||||
storeSyncBufferSize: 50
|
||||
# How long a notifier should lease a message. This is effectively how long a
|
||||
# notification is 'owned' by a notifier, and once this period expires it will be
|
||||
# available for lease by another notifier. Leasing is important in order for
|
||||
@@ -541,10 +580,10 @@ notifications:
|
||||
# concurrently. This lease period will only expire if a notifier shuts down
|
||||
# ungracefully; a dispatch of the notification releases the lease.
|
||||
# (default: 2m0s, type: duration)
|
||||
lease-period: 2m0s
|
||||
leasePeriod: 2m0s
|
||||
# How many notifications a notifier should lease per fetch interval.
|
||||
# (default: 20, type: int)
|
||||
lease-count: 20
|
||||
leaseCount: 20
|
||||
# How often to query the database for queued notifications.
|
||||
# (default: 15s, type: duration)
|
||||
fetch-interval: 15s
|
||||
fetchInterval: 15s
|
||||
|
||||
Reference in New Issue
Block a user