diff --git a/scripts/functions.sh b/scripts/functions.sh index 66bc8dbafbd376532188e8f05a3b3a0e53bc28a7..6ca74b53de97f072906e393b02d67dcf0e3e3973 100644 --- a/scripts/functions.sh +++ b/scripts/functions.sh @@ -100,3 +100,36 @@ function pg_set_archive_mode_and_wait() { pg_ensure_rolling_update_is_done fi } + +function create_emails() { + noreply_email_password=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 18 | head -n 1) + noreply_email="${NS}@liiib.re" + forum_email_password=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 18 | head -n 1) + forum_email="forum-${NS}@liiib.re" + chat_email_password=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 18 | head -n 1) + chat_email="${CHAT_SUBDOMAIN}-${NS}@liiib.re" + + source /etc/env + + mail_username=contact@indie.host + mail_hostname=mail.indie.host + + noreply_local_part=`echo $noreply_email | cut -d@ -f1` + forum_local_part=`echo $forum_email | cut -d@ -f1` + chat_local_part=`echo $chat_email | cut -d@ -f1` + email_domain=`echo $noreply_email | cut -d@ -f2` + + curl --data "username=${mail_username}&password=${mail_password}&login=Log+In&rememberme=0" -c /tmp/cookie.txt https://${mail_hostname}/auth/login + domain_id=`curl -b /tmp/cookie.txt https://${mail_hostname}/domain | grep $email_domain | grep purge-domain | grep -o 'purge-domain-[0-9]*' | grep -o '[0-9]*'` + + curl --data "local_part=${noreply_local_part}&domain=${domain_id}&password=${noreply_email_password}" -b /tmp/cookie.txt https://${mail_hostname}/mailbox/add + curl --data "local_part=${forum_local_part}&domain=${domain_id}&password=${forum_email_password}" -b /tmp/cookie.txt https://${mail_hostname}/mailbox/add + curl --data "local_part=${chat_local_part}&domain=${domain_id}&password=${chat_email_password}" -b /tmp/cookie.txt https://${mail_hostname}/mailbox/add + + rm /tmp/cookie.txt + + kubectl -n ${NS} create secret generic ${NS}-smtp --from-literal=host=mail.indie.host --from-literal=port=587 --from-literal=from_email=${noreply_email} --from-literal=username=${noreply_email} --from-literal=password=${noreply_email_password} --from-literal=mail_from_address=${noreply_local_part} + kubectl -n ${NS} create secret generic forum-${NS}-smtp --from-literal=host=mail.indie.host --from-literal=port=587 --from-literal=from_email=${forum_email} --from-literal=username=${forum_email} --from-literal=password=${forum_email_password} --from-literal=mail_from_address=${forum_local_part} + kubectl -n ${NS} create secret generic ${CHAT_SUBDOMAIN}-${NS}-smtp --from-literal=host=mail.indie.host --from-literal=port=587 --from-literal=from_email=${chat_email} --from-literal=username=${chat_email} --from-literal=password=${chat_email_password} --from-literal=mail_from_address=${chat_local_part} +} +