ASGI via Daphne for websockets, WSGI via Gunicorn. Implemented xterm.js for shell proxy to target servers.
This commit is contained in:
19
app/apps/servers/migrations/0005_server_shell_permission.py
Normal file
19
app/apps/servers/migrations/0005_server_shell_permission.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("servers", "0004_server_account"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name="server",
|
||||
options={
|
||||
"ordering": ["display_name", "hostname", "ipv4", "ipv6"],
|
||||
"permissions": [("shell_server", "Can access server shell")],
|
||||
"verbose_name": "Server",
|
||||
"verbose_name_plural": "Servers",
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,35 @@
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def remove_user_group_server_perms(apps, schema_editor):
|
||||
Group = apps.get_model("auth", "Group")
|
||||
Permission = apps.get_model("auth", "Permission")
|
||||
ContentType = apps.get_model("contenttypes", "ContentType")
|
||||
GroupObjectPermission = apps.get_model("guardian", "GroupObjectPermission")
|
||||
|
||||
try:
|
||||
group = Group.objects.get(name="user")
|
||||
except Group.DoesNotExist:
|
||||
return
|
||||
|
||||
try:
|
||||
content_type = ContentType.objects.get(app_label="servers", model="server")
|
||||
except ContentType.DoesNotExist:
|
||||
return
|
||||
|
||||
perm_ids = Permission.objects.filter(content_type=content_type).values_list("id", flat=True)
|
||||
GroupObjectPermission.objects.filter(
|
||||
group_id=group.id,
|
||||
permission_id__in=list(perm_ids),
|
||||
).delete()
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("servers", "0005_server_shell_permission"),
|
||||
("guardian", "0001_initial"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(remove_user_group_server_perms, migrations.RunPython.noop),
|
||||
]
|
||||
Reference in New Issue
Block a user