Commit Graph

2948 Commits

Author SHA1 Message Date
Raymond Barbiero
222915a9ed clanCore/vars: allow mode to be set
fmt
2025-04-25 11:29:43 +02:00
Michael Hoang
cc4b009f06 lib: move select.select -> select for backwards compat with old CLIs 2025-04-25 17:30:06 +10:00
Michael Hoang
60ff14d6b7 cli: fix restoring backups
There was a bug in `select` that made it output attrsets instead of
lists so we fix the broken refactor done in
5ac629f549.
2025-04-25 16:52:13 +10:00
lassulus
34ac45bd13 clan-cli flake-module: get select from new lib location 2025-04-25 16:26:45 +10:00
lassulus
89adacebec templates: fix usage with new select 2025-04-25 16:26:45 +10:00
lassulus
5feccf4e57 Refactor select with new maybe selector
This is a great refactor of the select functionality in the flake class.
This now uses the same parser as the nix code, but runs it in python for
nice stacktraces.

Also we now have a maybe selector which can be used by prepending the
selector with a ?

Tests have been expanded to make sure the code is more stable and easier
to understand
2025-04-25 16:26:45 +10:00
Michael Hoang
d7f0c0fc78 clan-app: improve README 2025-04-25 11:12:27 +10:00
Johannes Kirschbauer
7076f1b0e6 Chore(clan/clan_uri): Remove ClanURI class from clan_cli 2025-04-23 16:53:11 +02:00
Johannes Kirschbauer
0289c3ddea UI: fix general layout 2025-04-23 10:25:25 +00:00
Jörg Thalheim
c7a3f35fb1 temporary disabling the VM test until we have vars fixed
We are currently missing injecting public vars back into the vm.
To unblock the CI, we disable the test for a bit.
2025-04-23 11:26:05 +02:00
hsjobeki
6f2b7aa6d1 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
d3927f50ae 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
1168395336 cli/machines: don't allow installing on macOS 2025-04-23 03:13:39 +10:00
Jörg Thalheim
043077269a drop overrides of nix version 2025-04-22 18:20:35 +02:00
Jörg Thalheim
c2030eb3ba 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
ffaa30d894 vms/run: upload vars 2025-04-22 18:20:35 +02:00
Jörg Thalheim
847e3ac4ab drop unused machine_get_fact 2025-04-22 18:20:35 +02:00
Jörg Thalheim
7392570859 use machine.{secrets,public}_{vars,fact}_store everywhere 2025-04-22 18:20:35 +02:00
Jörg Thalheim
fe6fd41a4d zerotier: migrate from facts to vars 2025-04-22 18:20:35 +02:00
hsjobeki
74e64d413f Merge pull request 'Fix: remove daisyui' (#3384) from hsjobeki/clan-core:ui-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3384
2025-04-22 14:58:53 +00:00
Johannes Kirschbauer
e417f79527 pkgs/generate-test-vars: speed up vars generation by precaching 2025-04-22 16:47:39 +02:00
Johannes Kirschbauer
b47f2b6870 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
de12036630 cli: support updating nix-darwin machines 2025-04-22 23:39:47 +10:00
Michael Hoang
91a2739ea3 cli: fix unnecessary sudo when unspecified user defaults to root 2025-04-22 23:39:46 +10:00
Johannes Kirschbauer
7dd249863f Fix: remove daisyui
We wanted to remove daisyui a long time ago
Since renovate updates broke all of the classes somehow we use the opportunity to remove daisyui
And will fix all the breakages continously as we work on the features
2025-04-22 15:24:52 +02:00
Michael Hoang
b5901d5577 cli: only use sudo when deploying locally 2025-04-22 23:14:03 +10:00
Michael Hoang
a0117c51c1 cli: use sudo consistently when running nixos-rebuild switch 2025-04-22 23:14:03 +10:00
Michael Hoang
2bbf4b168a Back out "cli: don't update macOS machines"
This backs out commit 72ed0e258a.
2025-04-22 23:14:03 +10:00
Johannes Kirschbauer
4ead0045cb Fix: typescript problem with inventory indexing 2025-04-22 12:10:25 +02:00
Johannes Kirschbauer
6630e227c7 Chore: restore ui lockfile from a3f6fb21c8 2025-04-22 09:48:46 +02:00
renovate[bot]
15b10bd9ad chore(deps): update typescript-eslint monorepo to v8.31.0 2025-04-21 18:00:18 +00:00
renovate[bot]
73e5d08511 chore(deps): update dependency eslint to v9.25.1 2025-04-21 17:20:16 +00:00
renovate[bot]
580a087ef4 chore(deps): update dependency @eslint/js to v9.25.1 2025-04-21 17:00:16 +00:00
Jörg Thalheim
9780f45e97 generate-test-vars: use shutil.rmtree instead of rm
More portable.
2025-04-21 15:18:14 +02:00
Jörg Thalheim
74ef833dd3 generate-test-vars: improve caching and reduce number of overrides in base class 2025-04-21 15:18:14 +02:00
Jörg Thalheim
b4880d09a9 Machines: remove unused method argument from self.nix() 2025-04-21 15:18:14 +02:00
Jörg Thalheim
a4dfdc300e generate-test-vars: use absolute paths in flake urls
flakes don't work with releative paths
2025-04-21 15:18:14 +02:00
Jörg Thalheim
60dcfd5cf9 rename vars-generate to generate-test-vars 2025-04-21 15:18:14 +02:00
Jörg Thalheim
df08fea1c1 devshell/clan-cli: fix CLAN_PROVIDED_PACKAGES having too many packages 2025-04-21 15:18:14 +02:00
Jörg Thalheim
80e739bd1b Reapply "remove nix_shell_legacy"
This reverts commit 1232fb5af2.
2025-04-21 13:23:50 +02:00
hsjobeki
5eef4ba663 Merge pull request 'pkgs(vars-generator): init new package to generate vars' (#3357) from hsjobeki/clan-core:patch-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3357
2025-04-21 11:13:49 +00:00
renovate[bot]
de09f5cc8f chore(deps): update dependency vitest to v3.1.2 2025-04-21 09:00:33 +00:00
Johannes Kirschbauer
a01437d01e pkgs(vars-generator): init new package to generate vars 2025-04-20 14:08:52 +02:00
Johannes Kirschbauer
872d54b594 chore(select/cache): rename 'prefetch' to 'invalidate_cache' 2025-04-20 13:34:52 +02:00
renovate[bot]
779d28577d chore(deps): update dependency eslint to v9.25.0 2025-04-18 18:40:14 +00:00
renovate[bot]
07ea8237f5 chore(deps): update dependency @eslint/js to v9.25.0 2025-04-18 18:20:14 +00:00
Michael Hoang
23ae0e6712 vars: make wording nicer when multiple vars are found 2025-04-18 19:18:42 +02:00
Johannes Kirschbauer
1232fb5af2 Revert "remove nix_shell_legacy"
This reverts commit 8cde32c76f.
2025-04-18 14:49:54 +02:00
pinpox
2152d59d9d Fix conftest typo 2025-04-18 14:25:22 +02:00
Johannes Kirschbauer
ebb1be084f test(cli/select): add simple caching test 2025-04-18 14:06:59 +02:00