clanModules/state-version: init state-version
This adds a clanModule that will initialize the `system.stateVersion` upon deploying the machine for the first time. If the machine is completely reinstalled, then the state version might be regenerated. But care should be taken if rebuilding from backups.
This commit is contained in:
@@ -218,6 +218,37 @@ class ServiceSingleDisk:
|
||||
machines: dict[str, ServiceSingleDiskMachine] = field(default_factory = dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class StateVersionConfig:
|
||||
pass
|
||||
|
||||
@dataclass
|
||||
class ServiceStateVersionMachine:
|
||||
config: StateVersionConfig = field(default_factory = StateVersionConfig)
|
||||
imports: list[str] = field(default_factory = list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class ServiceStateVersionRoleDefault:
|
||||
config: StateVersionConfig = field(default_factory = StateVersionConfig)
|
||||
imports: list[str] = field(default_factory = list)
|
||||
machines: list[str] = field(default_factory = list)
|
||||
tags: list[str] = field(default_factory = list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class ServiceStateVersionRole:
|
||||
default: ServiceStateVersionRoleDefault
|
||||
|
||||
|
||||
@dataclass
|
||||
class ServiceStateVersion:
|
||||
meta: ServiceMeta
|
||||
roles: ServiceStateVersionRole
|
||||
config: StateVersionConfig = field(default_factory = StateVersionConfig)
|
||||
machines: dict[str, ServiceStateVersionMachine] = field(default_factory = dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Service:
|
||||
admin: dict[str, ServiceAdmin] = field(default_factory = dict)
|
||||
@@ -225,6 +256,7 @@ class Service:
|
||||
iwd: dict[str, ServiceIwd] = 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"})
|
||||
state_version: dict[str, ServiceStateVersion] = field(default_factory = dict, metadata = {"alias": "state-version"})
|
||||
|
||||
|
||||
@dataclass
|
||||
|
||||
Reference in New Issue
Block a user