Commit Graph

4720 Commits

Author SHA1 Message Date
Brian McGee
9da38abc77 fix(storybook): clan settings mock data shape changed 2025-10-09 14:57:20 +01:00
Brian McGee
2814c46e68 fix(storybook): button stories
- role="button" was removed at some point during refactoring which broke how the story was finding buttons
- button no longer has automatic loading state, instead it is now controlled.
2025-10-09 14:56:39 +01:00
Brian McGee
feef0a513e fix(storybook): remove cubes storybook
It wasn't adding much value and requires a mock Clan context which is a lot of effort at the min.
2025-10-09 14:56:38 +01:00
Brian McGee
9cc85b36c6 feat(ui): switch to webkit for storybook tests 2025-10-09 14:56:38 +01:00
hsjobeki
1465b18820 Merge pull request 'app: fix ClanSettings story' (#5447) from ui-cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5447
2025-10-09 13:27:56 +00:00
Johannes Kirschbauer
6fa0062573 app: fix ClanSettings story 2025-10-09 15:24:30 +02:00
DavHau
fd5d7934a0 vars: refactor - make shared generators carry machines list
This should make it simpler to improve the implementation of granting a new machine access to a shared secret.
The current approach using the health_check is  pretty hacky
2025-10-09 15:41:04 +07:00
DavHau
744f35e0cc vars: cleanup + fix wording 2025-10-09 07:38:00 +02:00
Johannes Kirschbauer
46ae6b49c1 docs: move generated markdown into a package 2025-10-08 16:37:31 +02:00
Johannes Kirschbauer
032f54cbfb docs: fix links 2025-10-08 16:02:31 +02:00
Johannes Kirschbauer
c031abcd9e docs: move option-search into own package 2025-10-08 15:42:18 +02:00
Louis Opter
a06a7a7a2c clan-cli/secrets: update some error message in encrypt_secret (#5271)
Found that while reading through some code.

Co-authored-by: Jörg Thalheim <joerg@thalheim.io>
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5271
Co-authored-by: Louis Opter <louis@opter.org>
Co-committed-by: Louis Opter <louis@opter.org>
2025-10-08 07:41:14 +00:00
DavHau
a83f3c23f4 vars: raise error when shared generators differ between machines
When generators are shared between machines, their definition has to be the same across all machines. If not, it might lead to unexpected problems, as the architecture assumes that all definitions are the same.

fixes https://git.clan.lol/clan/clan-core/issues/5253
2025-10-08 14:02:39 +07:00
DavHau
da6cd324f0 Merge pull request 'vars/performance: aggregate selects over all machines and generators' (#5402) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5402
2025-10-08 06:04:50 +00:00
DavHau
c5b96df7b0 vars/performance: aggregate selects over all machines and generators
This improves the performance of deployment, by aggregating uncached select calls for vars generate into two batches.
batch 1: Get all generators of all machines
batch 2: get all final scripts for generators which need to run
2025-10-08 13:00:20 +07:00
Jörg Thalheim
204f9d09e3 network: refactor get_best_remote to class-based context manager
Resolves the "RuntimeError: generator didn't stop after throw()" issue
by replacing the generator-based @contextmanager with an explicit class.

This maintains backward compatibility through a factory function.
2025-10-07 13:05:20 +02:00
Jörg Thalheim
10ed2cc7f7 sops: don't leak secret key in debug logs 2025-10-07 11:31:12 +02:00
DavHau
43b1744528 tests: disable state-version generation in all python tests
This improves the performance of tests, as there are less vars operations to perform.
2025-10-06 17:08:42 +07:00
Johannes Kirschbauer
359582118c docs: fix broken links 2025-10-05 14:14:12 +02:00
Luis Hebendanz
fd62b4e9b3 Merge pull request 'clan_lib: Add clan_module_to_llm_function for ai integration' (#5361) from ai_support2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5361
2025-10-03 21:20:43 +00:00
hsjobeki
b58f37011d Merge pull request 'docs: move getting-started out of guides' (#5365) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5365
2025-10-03 14:53:59 +00:00
Johannes Kirschbauer
b1f6dd58f3 docs: move getting-started out of guides 2025-10-03 16:50:10 +02:00
hsjobeki
d634f2c9ae Merge pull request 'docs: unify markdown files with documentation titles' (#5364) from docs-simplify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5364
2025-10-03 14:31:29 +00:00
Johannes Kirschbauer
90b1033870 docs: unify markdown files with documentation titles
This is preparational work to reduce the surface are of the different mappings

We want to reduce the following:

/guides/secrets.md -> Guides/getting started/How to use flakes with sops -> with '# Secrets Management'

- Title
- URI
- Filepath

should follow a stricter pattern to make it easy to maintain
2025-10-03 16:08:20 +02:00
Michael Hoang
56558023a8 cli: support getting chroot-realpath from nixos-init if necessary 2025-10-03 13:02:40 +02:00
Qubasa
b56230e3a7 clan_lib: Add clan_module_to_llm_function for ai integration 2025-10-03 12:32:33 +02:00
Qubasa
2df96d3a9b inventory: Add roles.<name>.description option and a warning if it is not set 2025-10-02 18:57:55 +02:00
DavHau
393323ba91 Merge pull request 'vars: optimize generate - reduce cache misses' (#5348) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5348
2025-10-02 11:50:26 +00:00
DavHau
5a6ffbf916 vars: optimize generate - reduce cache misses
optimize the `clan vars generate` procedure by pre-caching more selectors.

To achieve this, helper functions are added to several classes.

Also a debugging feature is added to the Flake class in order to track stack traces of cache misses
2025-10-02 18:46:11 +07:00
hsjobeki
586b0ddc5f Merge pull request 'ui: new api call design' (#5319) from hgl-api into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5319
2025-10-02 07:58:09 +00:00
Glen Huang
a268be69fe ui: new api call design
- api functions exist under api.*
- they accept an abort signal and return a promise
- they can be swapped out at build time depending on the platform
  (e.g.,window.method on desktop, fetch on mobile)
- TanStack Query functions should only be used in components, and
  only when we need its features, favoring simpler api.* calls
2025-10-01 20:51:48 +08:00
Michael Hoang
850160d120 nixos_test_lib: fix Nix in Nix not working with driverInteractive 2025-10-01 14:33:23 +02:00
a-kenji
df3fdf3758 pkgs/lib/git: List all files that are committed 2025-10-01 12:24:33 +02:00
a-kenji
08e2048eeb pkgs/lib: verbose git commits
Make sure the user knowns that a git command is run.

From the issue #4588:
> It is confusing at times, when executing some CLI command, expecting change,
then checking git status but no changes are observed.

We now log:
- git add (debug)
- git commit (info)

The git commit information is formatted the following way:
```
Committed machines/backup-target to git
```

Alternatives:
Currently this shows to the user what happened.
But we might want to show the user what is being run.
We could print the information before invoking the `git commit` itself.
Informing the user of a potential password input window.

Closes #4588
2025-10-01 11:46:01 +02:00
DavHau
e593d5da34 Merge pull request 'vars/list: reduce cache misses to 1' (#5331) from dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5331
2025-10-01 05:52:55 +00:00
DavHau
b72145d4aa vars/list: reduce cache misses to 1
This improves the performance for clan vars list
2025-10-01 12:43:09 +07:00
hsjobeki
e680c3a478 Merge pull request 'classgen: mute expected warning' (#5324) from mute-warning into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5324
2025-09-30 13:40:08 +00:00
Johannes Kirschbauer
5a026eaf57 classgen: mute expected warning 2025-09-30 15:37:22 +02:00
Qubasa
07def16ff6 clan-app: fix logging error
on closing the logging file descriptor some parts of the program still
had the old reference. This will replace the old fd with stderr to fix
errors raised
2025-09-30 15:32:21 +02:00
Qubasa
fdc4b5f769 clan-app: full context tracebacks
If an exception now is thrown in one of the middlewares we will get a
proper traceback instead of a cut off one like before
2025-09-30 15:31:16 +02:00
Qubasa
8ad9f99606 clan-app: renamed deps folder to 'backend' 2025-09-30 15:30:39 +02:00
Luis Hebendanz
adb82a8414 Merge pull request 'clan-app: fixed broken webview delete_task' (#5321) from Qubasa/clan-core:ai_support into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5321
2025-09-30 12:09:56 +00:00
Qubasa
d36f97aa6d clan-app: fixed broken webview delete_task 2025-09-30 14:07:25 +02:00
DavHau
d2728bea27 Merge pull request 'vars: make list/get fast' (#5316) from vars into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5316
2025-09-30 10:15:08 +00:00
Jörg Thalheim
d67e23890b inline stringify_vars 2025-09-30 12:10:44 +02:00
Jörg Thalheim
597eb46c47 vars: speedup get/list
no longer get the full closure that is only needed for generating vars
2025-09-30 12:10:44 +02:00
Brian McGee
aa0b03064a feat(ui): remove add clan button from ListClansModal
It was confusing how it worked. Cleaner to remove it and just have users X out of the modal and use the existing onboarding workflow.

Closes #5010
2025-09-29 11:42:41 +01:00
Brian McGee
04a1fa1cf0 feat(ui): remove add clan button from ListClansModal
It was confusing how it worked. Cleaner to remove it and just have users X out of the modal and use the existing onboarding workflow.

Closes #5010
2025-09-29 11:13:03 +01:00
hsjobeki
890486e353 Merge pull request 'use css modules for Tag and MachineStatus' (#5255) from hgl-ui-machine into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5255
2025-09-29 08:06:44 +00:00
Glen Huang
35f42107bb ui/onboarding: extract cube animation to its own component 2025-09-26 21:58:32 +08:00