forked from 0k/0k-charms
Valentin Lab
1 month ago
2 changed files with 74 additions and 1 deletions
@ -0,0 +1,65 @@ |
|||
#!/bin/bash |
|||
|
|||
set -e |
|||
|
|||
host=$(relation-get host) |
|||
port=$(relation-get port) |
|||
connection_security=$(relation-get connection-security) |
|||
auth_method=$(relation-get auth-method) |
|||
|
|||
## We are creating a URL that looks like this: |
|||
## smtp://[login:password@]host:port/?ignoreTLS=true&secure=false |
|||
## ref: https://nodemailer.com/smtp/ |
|||
|
|||
opts=() |
|||
declare -A ENV |
|||
case "$connection_security" in |
|||
"none") |
|||
url+="smtp://" |
|||
opts+=( |
|||
"ignoreTLS=true" |
|||
"secure=false" |
|||
) |
|||
;; |
|||
"ssl/tls") |
|||
url+="smtps://" |
|||
;; |
|||
*) |
|||
error "Unsupported connection security: $connection_security" |
|||
exit 1 |
|||
;; |
|||
esac |
|||
case "$auth_method" in |
|||
"none") |
|||
: |
|||
;; |
|||
"password") |
|||
login=$(relation-get login) || true |
|||
password=$(relation-get password) || true |
|||
url+="$login:${password//\$/\$\$}@" |
|||
;; |
|||
*) |
|||
error "Unsupported auth method: $auth_method" |
|||
exit 1 |
|||
;; |
|||
esac |
|||
|
|||
url+="$host:$port/" |
|||
|
|||
first=1 |
|||
for opt in "${opts[@]}"; do |
|||
if [ $first -eq 1 ]; then |
|||
url+="?" |
|||
first=0 |
|||
else |
|||
url+="&" |
|||
fi |
|||
url+="$opt" |
|||
done |
|||
|
|||
config-add "\ |
|||
services: |
|||
$MASTER_BASE_SERVICE_NAME: |
|||
environment: |
|||
PDS_EMAIL_SMTP_URL: \"$url\" |
|||
" |
Write
Preview
Loading…
Cancel
Save
Reference in new issue