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
Jörg Thalheim
82bf417e17
add toplevel machines-json that can deploy all hosts
2023-09-28 15:23:25 +02:00