Browse Source

new: [bluesky] add verify email capability through smtp relation

mattermost
Valentin Lab 1 month ago
parent
commit
cf98a39a9a
  1. 65
      bluesky/hooks/smtp_server-relation-joined
  2. 10
      bluesky/metadata.yml

65
bluesky/hooks/smtp_server-relation-joined

@ -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\"
"

10
bluesky/metadata.yml

@ -2,8 +2,11 @@ docker-image: docker.0k.io/bluesky:0.4.67 ## from: ghcr.io/bluesky-social/pds:0
data-resources:
- /var/lib/bluesky
default-options:
docker-compose:
environment:
PDS_EMAIL_FROM_ADDRESS: "no-reply@no-domain.org"
default-options:
uses:
web-proxy:
#constraint: required | recommended | optional
@ -38,3 +41,8 @@ uses:
## - must start with a '/', will start from $SERVICE_DATASTORE
#exclude-patterns:
# - "/var/lib/odoo/sessions/"
smtp-server:
constraint: optional
auto: pair
solves:
mail: "verify email"
Loading…
Cancel
Save