diff --git a/smtp-stub/hooks/smtp_server-relation-joined b/smtp-stub/hooks/smtp_server-relation-joined new file mode 100755 index 0000000..127aae2 --- /dev/null +++ b/smtp-stub/hooks/smtp_server-relation-joined @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +OPTS=( + host + port + connection-security + auth-method +) +for var in "${OPTS[@]}"; do + value=$(options-get "$var") && relation-set "$var" "$value" || exit 1 + case "$var:$value" in + auth-method:password) + login=$(options-get "login") || { + err "${WHITE}login${NORMAL} value is required when ${WHITE}auth-method${NORMAL} is set to \"password\"" + exit 1 + } + password=$(options-get "password") || { + err "${WHITE}password${NORMAL} value is required when ${WHITE}auth-method${NORMAL} is set to \"password\"" + exit 1 + } + relation-set login "$login" + relation-set password "$password" + ;; + esac +done + diff --git a/smtp-stub/metadata.yml b/smtp-stub/metadata.yml new file mode 100644 index 0000000..bb45012 --- /dev/null +++ b/smtp-stub/metadata.yml @@ -0,0 +1,11 @@ +type: stub + +provides: + smtp-server: + +default-options: + port: 25 + connection-security: none # "none", "starttls", "ssl/tls" + auth-method: none # "none", "password" + user: + password: \ No newline at end of file