feat: show Gitea admin's login credentials and send creds via email to admin
ci/woodpecker/push/woodpecker Pipeline was successful Details

wip-hostea-domain
Aravinth Manivannan 2022-06-29 00:49:58 +05:30
parent 1bab17193c
commit e4c418b45b
Signed by: realaravinth
GPG Key ID: AD9F0F08E855ED88
3 changed files with 36 additions and 2 deletions

View File

@ -0,0 +1,11 @@
{% extends 'dash/common/base.html' %} {% block dash %}
<h1>{{ title }}</h1>
<h2>Gitea Admin Credentials</h2>
<ul>
<li><b>Username:</b> root</li>
<li><b>Password:</b> {{ gitea_password }}</li>
</ul>
{% endblock %}

View File

@ -37,7 +37,7 @@ def create_vm_if_not_exists(instance: Instance) -> (str, Commit):
(gitea_password, commit) = infra.add_vm(instance=instance)
instance = InstanceCreated.objects.create(instance=instance, created=True)
instance.save()
return gitea_password
return (gitea_password, commit)
else:
if str.strip(infra.get_flavor(instance=instance)) != str.strip(
infra.translate_size(instance=instance)

View File

@ -19,6 +19,7 @@ from django.contrib.auth import get_user_model
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_protect
from django.core.mail import send_mail
from django.urls import reverse
from accounts.decorators import confirm_access
@ -48,8 +49,30 @@ def create_instance(request, instance_name: str):
if not payment_fullfilled(instance=instance):
return redirect(reverse("billing.invoice.generate", args=(instance_name,)))
(gitea_password, commit) = create_vm_if_not_exists(instance=instance)
res = create_vm_if_not_exists(instance=instance)
if res is not None:
(gitea_password, commit) = res
send_mail(
subject="[Hostea] Gitea admin credentials",
message=f"""
Congratulations on your new Gitea instance!\n
You can use the following credentials to log into an admin account on
your new Gitea instance. Great powers come with great responsibilities,
so use the admin credentials wisely. When in doubt, consult the Gitea
docs or contact support!\n
-username : root
- password: {gitea_password}
""",
from_email="No reply Hostea<no-reply@exampl.org>", # TODO read from settings.py
recipient_list=[request.user.email],
)
ctx = {
"gitea_password": gitea_password,
}
return render(request, "infrastructure/html/create.html", ctx)
return HttpResponse()