hsjobeki
841ad6f48e
Merge pull request 'vars-fix-overeager-chache-invalidation' ( #3385 ) from hsjobeki/clan-core:vars-fix-overeager-chache-invalidation into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3385
2025-04-22 18:28:27 +00:00
Johannes Kirschbauer
1a3346274e
Tests/fix: forbid dynamic invalidation
...
We cannot support dynamic hashInvalidation.
This means the invalidation can change *after* or *before* a 'vars generate'
But not during the generation itself. This causes heavy performance overhead.
Additionally this introduces a fixed-point-iteration (compare: fixed-point-iteration vs. fixed-point-function)
This iteration takes ~ 1min for two bare-bones machine with 1 generator (see: checks/data-mesher)
2025-04-22 20:19:15 +02:00
Michael Hoang
d663744f40
cli/machines: don't allow installing on macOS
2025-04-23 03:13:39 +10:00
Jörg Thalheim
4c78cce06e
drop overrides of nix version
2025-04-22 18:20:35 +02:00
Jörg Thalheim
26d635a283
drop test_secrets_password_store
...
we are phasing out facts and the only fact we had left for testing, got
now dropped. We still have a sops facts test, which we might also drop
soon.
2025-04-22 18:20:35 +02:00
Jörg Thalheim
05214084a6
vms/run: upload vars
2025-04-22 18:20:35 +02:00
Jörg Thalheim
c00ca85bc7
drop unused machine_get_fact
2025-04-22 18:20:35 +02:00
Jörg Thalheim
3ac1907201
use machine.{secrets,public}_{vars,fact}_store everywhere
2025-04-22 18:20:35 +02:00
Jörg Thalheim
cbde58e1d8
zerotier: migrate from facts to vars
2025-04-22 18:20:35 +02:00
Johannes Kirschbauer
dc284e1c40
vars: move overeager cache invalidation after one generator closure is regenrated.
...
Invalidation doesn't need to be done after each generator is executed.
We cannot interpolate values from other generators into another
generator. The generators are executed in order. The finalScript of each
generator stays constant.
After the complete closure is generated the caller of generate may
decide to invalidate the flake cache
2025-04-22 16:42:21 +02:00
Michael Hoang
5eae0c65d8
cli: support updating nix-darwin machines
2025-04-22 23:39:47 +10:00
Michael Hoang
3480912d8d
cli: fix unnecessary sudo when unspecified user defaults to root
2025-04-22 23:39:46 +10:00
Michael Hoang
3151d4ba86
cli: only use sudo when deploying locally
2025-04-22 23:14:03 +10:00
Michael Hoang
2768d959e7
cli: use sudo consistently when running nixos-rebuild switch
2025-04-22 23:14:03 +10:00
Michael Hoang
f336f6514c
Back out "cli: don't update macOS machines"
...
This backs out commit 83a2de0f47 .
2025-04-22 23:14:03 +10:00
Jörg Thalheim
f69bfa7ea9
Machines: remove unused method argument from self.nix()
2025-04-21 15:18:14 +02:00
Jörg Thalheim
59125a8f42
devshell/clan-cli: fix CLAN_PROVIDED_PACKAGES having too many packages
2025-04-21 15:18:14 +02:00
Jörg Thalheim
723d72255c
Reapply "remove nix_shell_legacy"
...
This reverts commit c5001f19fc .
2025-04-21 13:23:50 +02:00
Johannes Kirschbauer
8efdfc6da1
chore(select/cache): rename 'prefetch' to 'invalidate_cache'
2025-04-20 13:34:52 +02:00
Michael Hoang
f574eee5a3
vars: make wording nicer when multiple vars are found
2025-04-18 19:18:42 +02:00
Johannes Kirschbauer
c5001f19fc
Revert "remove nix_shell_legacy"
...
This reverts commit f3512b853a .
2025-04-18 14:49:54 +02:00
Johannes Kirschbauer
17fb2fc53d
test(cli/select): add simple caching test
2025-04-18 14:06:59 +02:00
Jörg Thalheim
f3512b853a
remove nix_shell_legacy
2025-04-16 21:03:58 +02:00
Jörg Thalheim
435627d854
rename CLAN_STATIC_PROGRAMS -> CLAN_PROVIDED_PACKAGES
2025-04-16 18:27:01 +00:00
Jörg Thalheim
837789010e
rename nix_shell_legacy to nix_shell and run_cmd to nix_shell
...
Than it's more obvious that we need to migrate.
2025-04-16 18:27:01 +00:00
Jörg Thalheim
9222574258
run_cmd: print what commands are allowed in if the current command is not in the allow list
2025-04-16 19:50:27 +02:00
Jörg Thalheim
4d4882ac7b
update_hardware_config: migrate from nix_shell to run_cmd
2025-04-16 19:32:40 +02:00
Jörg Thalheim
7e6e51ee1b
sort allowed-programs.json
2025-04-16 19:32:40 +02:00
Jörg Thalheim
3e8f3046ec
Host: migrate from nix_shell to run_cmd
2025-04-16 19:32:40 +02:00
Jörg Thalheim
0b4e896af3
migrate clan history to clan-vm-manager
...
this functionality is not really useful or used in clan-vm-manager and
therefore should live in the clan-vm-manager.
Not porting the test for now because we probably get rid of the clan-vm-manager soon in favour of the UI.
2025-04-16 14:51:37 +02:00
Jörg Thalheim
f4792109ec
Remove unused clan history update subcommand
2025-04-16 14:51:37 +02:00
Michael Hoang
fc7a4d2b75
machines: fix nixos-rebuild not getting retried
2025-04-15 16:16:03 +02:00
lassulus
62deb1f89b
Merge pull request 'fast-vars-gen' ( #3216 ) from fast-vars-gen into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3216
2025-04-15 07:11:06 +00:00
Jörg Thalheim
949536bb2b
rework cache to use json instead of pickle
...
Pickle can silently break if migrate our data layout and also introduces
unwanted behaviour such as code injection that we want to avoid.
2025-04-15 07:00:00 +00:00
Jörg Thalheim
833798f650
test_vars_deployment: skip on macOS for now
...
we can not run vms on macOS at the moment.
2025-04-14 15:47:55 +00:00
lassulus
2df82ae61f
clan_cli test_vars: start refactoring to use caching
2025-04-14 14:28:59 +02:00
lassulus
99238ff7d6
clan_cli machines update: cache values for faster eval
2025-04-14 14:28:59 +02:00
lassulus
da92c19367
clan_cli vars generate: prefetch all validationHashes for faster eval
2025-04-14 14:28:59 +02:00
Jörg Thalheim
4dc1e2cb3f
don't error on macOS if sandbox for vars is missing
2025-04-14 14:11:51 +02:00
Mic92
dc6cf1b673
Merge pull request 'cache nix_config' ( #3306 ) from nix-config into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3306
2025-04-14 11:23:33 +00:00
Jörg Thalheim
268be9e1f3
cache nix_config
...
We often call this several times during execution.
At the moment we only use system at the moment, which is unlikely to
change.
2025-04-14 13:13:49 +02:00
Luis Hebendanz
8028876120
Merge pull request 'clan-cli: Don't eval 'modules' while getting templates. 'modules' can be not JSON serializable' ( #3280 ) from Qubasa/clan-core:fix_templates into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3280
2025-04-14 10:38:07 +00:00
Luis Hebendanz
0c22b31a37
Merge pull request 'chore(clan/cli): remove --reflink=auto' ( #3291 ) from visualphoenix/clan-core:clan_cli_osx_cp_fix into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3291
2025-04-14 10:24:35 +00:00
Michael Hoang
866dafab9d
machines: minor refactor of update
2025-04-13 18:14:17 +02:00
Raymond Barbiero
d16e540671
chore(clan/cli): remove --reflink=auto
2025-04-12 19:41:43 -04:00
Michael Hoang
fe523e928d
treewide: switch back to pkgs.nix
2025-04-12 13:15:53 +02:00
Qubasa
b6753211e9
clan-cli: Fix failing tests. Add a big FIXME for clan.select
2025-04-11 23:36:02 +02:00
Qubasa
3bd766e0a0
clan-cli: Fix single file upload in upload.py, add test for edge case
2025-04-11 19:08:13 +02:00
Johannes Kirschbauer
7a72ff5297
chore(clan/cli): remove explizit dependency on jsonschema converter.
...
Regenerating the classes from json schema as part of the clan/cli is a bit redundant since we need to vendor the classes by hand anyways
The user can also not practically override the inventory options
I would disable this for now; until we really need it.
We now solely rely on CI checks failing if the classes are out of sync
2025-04-10 22:58:30 +02:00
Johannes Kirschbauer
d5a32cc453
chore(clan/vars): make no-sandboxing message print a more explizit re-run command
2025-04-10 22:39:27 +02:00