Johannes Kirschbauer
7b95fa039f
clan-cli: remove unused test fixture
2025-10-12 18:00:52 +02:00
Johannes Kirschbauer
63fdc13928
persist: add attributes props to accumulator
2025-10-12 17:45:14 +02:00
Johannes Kirschbauer
c13879ce69
persist: rename write map to attribute map
2025-10-12 17:45:14 +02:00
Johannes Kirschbauer
f57bc30c5a
persist/writeability: rename non_writeable to readonly
2025-10-12 17:45:14 +02:00
Michael Hoang
bc09d5c886
cli: ensure init-hardware-config passes Nix options to nixos-anywhere
2025-10-10 17:00:10 +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
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
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
b72145d4aa
vars/list: reduce cache misses to 1
...
This improves the performance for clan vars list
2025-10-01 12:43:09 +07: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
Michael Hoang
51bf7c8848
cli: support machines init-hardware-config --debug
2025-09-25 22:10:01 +02:00
Qubasa
a28270f43a
docs: extensive backup documentation
2025-09-25 18:59:27 +02:00
hsjobeki
becb32a947
Merge pull request 'lib/introspect: use valueMeta to expose more information' ( #5262 ) from update-service into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5262
2025-09-24 16:38:14 +00:00
Johannes Kirschbauer
bcadf6b0fb
clan_lib: write_rules complete internal keys
2025-09-24 18:34:09 +02:00
Johannes Kirschbauer
75121767d3
lib/introspect: use valueMeta to expose more information
2025-09-24 17:24:44 +02:00
Luis Hebendanz
8da25d5295
Merge pull request 'hardware-update-split' ( #5261 ) from Qubasa/clan-core:hardware-update-split into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5261
2025-09-24 14:54:32 +00:00
Qubasa
ed069c48d3
clan-cli: rename to init-hardware-config
2025-09-24 16:51:06 +02:00
Qubasa
ac79bfb35f
clan-cli: Split up update-hardware info into kexec-hardware-info
2025-09-24 15:47:33 +02:00
Qubasa
5595b2f862
clan-cli: Don't print trace on Keyboard Interrupt
2025-09-24 15:43:04 +02:00
lassulus
8567c2c09d
clan-cli vars: speedup vars retrieval
2025-09-23 13:55:33 +02:00
Johannes Kirschbauer
9ea5156f32
clan_lib: disable static checks temporarily
2025-09-22 18:32:58 +02:00
Johannes Kirschbauer
3574b37a29
clan_lib: fix inventory test message assertions
2025-09-22 12:10:51 +02:00
Qubasa
8ff060c589
clan_lib: Remote add to arguments override func
2025-09-22 11:20:49 +02:00
Johannes Kirschbauer
b273cc9c6a
clan_lib: temporarily allow missing paths again
2025-09-21 17:33:35 +02:00
Johannes Kirschbauer
51f3ffec42
clan_lib: rename writeability to write_map
2025-09-21 17:30:33 +02:00
Johannes Kirschbauer
48ddf22879
clan_lib: split utils into meaningfull files
2025-09-21 17:24:28 +02:00
Johannes Kirschbauer
9a03644a80
clan_lib: deprecate is_writeable_key
2025-09-21 16:37:50 +02:00
Johannes Kirschbauer
381c190ba2
clan_lib: inventory store use structured keys
2025-09-21 16:25:54 +02:00
Johannes Kirschbauer
bd50e1ee40
clan_lib: use structured keys for def calc_patches
...
This allows key that contain dot and other potentially ambigous unicode
2025-09-21 16:02:10 +02:00