Python classes: add admin module

This commit is contained in:
Johannes Kirschbauer
2024-08-26 18:34:53 +02:00
parent 0e390f79d0
commit c2ba062959
2 changed files with 41 additions and 7 deletions

View File

@@ -55,6 +55,7 @@ nav:
- Reference:
- reference/index.md
- Clan Modules:
- reference/clanModules/admin.md
- reference/clanModules/borgbackup-static.md
- reference/clanModules/borgbackup.md
- reference/clanModules/deltachat.md

View File

@@ -30,6 +30,45 @@ class Meta:
icon: None | str = field(default = None)
@dataclass
class AdminConfig:
allowedKeys: list[str] = field(default_factory = list)
@dataclass
class ServiceAdminMachine:
config: AdminConfig = field(default_factory = AdminConfig)
imports: list[str] = field(default_factory = list)
@dataclass
class ServiceMeta:
name: str
description: None | str = field(default = None)
icon: None | str = field(default = None)
@dataclass
class ServiceAdminRoleDefault:
config: AdminConfig = field(default_factory = AdminConfig)
imports: list[str] = field(default_factory = list)
machines: list[str] = field(default_factory = list)
tags: list[str] = field(default_factory = list)
@dataclass
class ServiceAdminRole:
default: ServiceAdminRoleDefault
@dataclass
class ServiceAdmin:
meta: ServiceMeta
roles: ServiceAdminRole
config: AdminConfig = field(default_factory = AdminConfig)
machines: dict[str, ServiceAdminMachine] = field(default_factory = dict)
@dataclass
class BorgbackupConfigDestination:
name: str
@@ -48,13 +87,6 @@ class ServiceBorgbackupMachine:
imports: list[str] = field(default_factory = list)
@dataclass
class ServiceMeta:
name: str
description: None | str = field(default = None)
icon: None | str = field(default = None)
@dataclass
class ServiceBorgbackupRoleClient:
config: BorgbackupConfig = field(default_factory = BorgbackupConfig)
@@ -151,6 +183,7 @@ class ServiceSingleDisk:
@dataclass
class Service:
admin: dict[str, ServiceAdmin] = field(default_factory = dict)
borgbackup: dict[str, ServiceBorgbackup] = field(default_factory = dict)
packages: dict[str, ServicePackage] = field(default_factory = dict)
single_disk: dict[str, ServiceSingleDisk] = field(default_factory = dict, metadata = {"alias": "single-disk"})