perf: merge with dev

This commit is contained in:
ibuler
2022-07-17 14:28:55 +08:00
413 changed files with 11109 additions and 10465 deletions

View File

@@ -1,84 +0,0 @@
# Generated by Django 2.1.7 on 2019-02-28 10:23
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
replaces = [('terminal', '0002_auto_20171228_0025'), ('terminal', '0003_auto_20171230_0308'), ('terminal', '0004_session_remote_addr'), ('terminal', '0005_auto_20180122_1154'), ('terminal', '0006_auto_20180123_1037'), ('terminal', '0007_session_date_last_active'), ('terminal', '0008_auto_20180307_1603'), ('terminal', '0009_auto_20180326_0957')]
dependencies = [
('terminal', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AddField(
model_name='session',
name='terminal',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='terminal.Terminal'),
),
migrations.AddField(
model_name='status',
name='terminal',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='terminal.Terminal'),
),
migrations.AddField(
model_name='task',
name='terminal',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='terminal.Terminal'),
),
migrations.AddField(
model_name='terminal',
name='user',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='terminal', to=settings.AUTH_USER_MODEL, verbose_name='Application User'),
),
migrations.AlterField(
model_name='terminal',
name='name',
field=models.CharField(max_length=32, verbose_name='Name'),
),
migrations.AlterField(
model_name='command',
name='asset',
field=models.CharField(db_index=True, max_length=128, verbose_name='Asset'),
),
migrations.AlterField(
model_name='command',
name='system_user',
field=models.CharField(db_index=True, max_length=64, verbose_name='System user'),
),
migrations.AlterField(
model_name='command',
name='user',
field=models.CharField(db_index=True, max_length=64, verbose_name='User'),
),
migrations.AddField(
model_name='session',
name='remote_addr',
field=models.CharField(blank=True, max_length=15, null=True, verbose_name='Remote addr'),
),
migrations.AddField(
model_name='terminal',
name='command_storage',
field=models.CharField(default='default', max_length=128, verbose_name='Command storage'),
),
migrations.AddField(
model_name='terminal',
name='replay_storage',
field=models.CharField(default='default', max_length=128, verbose_name='Replay storage'),
),
migrations.AddField(
model_name='session',
name='date_last_active',
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Date last active'),
),
migrations.AlterField(
model_name='session',
name='date_start',
field=models.DateTimeField(db_index=True, verbose_name='Date start'),
),
]

View File

