From 0229e8fff7a4f4888d3213635635c803e7f3e539 Mon Sep 17 00:00:00 2001 From: makram89 Date: Thu, 27 Jan 2022 21:15:13 +0100 Subject: [PATCH] profile + docker class --- MUOR/MUOR/DockerManager.py | 25 +++++++++++++++++++++++++ MUOR/MUOR/models.py | 11 +++++++++++ MUOR/docker_deamon_run.py | 4 ++++ MUOR/requirements.txt | 3 ++- 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 MUOR/MUOR/DockerManager.py create mode 100644 MUOR/docker_deamon_run.py diff --git a/MUOR/MUOR/DockerManager.py b/MUOR/MUOR/DockerManager.py new file mode 100644 index 000000000..03665362f --- /dev/null +++ b/MUOR/MUOR/DockerManager.py @@ -0,0 +1,25 @@ +import docker +from models import Profile +import hashlib + + +class DockerManager: + + def __init__(self): + self.client = docker.from_env() + + def create_new_volume(self, username): + # Hashing username to get volume name + hashed_username = hashlib.sha256(bytes(username, 'utf-8')).hexdigest() + + # Creating volume in docker + volume = self.client.volumes.create(name=hashed_username, driver='local') + + return hashed_username + + def turn_on_container(self, volume_id): + pass + + + def turn_off_container(self,volume_id): + pass diff --git a/MUOR/MUOR/models.py b/MUOR/MUOR/models.py index 8b3a116fa..df396dd02 100644 --- a/MUOR/MUOR/models.py +++ b/MUOR/MUOR/models.py @@ -5,3 +5,14 @@ from django.db import models class Session(models.Model): user = models.ForeignKey(User, primary_key=True, on_delete=models.CASCADE) port = models.PositiveIntegerField(null=False, unique=True) + + +class Profile(models.Model): + user = models.ForeignKey(User, primary_key=True, on_delete=models.CASCADE) + volume = models.CharField(max_length=64) + + + + + + diff --git a/MUOR/docker_deamon_run.py b/MUOR/docker_deamon_run.py new file mode 100644 index 000000000..a8f22d2b6 --- /dev/null +++ b/MUOR/docker_deamon_run.py @@ -0,0 +1,4 @@ +import docker + + +client = docker.from_env() \ No newline at end of file diff --git a/MUOR/requirements.txt b/MUOR/requirements.txt index b21047552..766194421 100644 --- a/MUOR/requirements.txt +++ b/MUOR/requirements.txt @@ -1,2 +1,3 @@ Django -django-crispy-forms \ No newline at end of file +django-crispy-forms +docker \ No newline at end of file