Commit Graph

66 Commits

Author SHA1 Message Date
danjujan
7a1e952c54 lib: fix typos 2024-10-29 12:37:34 +00:00
a-kenji
f58d5c53be Fix: forward meta attributes in flake-parts module
This fixes building machines with the flake-parts module.

Since the inventory merges the machines, the `clan.core.meta` attribute
is now a submodule and conditionally imported.

Also drops the following attributes:
- clan.core.meta.icon
- clan.core.meta.description

In favor of specifying them inside the inventory.

This doesn't use `mkRemovedOptionsModule`, because in our case it would
cause infinite recursion.
2024-08-07 12:19:17 +00:00
a-kenji
19633da2de Revert "Fix: forward meta attributes in flake-parts module"
This reverts commit ce33119896.

The propagated `self` attribute can be an error in non `flake-parts`
modules.
2024-08-07 10:40:36 +00:00
a-kenji
ce33119896 Fix: forward meta attributes in flake-parts module
This fixes building machines with the flake-parts module.

Since the inventory merges the machines, the `clan.core.meta` attribute
is now a submodule and conditionally imported.

Also drops the following attributes:
- clan.core.meta.icon
- clan.core.meta.description

In favor of specifying them inside the inventory.

This doesn't use `mkRemovedOptionsModule`, because in our case it would
cause infinite recursion.
2024-08-07 09:33:49 +00:00
DavHau
a4ca900427 build-clan: fix specialArgs not passed 2024-08-04 13:06:51 +07:00
Johannes Kirschbauer
440122d470 Fix wrong unit tests 2024-08-03 12:05:09 +02:00
Johannes Kirschbauer
8b0212b828 Add build-clan module 2024-08-03 12:05:09 +02:00
Johannes Kirschbauer
75bdf3debc Fix: hostPlatform not hostSystem 2024-07-24 10:34:10 +02:00
Johannes Kirschbauer
bc520df9ff Inventory: fix options 2024-07-17 10:55:46 +02:00
Johannes Kirschbauer
baa9dc1d1a Inventory: extend model by deployment info 2024-07-17 10:09:58 +02:00
Johannes Kirschbauer
9e6f2743e0 Inventory: init: deployment info for machines 2024-07-17 10:07:57 +02:00
Johannes Kirschbauer
d99dfbcedd Inventory: add global imports 2024-07-15 20:41:27 +02:00
Johannes Kirschbauer
40d71f060e Inventory: only apply if settings.json exists 2024-07-15 19:14:45 +02:00
Jörg Thalheim
e2ce13114e improve error message for removed settings.json 2024-07-09 11:44:29 +02:00
Johannes Kirschbauer
234704b1f6 buildClan: autoimport configuration.nix & hardware-configuration.nix 2024-07-06 17:22:47 +02:00
Johannes Kirschbauer
4363544672 Inventory: add system and sample machine 2024-07-01 21:25:02 +02:00
Jörg Thalheim
740f05f8ea 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
cbb78ca1ae ClanModules: Add docs and api to retrieve metadata 2024-06-25 21:17:01 +02:00
Johannes Kirschbauer
925a24590d buildClan: bugfixing 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
7818ee647c Add machinesDirs with default 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
457cac8be9 Add machinesDirs with default 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
25024aba95 Add settings.json back 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
7f897e29d6 Remove useless settings.json 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
b90ec6e842 Inventory: move to lib.inventory 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
9304afaa44 Inventory: simplify build-clan interface 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
0d4928ab73 Inventory: init module merge & validation logic for inventory 2024-06-25 12:23:29 +00:00
Johannes Kirschbauer
eb221244e6 Extend build-clan interface 2024-06-25 12:23:29 +00:00
DavHau
4db2e8303f refactor: rename clanCore -> clan.core 2024-06-18 18:32:40 +07:00
Johannes Kirschbauer
c7008fd302 clan-core: add clan meta for ui usage 2024-05-31 16:26:46 +00: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
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
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