@@ -1,6 +1,6 @@
# Generated by Django 2.2.5 on 2019-11-22 10:07
import common.fields.model
import common.db.fields
from django.db import migrations, models
import uuid
@@ -21,7 +21,7 @@ class Migration(migrations.Migration):
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('name', models.CharField(max_length=32, unique=True, verbose_name='Name')),
('type', models.CharField(choices=[('null', 'Null'), ('server', 'Server'), ('es', 'Elasticsearch')], default='server', max_length=16, verbose_name='Type')),
('meta', common.fields.model.EncryptJsonDictTextField(default={})),
('meta', common.db.fields.EncryptJsonDictTextField(default={})),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
],
options={
@@ -37,7 +37,7 @@ class Migration(migrations.Migration):
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('name', models.CharField(max_length=32, unique=True, verbose_name='Name')),
('type', models.CharField(choices=[('null', 'Null'), ('server', 'Server'), ('s3', 'S3'), ('ceph', 'Ceph'), ('swift', 'Swift'), ('oss', 'OSS'), ('azure', 'Azure')], default='server', max_length=16, verbose_name='Type')),
('meta', common.fields.model.EncryptJsonDictTextField(default={})),
('meta', common.db.fields.EncryptJsonDictTextField(default={})),
('comment', models.TextField(blank=True, default='', max_length=128, verbose_name='Comment')),
],
options={

View File

@@ -0,0 +1,119 @@
# Generated by Django 3.1.14 on 2022-04-12 07:39
import common.db.fields
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import uuid
from django.conf import settings
def migrate_endpoints(apps, schema_editor):
Endpoint = apps.get_model("terminal", "Endpoint")
# migrate default
default_data = {
'id': '00000000-0000-0000-0000-000000000001',
'name': 'Default',
'host': '',
'https_port': 0,
'http_port': 0,
'created_by': 'System'
}
Endpoint.objects.create(**default_data)
if not settings.TERMINAL_RAZOR_ENABLED:
return
# migrate xrdp
xrdp_addr = settings.TERMINAL_RDP_ADDR
if ':' in xrdp_addr:
host, rdp_port = xrdp_addr.strip().split(':')
else:
host, rdp_port = xrdp_addr, 3389
host = host.strip()
if host in ['localhost', '127.0.0.1']:
host = ''
if not host:
return
if isinstance(rdp_port, str) and rdp_port.isdigit():
rdp_port = int(rdp_port)
elif isinstance(rdp_port, int) and (0 <= rdp_port <= 65535):
rdp_port = rdp_port
else:
rdp_port = 3389
xrdp_data = {
'name': 'Razor',
'host': host,
'https_port': 0,
'http_port': 0,
'ssh_port': 0,
'rdp_port': rdp_port,
'mysql_port': 0,
'mariadb_port': 0,
'postgresql_port': 0,
'created_by': 'System'
}
xrdp_endpoint = Endpoint.objects.create(**xrdp_data)
EndpointRule = apps.get_model("terminal", "EndpointRule")
xrdp_rule_data = {
'name': 'Razor',
'ip_group': ['*'],
'priority': 20,
'endpoint': xrdp_endpoint,
'created_by': 'System'
}
EndpointRule.objects.create(**xrdp_rule_data)
class Migration(migrations.Migration):
dependencies = [
('terminal', '0047_auto_20220302_1951'),
]
operations = [
migrations.CreateModel(
name='Endpoint',
fields=[
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('name', models.CharField(max_length=128, unique=True, verbose_name='Name')),
('host', models.CharField(max_length=256, verbose_name='Host', blank=True)),
('https_port', common.db.fields.PortField(default=443, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='HTTPS Port')),
('http_port', common.db.fields.PortField(default=80, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='HTTP Port')),
('ssh_port', common.db.fields.PortField(default=2222, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='SSH Port')),
('rdp_port', common.db.fields.PortField(default=3389, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='RDP Port')),
('mysql_port', common.db.fields.PortField(default=33060, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='MySQL Port')),
('mariadb_port', common.db.fields.PortField(default=33061, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='MariaDB Port')),
('postgresql_port', common.db.fields.PortField(default=54320, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='PostgreSQL Port')),
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
],
options={
'verbose_name': 'Endpoint',
'ordering': ('name',),
},
),
migrations.CreateModel(
name='EndpointRule',
fields=[
('created_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Created by')),
('updated_by', models.CharField(blank=True, max_length=32, null=True, verbose_name='Updated by')),
('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')),
('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')),
('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
('name', models.CharField(max_length=128, unique=True, verbose_name='Name')),
('ip_group', models.JSONField(default=list, verbose_name='IP group')),
('priority', models.IntegerField(help_text='1-100, the lower the value will be match first', unique=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(100)], verbose_name='Priority')),
('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
('endpoint', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rules', to='terminal.endpoint', verbose_name='Endpoint')),
],
options={
'verbose_name': 'Endpoint rule',
'ordering': ('priority', 'name'),
},
),
migrations.RunPython(migrate_endpoints),
]

View File

@@ -0,0 +1,20 @@
# Generated by Django 3.1.14 on 2022-05-12 06:35
import common.db.fields
import django.core.validators
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('terminal', '0048_endpoint_endpointrule'),
]
operations = [
migrations.AddField(
model_name='endpoint',
name='redis_port',
field=common.db.fields.PortField(default=63790, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(65535)], verbose_name='Redis Port'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.1.14 on 2022-06-06 09:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('terminal', '0049_endpoint_redis_port'),
]
operations = [
migrations.AlterField(
model_name='terminal',
name='type',
field=models.CharField(choices=[('koko', 'KoKo'), ('guacamole', 'Guacamole'), ('omnidb', 'OmniDB'), ('xrdp', 'Xrdp'), ('lion', 'Lion'), ('core', 'Core'), ('celery', 'Celery'), ('magnus', 'Magnus'), ('razor', 'Razor')], default='koko', max_length=64, verbose_name='type'),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.1.14 on 2022-06-30 03:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('terminal', '0050_auto_20220606_1745'),
]
operations = [
migrations.AddField(
model_name='sessionsharing',
name='users',
field=models.TextField(blank=True, verbose_name='User'),
),
]