Commit Graph

56 Commits

Author SHA1 Message Date
Johannes Kirschbauer
ac95878ead Inventory: init: deployment info for machines 2024-07-17 10:07:57 +02:00
Johannes Kirschbauer
9afed2295d Inventory: add global imports 2024-07-15 20:41:27 +02:00
Johannes Kirschbauer
914d50a1c5 Inventory: only apply if settings.json exists 2024-07-15 19:14:45 +02:00
Jörg Thalheim
00dbdaf071 improve error message for removed settings.json 2024-07-09 11:44:29 +02:00
Johannes Kirschbauer
9eb00df6b7 buildClan: autoimport configuration.nix & hardware-configuration.nix 2024-07-06 17:22:47 +02:00
Johannes Kirschbauer
c678608105 Inventory: add system and sample machine 2024-07-01 21:25:02 +02:00
Jörg Thalheim
0ead3b477f buildClan: improve deprecation error message of clanName
Printing the clanName in my case was actually more confusing then
helpful. Also mention what function needs to be updated.
2024-06-30 08:08:22 +02:00
Johannes Kirschbauer
9b0e2a87e8 ClanModules: Add docs and api to retrieve metadata 2024-06-25 21:17:01 +02:00
Johannes Kirschbauer
db951f1d9e buildClan: bugfixing 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
4fb15d8733 Add machinesDirs with default 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
c0293b889c Add machinesDirs with default 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
26c655ff3c Add settings.json back 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
7f674e6f63 Remove useless settings.json 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
3aa7a6ee69 Inventory: move to lib.inventory 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
b74590f381 Inventory: simplify build-clan interface 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
2f8b782a1f Inventory: init module merge & validation logic for inventory 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
c89080deb4 Extend build-clan interface 2024-06-25 12:23:29 +00:00
DavHau
313db5643f refactor: rename clanCore -> clan.core 2024-06-18 18:32:40 +07:00
Johannes Kirschbauer
83fe58e003 clan-core: add clan meta for ui usage 2024-05-31 16:26:46 +00:00
Jörg Thalheim
1ac982fbdb set networking.hostName to clanCore.machineName 2024-04-09 15:10:08 +02:00
DavHau
6f9216d3b6 buildClan: add clan-core to specialArgs 2024-04-02 16:03:45 +07:00
Jörg Thalheim
e296a3019d re-format with nixfmt 2024-03-17 19:48:49 +01:00
Jörg Thalheim
1356ca9b8c 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
6871b29d15 vms: use vm fact/secret-store 2024-02-15 10:41:25 +01:00
lassulus
eebd9d0b4a allow passing of extra_config into machines 2024-02-11 08:40:41 +01:00
Jörg Thalheim
614d1aecfd 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
21443d0647 cli,nix: Add machine_icon, machine_description 2024-02-06 19:25:34 +07:00
Qubasa
4421797f30 build-clan: Removed unecessary arg, machineDescription and machineIcon 2024-02-05 16:56:13 +07:00
Qubasa
b3815527a5 Added machineIcon and machineDescription to buildClan 2024-02-05 14:18:40 +07:00
Jörg Thalheim
4a3abf5fe9 build-clan: force system override in secrets generators 2024-01-17 14:40:46 +00:00
Jörg Thalheim
fb151b227d build-clan: don't set system with lib.mkForce 2024-01-17 15:25:29 +01:00
Qubasa
eba34bf2f7 Changed clanIcon to be included into clanCore 2023-12-08 19:08:57 +01:00
Qubasa
31d95e64f8 Added clanIcon 2023-12-08 19:01:11 +01:00
Jörg Thalheim
4aa60317fa move clanName into nixos machine configuration 2023-12-08 15:05:56 +00:00
Jörg Thalheim
7f6b0dfaea 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
a71584d9d2 Added clanName argument to clan-core.lib.builClan 2023-10-27 19:20:17 +02:00
DavHau
bf176ad277 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
588bde069f 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
fcd1d18e15 restore possibility to update all machines without having to specify them 2023-10-04 08:35:59 +02:00
lassulus
7ca9c49163 restore clanInternals with valid nixos config 2023-09-29 19:39:35 +02:00
Jörg Thalheim
16b33eb0a8 add toplevel machines-json that can deploy all hosts 2023-09-28 15:23:25 +02:00
Jörg Thalheim
85f7e2f2cd clanInternals.machines: expose information as json 2023-09-27 18:42:49 +02:00
Jörg Thalheim
756820e4ca clanInternals.machines: invert system and machine name 2023-09-27 17:26:44 +02:00
lassulus
aeed648bd0 secrets: use clanInternal for crosscompiling, move sops generators to new file 2023-09-21 17:25:32 +02: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