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
Johannes Kirschbauer
c77230e3b6
Json-schema tests: add schema specifier to test
2024-06-24 16:00:46 +02:00
Johannes Kirschbauer
bcb7152c9f
schema improvements: add additionalProperties: false to ensure closed types
2024-06-24 15:55:48 +02:00
Johannes Kirschbauer
aed486f020
lib: eval clan module as lib function
2024-06-24 15:47:25 +02:00
Johannes Kirschbauer
b222c98a54
Inventory: add concrete use-case examples
2024-06-24 14:35:41 +02: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
DavHau
66f06a484b
lib.jsonschema: parse some more types
2024-05-23 16:12:49 +02:00
Qubasa
86ae5d8fac
Fix invalid jsonschema testcase
2024-05-04 14:11:28 +02:00
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