Commit Graph

212 Commits

Author SHA1 Message Date
Qubasa
fa51b82cfb jsonschema: Filter out 'invisible' options, that are there to throw errors on define 2024-05-03 19:40:42 +02:00
Qubasa
83f07816a3 Add jsonschema test case 2024-05-03 19:40:42 +02:00
Qubasa
82773f260a Throw error on missing clanModule description or if description too long. Add xfce description. 2024-05-02 17:53:27 +02:00
Qubasa
a47c07b31b Fix zt-tcp-relay 2024-05-02 16:59:17 +02:00
Qubasa
d897ac390c Remove unreferenced clan modules 2024-05-02 16:34:25 +02:00
Qubasa
4baa36a40b Move vm clanModules to lib 2024-05-02 16:34:25 +02:00
Qubasa
b0336e13b1 Require README.md for every clan module 2024-05-02 16:34:25 +02:00
Qubasa
edcc92c75b Add package function-schema and module-schema. Add check for module jsonschema. 2024-05-01 23:16:17 +02:00
Jörg Thalheim
bc71fa5781 set networking.hostName to clanCore.machineName 2024-04-09 15:10:08 +02:00
DavHau
6524a007f3 buildClan: add clan-core to specialArgs 2024-04-02 16:03:45 +07:00
Jörg Thalheim
ede4d3f6e5 re-format with nixfmt 2024-03-17 19:48:49 +01:00
Jörg Thalheim
9445478e2b fix cross-system deploy
This allows to be nixpkgs.pkgs and deploy systems of a different arch.
2024-02-21 10:55:53 +01:00
lassulus
5ed4881687 vms: use vm fact/secret-store 2024-02-15 10:41:25 +01:00
lassulus
a94201c1d0 allow passing of extra_config into machines 2024-02-11 08:40:41 +01:00
Jörg Thalheim
6646aad714 set nixpkgs.pkgs for secrets generation
This allows us to use the same nixpkgs instance for all machines.
2024-02-06 17:21:42 +01:00
Qubasa
8194b61e4b cli,nix: Add machine_icon, machine_description 2024-02-06 19:25:34 +07:00
Qubasa
e0ba8dd6cb build-clan: Removed unecessary arg, machineDescription and machineIcon 2024-02-05 16:56:13 +07:00
Qubasa
e8416856f7 Added machineIcon and machineDescription to buildClan 2024-02-05 14:18:40 +07:00
Jörg Thalheim
a183553419 build-clan: force system override in secrets generators 2024-01-17 14:40:46 +00:00
Jörg Thalheim
cc1ad1dc52 build-clan: don't set system with lib.mkForce 2024-01-17 15:25:29 +01:00
Jörg Thalheim
41b5e88808 use nix-unit from nixpkgs 2023-12-15 12:36:07 +01:00
Qubasa
c4331b168d Changed clanIcon to be included into clanCore 2023-12-08 19:08:57 +01:00
Qubasa
2088afb79d Added clanIcon 2023-12-08 19:01:11 +01:00
Jörg Thalheim
26c6954db0 move clanName into nixos machine configuration 2023-12-08 15:05:56 +00:00
DavHau
f38cc8a209 jsonschema: support mdDoc description 2023-11-21 17:29:22 +07:00
DavHau
96bd6855e9 lib/jsonschema: add more types and excludes
- Complete the types to cover almost everything
- exclude specific types like functionTo or package
2023-11-20 19:40:27 +07:00
DavHau
a656b5e83e lib/jsonschema: support listOf unspecified 2023-11-20 17:03:42 +07:00
Jörg Thalheim
522387deee pin nixos-wide registry to nixpkgs used to build the machine itself
Instead of downloading archives and filling up vm disk space we can juse the nixpkgs version we already use for evaluating
2023-11-16 13:49:35 +01:00
Qubasa
8e9034ad02 Added clanName argument to clan-core.lib.builClan 2023-10-27 19:20:17 +02:00
DavHau
cf0953146d api/machines: allow importing extra modules
- add top-level option `clanImports` to clanCore
- clanImports can be set and checked as any other option
- buildClan resolves the clanImports from the settings.json before calling evalModules to prevent infinite recursions
- new endpoint PUT machines/{name}/schema to allow getting the schema for a specific list of imports
- to retrieve the currently imported modules, cimply do a GET or PU on machines/{name}/config which will return `clanImports` as part of the config

Still missing: get list of available modules
2023-10-25 16:36:30 +01:00
DavHau
177be69eda PUT api/machines/{name}/config: ensure only valid config is ever written
- add CLAN_MACHINE_SETTINGS_FILE variable to temporarily override the machine settings file
- do a dry-run evaluation first with the new config before persisting it.
2023-10-24 18:40:48 +01:00
Jörg Thalheim
2ca9e9a16e restore possibility to update all machines without having to specify them 2023-10-04 08:35:59 +02:00
lassulus
79be9078dc restore clanInternals with valid nixos config 2023-09-29 19:39:35 +02:00
Jörg Thalheim
82bf417e17 add toplevel machines-json that can deploy all hosts 2023-09-28 15:23:25 +02:00
Jörg Thalheim
08cfa7d7b2 drop unused findNixFiles function 2023-09-28 14:21:03 +02:00
Jörg Thalheim
e550f32e96 clanInternals.machines: expose information as json 2023-09-27 18:42:49 +02:00
Jörg Thalheim
b3f24cf815 clanInternals.machines: invert system and machine name 2023-09-27 17:26:44 +02:00
Jörg Thalheim
f4d1c098ef jsonschema: fix eval 2023-09-27 13:08:24 +00:00
lassulus
aeed648bd0 secrets: use clanInternal for crosscompiling, move sops generators to new file 2023-09-21 17:25:32 +02:00
lassulus
acf1c0b87a lib jsonschema: add path 2023-09-15 12:17:07 +00:00
Jörg Thalheim
9f033aef55 fix quoting 2023-09-05 06:14:14 +00:00
Jörg Thalheim
d51dd39ae3 buildClan: fix importing machines from settings 2023-09-03 15:18:29 +02:00
Jörg Thalheim
cfec69fec4 different fix for missing secrets 2023-09-03 14:07:31 +02:00
Jörg Thalheim
f1e8070412 Revert "fix machines folder not beeing present yet"
This reverts commit 14335ae576.
2023-09-03 13:53:20 +02:00
Jörg Thalheim
14335ae576 fix machines folder not beeing present yet 2023-09-03 13:42:04 +02:00
Jörg Thalheim
0a3982d0ac fix machines folder not beeing present yet 2023-09-03 13:33:41 +02:00
Jörg Thalheim
5dd318e637 buildClan: machineName 2023-09-03 13:09:35 +02:00
DavHau
c9bfd0a5b5 clanCore: add example options 2023-09-02 19:15:29 +02:00
DavHau
75cfd84949 buildClan: set clanCore.directory and hostPlatform 2023-09-02 18:26:45 +02:00
DavHau
03808d9fbc buildClan: fix missing argument clan 2023-09-02 18:24:34 +02:00