Commit Graph

218 Commits

Author SHA1 Message Date
Jörg Thalheim
b4fb4f180b rename hw-generate to update-hardware-config 2024-09-20 13:42:18 +02:00
DavHau
501ade7de7 vars: implement migration
Migrating generated files from the facts subsystem to the vars subsystem is now possible.

HowTo:
1. declare `clan.core.vars.generators.<generator>.migrateFact = my_service` where `my_service` refers to a service from `clan.core.facts.services`
2. run `clan vers generate your_machine` or `clan machines update your_machine`

Vars will only be migrated for a generator if:
1. The facts service specified via `migrateFact` does exist
2. None of the vars to generate exist yet
3. All public var names exist in the public facts store
4. All secret var names exist in the secret fact store

If the migration is deemed possible, the generator script will not be executed. Instead the files from the public or secret facts store are read and stored into the corresponding vars store
2024-09-19 17:57:03 +02:00
DavHau
ec109e7f67 vars: generate vars for clan install
fixes #2087
2024-09-17 20:41:39 +02:00
Qubasa
0f0a8825e1 clan-cli: Init clan machines import 2024-09-16 18:15:55 +02:00
Johannes Kirschbauer
b4e3dff23b CLI: api.register type preservation 2024-09-16 12:52:28 +00:00
Johannes Kirschbauer
91a9fb23be API: rename set_inventory 2024-09-13 16:11:10 +02:00
DavHau
9d86c5474f clan-cli: fix cyclic import problem 2024-09-06 15:38:12 +02:00
DavHau
f161c7ca58 vars: improve generator execution pipeline
- ensure all dependents are re-generated as well
- refactor: separate out computation of generator update closure
2024-09-06 14:30:49 +02:00
Jörg Thalheim
403b9cf2cc apply TRY lint 2024-09-03 18:13:46 +02:00
Johannes Kirschbauer
c9b3775f72 Fix cyclic imports: __init__.py are automatically imported 2024-09-03 17:24:31 +02:00
Jörg Thalheim
44813d2fcc only accept eval/build for nix command 2024-09-03 10:49:53 +02:00
Jörg Thalheim
659e5b37dd use pathlib everywhere 2024-09-02 18:26:13 +02:00
Jörg Thalheim
357b619068 add SIM lint 2024-09-02 16:39:30 +02:00
Jörg Thalheim
ad3daa3ce4 add RET, Q, RSE lint 2024-09-02 15:58:49 +02:00
Johannes Kirschbauer
5cfa72edcc UI: AdminSettings page 2024-09-02 15:08:36 +02:00
Jörg Thalheim
15ff74f7c2 enable ASYNC, DTZ, YTT and EM lints 2024-09-02 14:07:06 +02:00
Jörg Thalheim
e9a266001c enable comprehensions linting rules 2024-09-02 13:35:52 +02:00
Jörg Thalheim
35839ef701 enable bug-bear linting rules 2024-09-02 13:26:07 +02:00
Jörg Thalheim
af4b9cc2d5 make all same-module imports relative, the rest absolute
This makes sorting more consitent.
2024-09-02 13:00:19 +02:00
Johannes Kirschbauer
b7c70cd058 API: fix online check 2024-08-26 18:00:41 +02:00
Johannes Kirschbauer
2d05b98ae3 CLI: add option to generate facter.json 2024-08-26 09:05:01 +02:00
Jörg Thalheim
8a3d21c424 hw-generate: don't load nixos-install-tools on local machine
We only need this on the target. Our installer have it already.
2024-08-24 12:07:22 +02:00
Jörg Thalheim
68e1d023e9 hw-generate: fix args 2024-08-24 12:07:22 +02:00
Jörg Thalheim
6dd73177a3 correct error message about allowed hostnames 2024-08-24 11:30:26 +02:00
Johannes Kirschbauer
76fbac8431 API: prepare hw_generate for facter 2024-08-23 11:13:06 +02:00
Johannes Kirschbauer
64f0aeea65 API: hw_generate commit generated config 2024-08-22 16:11:08 +02:00
Johannes Kirschbauer
4080fe41f8 Clan-app: generate hw report 2024-08-22 15:57:00 +02:00
Johannes Kirschbauer
1b146943d8 API: init set_machine 2024-08-21 15:29:08 +02:00
Jörg Thalheim
9f66ded76a Merge remote-tracking branch 'origin/main' into rework-installation 2024-08-21 13:38:04 +02:00
Johannes Kirschbauer
92e3c3f40b Clan-app: connection check & show remote devices 2024-08-20 09:53:15 +02:00
Johannes Kirschbauer
5acd9aabf3 UI: init update machine 2024-08-15 15:08:15 +02:00
Johannes Kirschbauer
ce560e05cd API: init machine update 2024-08-15 15:08:15 +02:00
Johannes Kirschbauer
016b3e846d Machine update: fix upload sources from machine flake, instead of current directory 2024-08-15 15:08:15 +02:00
Johannes Kirschbauer
c86b14d34d Clan-app: generate hw spec via ssh 2024-08-14 16:28:43 +02:00
Johannes Kirschbauer
6709d47ae5 Clan-cli: remove unused show machine 2024-08-14 16:18:43 +02:00
Johannes Kirschbauer
d5a0a349db API: add keyfile arg 2024-08-13 19:29:28 +02:00
Johannes Kirschbauer
824dc34eb8 API: init install machine 2024-08-13 18:58:20 +02:00
Qubasa
7f0604f86e clan-cli: Add --show-trace to nix build and nixos-rebuild commands 2024-08-12 22:27:54 +02:00
Johannes Kirschbauer
e69d6b22f0 Clan-app: Add loading animations & improve async data handling 2024-08-06 22:29:11 +02:00
Johannes Kirschbauer
6158e82f43 Clan-app: refine create machine workflow via query operation 2024-08-06 16:04:21 +02:00
Johannes Kirschbauer
91397adbfc Fix: regression list_machines. Split into multiple functions
list_inventory_machines, list_nixos_machine, list_sops_machines
The caller of the function should specify which machines they wants to see
2024-08-03 12:43:35 +02:00
Johannes Kirschbauer
8fd09b8403 Add build-clan module 2024-08-03 12:05:09 +02:00
Jörg Thalheim
2df19898a7 Merge remote-tracking branch 'origin/main' into rework-installation 2024-07-30 11:52:36 +02:00
DavHau
a5065a1936 vars/sops: fix loading of vars from directory structure 2024-07-29 18:01:26 +07:00
Jörg Thalheim
4ed7e9b030 Merge remote-tracking branch 'origin/main' into rework-installation 2024-07-24 21:58:57 +02:00
Jörg Thalheim
a6f4d6fbf0 remove 'Extra config:' warning 2024-07-24 20:04:31 +02:00
Johannes Kirschbauer
1d51ae5c85 Fix unit tests 2024-07-24 13:15:08 +02:00
Johannes Kirschbauer
d38983c784 Create machine: init view with api 2024-07-24 10:34:11 +02:00
Johannes Kirschbauer
679fd914e0 Inventory: add load_eval method 2024-07-24 10:34:10 +02:00
Qubasa
c6a0cd9398 clan-vm-manager: Fix waypipe regression in nix code 2024-07-23 13:20:02 +02:00