Commit Graph

83 Commits

Author SHA1 Message Date
Qubasa
99c5bd2b50 clan-cli: Add --host-key-check to machine update 2024-10-05 23:33:44 +02:00
Qubasa
5967bb347c clan-cli: Fix bug where --target_host is getting ignored 2024-10-05 18:51:44 +02:00
DavHau
0a8b7f38a8 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
3089296328 clan-cli: fix cyclic import problem 2024-09-06 15:38:12 +02:00
DavHau
5cd9960ed4 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
ddd2a1a4f7 only accept eval/build for nix command 2024-09-03 10:49:53 +02:00
Jörg Thalheim
cb16cda3fa add RET, Q, RSE lint 2024-09-02 15:58:49 +02:00
Johannes Kirschbauer
c2d088b245 UI: AdminSettings page 2024-09-02 15:08:36 +02:00
Jörg Thalheim
e150b37fb8 enable ASYNC, DTZ, YTT and EM lints 2024-09-02 14:07:06 +02:00
Jörg Thalheim
22d6e5e153 enable comprehensions linting rules 2024-09-02 13:35:52 +02:00
Jörg Thalheim
109d1faf9e enable bug-bear linting rules 2024-09-02 13:26:07 +02:00
Jörg Thalheim
b313f2d066 make all same-module imports relative, the rest absolute
This makes sorting more consitent.
2024-09-02 13:00:19 +02:00
Jörg Thalheim
fe99fb8e34 remove 'Extra config:' warning 2024-07-24 20:04:31 +02:00
Qubasa
31161322d6 clan-vm-manager: Fix waypipe regression in nix code 2024-07-23 13:20:02 +02:00
Qubasa
131299694b clan-vm-manager: Restore to known good version 2024-07-19 22:07:34 +02:00
DavHau
e7d5a6f854 impure-checks: improve performance by disabling dynamic deps 2024-07-16 12:42:45 +07:00
Mic92
a3e2b76517 Merge branch 'main' into DavHau-dave 2024-07-09 09:33:11 +00:00
DavHau
941cf9fb9d vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00
Johannes Kirschbauer
edcc1a5cb2 Test: fixup 2024-07-06 17:51:46 +02:00
DavHau
79d6f8e893 Reapply "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit 71009f80d8.

workaround upstream bug: https://github.com/NixOS/nixpkgs/issues/324802
2024-07-05 19:29:01 +07:00
Jörg Thalheim
71009f80d8 Revert "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit 18b64f2d0b.

The old configuration cannot be updated like this:

