35 lines
1.6 KiB
Python
35 lines
1.6 KiB
Python
from django.http import HttpResponse
|
|
from django.shortcuts import render
|
|
from datetime import timedelta
|
|
from django.utils import timezone
|
|
|
|
from .utils import import_namespace,retrieve_and_apply
|
|
from apps.kubernetes_connection.utils import scale_up,scale_down
|
|
from .models import Deployment_Data
|
|
|
|
def hello(request):
|
|
list_schedule = ['schedule1','schedule2']
|
|
list_servers_up = [['wiki', 'wikijs', 2], ['book', 'bookstack-db', 1]]
|
|
return render(request, 'cloudmanager/index.html', {'list_schedule':list_schedule,'list_servers_up':list_servers_up})
|
|
|
|
def import_namespace_view(request):
|
|
import_namespace()
|
|
return HttpResponse('<h1>Namespace imported!</h1>')
|
|
|
|
|
|
def retrieve_and_apply_view(request):
|
|
output = retrieve_and_apply()
|
|
return HttpResponse('<h1>'+output+'</h1>')
|
|
|
|
def scale_up_gui(request,namespace_name,deploy_name,replicas=1):
|
|
Deployment_Data.objects.filter(namespace=namespace_name,name=deploy_name).update(do_not_touch_until=timezone.now() + timedelta(hours=1))
|
|
scale_up(namespace_name=namespace_name,deploy_name=deploy_name,replicas=replicas)
|
|
return render(request, 'dashboard/start.html', {'namespace':namespace_name,'deployment': deploy_name, 'url': 'https://namespace.com'})
|
|
|
|
|
|
def scale_down_gui(request,namespace_name,deploy_name):
|
|
Deployment_Data.objects.filter(namespace=namespace_name,name=deploy_name).update(do_not_touch_until=timezone.now() + timedelta(hours=1))
|
|
scale_down(namespace_name=namespace_name,deploy_name=deploy_name)
|
|
return render(request, 'dashboard/shutdown.html',
|
|
{'namespace': namespace_name, 'deployment': deploy_name, 'url': 'https://namespace.com'})
|