Commit generated code otherwise CI cannot check types
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -9,7 +9,6 @@ democlan
|
|||||||
example_clan
|
example_clan
|
||||||
result*
|
result*
|
||||||
/pkgs/clan-cli/clan_cli/nixpkgs
|
/pkgs/clan-cli/clan_cli/nixpkgs
|
||||||
/pkgs/clan-cli/clan_cli/inventory/classes.py
|
|
||||||
/pkgs/clan-cli/clan_cli/webui/assets
|
/pkgs/clan-cli/clan_cli/webui/assets
|
||||||
nixos.qcow2
|
nixos.qcow2
|
||||||
**/*.glade~
|
**/*.glade~
|
||||||
|
|||||||
176
pkgs/clan-cli/clan_cli/inventory/classes.py
Normal file
176
pkgs/clan-cli/clan_cli/inventory/classes.py
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
# DON NOT EDIT THIS FILE MANUALLY. IT IS GENERATED.
|
||||||
|
#
|
||||||
|
# ruff: noqa: N815
|
||||||
|
# ruff: noqa: N806
|
||||||
|
# ruff: noqa: F401
|
||||||
|
# fmt: off
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class MachineDeploy:
|
||||||
|
targetHost: str | None = field(default=None )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Machine:
|
||||||
|
deploy: MachineDeploy
|
||||||
|
name: str
|
||||||
|
description: str | None = field(default=None )
|
||||||
|
icon: str | None = field(default=None )
|
||||||
|
system: str | None = field(default=None )
|
||||||
|
tags: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Meta:
|
||||||
|
name: str
|
||||||
|
description: str | None = field(default=None )
|
||||||
|
icon: str | None = field(default=None )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class BorgbackupConfigDestination:
|
||||||
|
repo: str
|
||||||
|
name: str
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class BorgbackupConfig:
|
||||||
|
destinations: dict[str, BorgbackupConfigDestination] = field(default_factory=dict )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceBorgbackupMachine:
|
||||||
|
config: BorgbackupConfig = field(default_factory=BorgbackupConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceBorgbackupMeta:
|
||||||
|
name: str
|
||||||
|
description: str | None = field(default=None )
|
||||||
|
icon: str | None = field(default=None )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceBorgbackupRoleClient:
|
||||||
|
config: BorgbackupConfig = field(default_factory=BorgbackupConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
machines: list[str] = field(default_factory=list )
|
||||||
|
tags: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceBorgbackupRoleServer:
|
||||||
|
config: BorgbackupConfig = field(default_factory=BorgbackupConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
machines: list[str] = field(default_factory=list )
|
||||||
|
tags: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceBorgbackupRole:
|
||||||
|
client: ServiceBorgbackupRoleClient
|
||||||
|
server: ServiceBorgbackupRoleServer
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceBorgbackup:
|
||||||
|
meta: ServiceBorgbackupMeta
|
||||||
|
roles: ServiceBorgbackupRole
|
||||||
|
config: BorgbackupConfig = field(default_factory=BorgbackupConfig )
|
||||||
|
machines: dict[str, ServiceBorgbackupMachine] = field(default_factory=dict )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class PackagesConfig:
|
||||||
|
packages: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServicePackageMachine:
|
||||||
|
config: PackagesConfig = field(default_factory=PackagesConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServicePackageMeta:
|
||||||
|
name: str
|
||||||
|
description: str | None = field(default=None )
|
||||||
|
icon: str | None = field(default=None )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServicePackageRoleDefault:
|
||||||
|
config: PackagesConfig = field(default_factory=PackagesConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
machines: list[str] = field(default_factory=list )
|
||||||
|
tags: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServicePackageRole:
|
||||||
|
default: ServicePackageRoleDefault
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServicePackage:
|
||||||
|
meta: ServicePackageMeta
|
||||||
|
roles: ServicePackageRole
|
||||||
|
config: PackagesConfig = field(default_factory=PackagesConfig )
|
||||||
|
machines: dict[str, ServicePackageMachine] = field(default_factory=dict )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class SingleDiskConfig:
|
||||||
|
device: str | None = field(default=None )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceSingleDiskMachine:
|
||||||
|
config: SingleDiskConfig = field(default_factory=SingleDiskConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceSingleDiskMeta:
|
||||||
|
name: str
|
||||||
|
description: str | None = field(default=None )
|
||||||
|
icon: str | None = field(default=None )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceSingleDiskRoleDefault:
|
||||||
|
config: SingleDiskConfig = field(default_factory=SingleDiskConfig )
|
||||||
|
imports: list[str] = field(default_factory=list )
|
||||||
|
machines: list[str] = field(default_factory=list )
|
||||||
|
tags: list[str] = field(default_factory=list )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceSingleDiskRole:
|
||||||
|
default: ServiceSingleDiskRoleDefault
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ServiceSingleDisk:
|
||||||
|
meta: ServiceSingleDiskMeta
|
||||||
|
roles: ServiceSingleDiskRole
|
||||||
|
config: SingleDiskConfig = field(default_factory=SingleDiskConfig )
|
||||||
|
machines: dict[str, ServiceSingleDiskMachine] = field(default_factory=dict )
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Service:
|
||||||
|
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={"original_name": "single-disk"})
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Inventory:
|
||||||
|
meta: Meta
|
||||||
|
services: Service
|
||||||
|
machines: dict[str, Machine] = field(default_factory=dict )
|
||||||
@@ -89,6 +89,35 @@
|
|||||||
default = self'.packages.clan-cli;
|
default = self'.packages.clan-cli;
|
||||||
};
|
};
|
||||||
|
|
||||||
checks = self'.packages.clan-cli.tests;
|
checks = self'.packages.clan-cli.tests // {
|
||||||
|
inventory-classes-up-to-date = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "inventory-classes-up-to-date";
|
||||||
|
src = ./clan_cli/inventory;
|
||||||
|
|
||||||
|
env = {
|
||||||
|
classFile = "classes.py";
|
||||||
|
};
|
||||||
|
installPhase = ''
|
||||||
|
${self'.packages.classgen}/bin/classgen ${self'.packages.inventory-schema}/schema.json b_classes.py
|
||||||
|
file1=$classFile
|
||||||
|
file2=b_classes.py
|
||||||
|
|
||||||
|
echo "Comparing $file1 and $file2"
|
||||||
|
if cmp -s "$file1" "$file2"; then
|
||||||
|
echo "Files are identical"
|
||||||
|
echo "Classes file is up to date"
|
||||||
|
else
|
||||||
|
echo "Classes file is out of date or has been modified"
|
||||||
|
echo "run ./update.sh in the inventory directory to update the classes file"
|
||||||
|
echo "--------------------------------\n"
|
||||||
|
diff "$file1" "$file2"
|
||||||
|
echo "--------------------------------\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
touch $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,11 +179,12 @@ def run_gen(args: argparse.Namespace) -> None:
|
|||||||
|
|
||||||
with open(args.output, "w") as f:
|
with open(args.output, "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
"""
|
"""# DON NOT EDIT THIS FILE MANUALLY. IT IS GENERATED.
|
||||||
# DON NOT EDIT THIS FILE MANUALLY. IT IS GENERATED.
|
#
|
||||||
# UPDATE
|
|
||||||
# ruff: noqa: N815
|
# ruff: noqa: N815
|
||||||
# ruff: noqa: N806
|
# ruff: noqa: N806
|
||||||
|
# ruff: noqa: F401
|
||||||
|
# fmt: off
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Any\n\n
|
from typing import Any\n\n
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user