eve] error:
[eve]        … while calling the 'head' builtin
[eve]          at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/attrsets.nix:1575:11:
[eve]          1574|         || pred here (elemAt values 1) (head values) then
[eve]          1575|           head values
[eve]              |           ^
[eve]          1576|         else
[eve]
[eve]        … while evaluating the attribute 'value'
[eve]          at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/modules.nix:809:9:
[eve]           808|     in warnDeprecation opt //
[eve]           809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
[eve]              |         ^
[eve]           810|         inherit (res.defsFinal') highestPrio;
[eve]
[eve]        … while evaluating the option `system.build.toplevel':
[eve]
[eve]        … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/activation/top-level.nix':
[eve]
[eve]        … while evaluating the option `assertions':
[eve]
[eve]        … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/boot/systemd.nix':
[eve]
[eve]        … while evaluating the option `systemd.services':
[eve]
[eve]        … while evaluating definitions from `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/zerotier':
[eve]
[eve]        … while evaluating the option `clan.core.networking.zerotier.networkId':
[eve]
[eve]        (stack trace truncated; use '--show-trace' to show the full, detailed trace)
[eve]
[eve]        error: A definition for option `clan.core.networking.zerotier.networkId' is not of type `null or string'. Definition values:
[eve]        - In `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/networking.nix':
[eve]            {
[eve]              _type = "override";
[eve]              content = "267efd4a15b69623";
[eve]              priorit
2024-07-05 11:16:05 +02:00
DavHau
18b64f2d0b clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking} 2024-07-04 17:05:37 +07:00
Jörg Thalheim
2f1dac6962 make machine class now a dataclass 2024-07-03 12:34:43 +02:00
Jörg Thalheim
cc3f99bfaa simplify clan uri further 2024-07-02 12:52:10 +02:00
Jörg Thalheim
466fac640f machines/machines: drop unused qmp wrapper 2024-07-02 11:42:02 +02:00
Jörg Thalheim
fc3f65fb57 allow to override nix options in update/install/flash commands 2024-05-29 10:14:14 +02:00
a-kenji
12add74aae clan: add run_no_stdout function suppressing stdout
Add the `run_no_stdout` function suppressing stdout by default.This
keeps the noise down on most commands, while still
stayingdebuggable.Stdout will be active when the `--debug` flag is
passed to the cli.

Fixes #1443
2024-05-28 11:13:55 +02:00
Jörg Thalheim
448d752db1 fix case when secrets are regenerated during update/install 2024-04-12 14:46:51 +02:00
lassulus
2893025f3f refactor clanCore.secrets -> clanCore.facts 2024-03-27 16:03:16 +01:00
clan-bot
e737b4c56d Merge pull request 'clan-vm-manager: Basic pytest framework established' (#1026) from Qubasa-main into main 2024-03-24 22:41:07 +00:00
Qubasa
d6d8a88549 clan-vm-manager: Working pytest skeleton. clan-cli: Fixing devshell depending on itself 2024-03-24 23:36:00 +01:00
lassulus
8d34c51df2 refactor secrets & facts -> secret_facts & public_facts 2024-03-23 05:46:54 +01:00
Qubasa
285a83ec97 clan_cli: Renamed ClanUrl to FlakeId 2024-03-08 23:47:27 +07:00
Qubasa
1b0f0bdd70 clan-vm-manager: Fix ClanUrl not pickable 2024-03-08 23:23:18 +07:00
Qubasa
93ca333227 clan_cli: Add TimeTable class to cmd.py. Fix bugs in Machine rewrite 2024-03-08 22:01:54 +07:00
Qubasa
fcb7a4b032 clan_vm_manager: Rewrite of Machine Class Part 1 2024-03-08 15:32:12 +07:00
Qubasa
1d72e4baa7 clan_vm_manager: Extracted VMObject to own component 2024-03-04 12:38:20 +07:00
lassulus
0dce19d031 clan-cli machines: cache machines_func via store 2024-03-02 11:20:05 +01:00
Qubasa
6de8393df1 clan_vm_manager: Fix qmp shutdown command, bad socket error on retried shutdown 2024-02-26 01:18:13 +07:00
Qubasa
e38aa7b73e clan_vm_manager: Improve VM start and stop switch. Switch will be disabled while stopping vm 2024-02-26 01:04:09 +07:00
clan-bot
e023d25b4b Merge pull request 'add option to set defaultGroups for secrets' (#858) from Mic92-target_host into main 2024-02-16 16:29:28 +00:00
Jörg Thalheim
023b9f4257 add option to set defaultGroups for secrets 2024-02-16 17:26:20 +01:00
Qubasa
8a0edddca7 clan-vm-manager: Fixing vm starting. 2024-02-16 16:10:49 +07:00
Qubasa
0b0867907e clan-vm-manager: Added clan icon to trayicon 2024-02-16 12:25:06 +07:00
Jörg Thalheim
90e9bc999e add file prefix for nix 2.19 or newer 2024-02-15 12:24:18 +01:00
lassulus
5ed4881687 vms: use vm fact/secret-store 2024-02-15 10:41:25 +01:00
lassulus
e3627c12f7 add factsStore modules 2024-02-15 10:41:25 +01:00
Qubasa
6d06742c49 clan_cli: Added lazy qmp 2024-02-13 16:44:09 +07:00
Qubasa
a1afd05fcb clan_cli: Made qmp implementation lazy 2024-02-13 16:44:09 +07:00
Qubasa
d54531e38c update flake lock 2024-02-12 14:52:01 +07:00