chore: сохраняем пароль которым ставили сервер
This commit is contained in:
1 parent
6d322f36a9
commit
c4300066f5
9 files changed
+133
-38
No files matched your search
+15
-5
@@ -51,9 +51,9 @@ class User(AbstractUser):
|
||||
|
||||
|
||||
class Point(models.Model):
|
||||
"""Точка доступа: кластер из сервера с панелью 3x-ui и сервера маскировки перед ним.
|
||||
"""Точка доступа: сервер с панелью 3x-ui и, по желанию, сервер маскировки перед ним.
|
||||
|
||||
Клиенты подключаются к серверу маскировки, он перенаправляет трафик на панель и скрывает ее адрес.
|
||||
С маскировкой клиенты подключаются к серверу маскировки, он перенаправляет трафик на панель и скрывает ее адрес.
|
||||
"""
|
||||
|
||||
CF_WARP = 'cf_warp'
|
||||
@@ -94,17 +94,22 @@ class Point(models.Model):
|
||||
def is_busy(self) -> bool:
|
||||
return self.status in (self.Status.INSTALLING, self.Status.RELEASING)
|
||||
|
||||
def server(self, role: str) -> 'Server':
|
||||
return self.servers.get(role=role)
|
||||
def server(self, role: str) -> 'Server | None':
|
||||
return self.servers.filter(role=role).first()
|
||||
|
||||
@property
|
||||
def panel(self) -> 'Server':
|
||||
return self.server(Server.Role.PANEL)
|
||||
|
||||
@property
|
||||
def mask(self) -> 'Server':
|
||||
def mask(self) -> 'Server | None':
|
||||
return self.server(Server.Role.MASK)
|
||||
|
||||
@property
|
||||
def entry(self) -> 'Server':
|
||||
"""Сервер, к которому подключаются клиенты."""
|
||||
return self.mask or self.panel
|
||||
|
||||
|
||||
class Server(models.Model):
|
||||
"""Сервер под управлением системы. Поля ssh отражают текущее состояние сервера."""
|
||||
@@ -117,6 +122,11 @@ class Server(models.Model):
|
||||
role = models.CharField(max_length=8, choices=Role.choices)
|
||||
address = models.GenericIPAddressField(unique=True)
|
||||
ssh_port = models.PositiveIntegerField(default=22)
|
||||
default_root_password = models.CharField(
|
||||
max_length=128,
|
||||
help_text='Пароль root, который пользователь прислал при добавлении сервера. '
|
||||
'После сброса сервера у провайдера он снова может быть актуальным',
|
||||
)
|
||||
root_password = models.CharField(max_length=128, help_text='Текущий пароль root')
|
||||
private_key = models.TextField(blank=True)
|
||||
public_key = models.TextField(blank=True)
|
||||
|
||||
Reference in new issue
Block a user