a-kenji
6cea3e6c60
pkgs/cli: machines install handle invalid character
...
Re-request prompt, if invalid character is specified.
None is still treated as no as per CLI hint [y/N].
We now also accept Y/N.
Closes : #4475
2025-07-24 22:00:31 +02:00
Luis Hebendanz
9668c318dc
Merge pull request 'fix flake select logging' ( #4483 ) from Qubasa/clan-core:fix_flake_select_logging into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4483
2025-07-24 11:44:21 +00:00
Qubasa
7146c97362
clan_lib: Fix flake.select logging, now we log the first time select queries a path for the first time, it doesn't matter if it is cached or not.
2025-07-24 18:27:40 +07:00
Qubasa
b74aa31b87
clan-lib: Fix missing logging for flake.select execution
2025-07-24 17:29:09 +07:00
Qubasa
94662b722d
clan-lib: Remove injected "op_key" argument from all functions and do it over the threadcontext instead. Remove double threading in http server
2025-07-24 14:25:20 +07:00
hsjobeki
1e51439414
Merge pull request 'pytest: add simple clan_flake function' ( #4453 ) from api-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4453
2025-07-23 10:27:05 +00:00
Johannes Kirschbauer
29c764773f
pytest: clan_flake allow usage of plain dicts
2025-07-23 12:15:54 +02:00
Brian McGee
38d62af1ba
feat(ui): add sidebar and flesh out app routes
2025-07-23 10:16:00 +01:00
a-kenji
f58a120db1
pkgs/cli: Fix fstring interplolation
...
Closes : #4458
2025-07-23 09:43:51 +02:00
DavHau
cc69892e3b
create clan: better info about existing sop keys
...
When creating a new clan, the key selection now looks like this:
```
Found existing admin keys on this machine:
1: type: AGE
pubkey: age1xyz...
source: /home/grmpf/.config/sops/age/keys.txt
2: type: PGP
pubkey: abc...
source: SOPS_PGP_FP
Select keys to use (comma-separated list of numbers, or leave empty to select all):
```
This is achieved by adding a `source` attribute to `SopsKey`.
2025-07-23 13:22:19 +07:00
DavHau
c94330ee9c
clan create: fix failure when path was single word
...
This should better be fixed with types. It should be possible to initialize a flake from a Path, making it very clear that a path `foo` is meant and not a remote flake called `foo`
2025-07-23 12:33:57 +07:00
Jörg Thalheim
377056e80c
clan flakes create: initialize keys automatically ( #4435 )
...
fixes https://git.clan.lol/clan/clan-core/issues/2665
fixes https://git.clan.lol/clan/clan-core/issues/4407
Co-authored-by: DavHau <d.hauer.it@gmail.com >
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4435
Co-authored-by: Jörg Thalheim <joerg@thalheim.io >
Co-committed-by: Jörg Thalheim <joerg@thalheim.io >
2025-07-23 04:44:55 +00:00
Johannes Kirschbauer
1dbaff7b61
pytest: add simple clan_flake function
...
Takes a clan nix expression as a string
Is empty by default and does nothing
Expensive lockfile patching is done once per session
2025-07-22 23:24:40 +02:00
Kenji Berthold
acfe3b0a04
Merge pull request 'pkgs/clan: Fix common command flags registering' ( #4451 ) from kenji/ke-completions-add-flake into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4451
2025-07-22 18:10:15 +00:00
a-kenji
04f36a4cb1
pkgs/clan: Fix common command flags registering
...
Fix common command flags registering.
Register the common command flags before triggering autocomplete,
that way we can use the flags in the autocompletions themselves.
2025-07-22 19:56:07 +02:00
hsjobeki
41a0138c16
Merge pull request 'clan/create: api fixes and unit tests' ( #4449 ) from api-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4449
2025-07-22 17:28:37 +00:00
Johannes Kirschbauer
f1be729206
create/clan: unit tests init
2025-07-22 19:17:41 +02:00
a-kenji
cacd853374
pkgs/cli: Support the flake argument for clan shell completions
2025-07-22 19:06:42 +02:00
Kenji Berthold
1510b4014b
Merge pull request 'pkgs/cli: Autocomplete various vars subcommands' ( #4447 ) from kenji/ke-complete-vars into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4447
2025-07-22 16:27:32 +00:00
lassulus
d5e0f7e505
Merge pull request 'fix: handle arbitrary store paths references in flake cache' ( #4441 ) from fix-flake-caching into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4441
2025-07-22 16:18:15 +00:00
Johannes Kirschbauer
b9e5cf1220
clan/create: use post_processing hook
2025-07-22 18:14:56 +02:00
Johannes Kirschbauer
f4eb59c373
create/clan: add validation to create arguments
2025-07-22 18:13:56 +02:00
Johannes Kirschbauer
06257d044a
test_create: fix duplicated variables
2025-07-22 18:12:51 +02:00
Johannes Kirschbauer
34ca7a4a7b
create/clan: add abstraction for initial meta
...
Directly passing through persisted data is bad
2025-07-22 18:12:17 +02:00
Johannes Kirschbauer
a34ec8ed22
templates: add post_process hook for tests or other extensions
2025-07-22 18:07:26 +02:00
Johannes Kirschbauer
4597b207e7
pytest: fixtures offline_flake_hook init
2025-07-22 18:06:47 +02:00
Johannes Kirschbauer
9257cb02ee
validator: hostname init
2025-07-22 18:06:27 +02:00
a-kenji
cd8a1d9a32
pkgs/cli: Autocomplete various vars subcommands
...
Add autocomplete for `vars` for the following subcommands:
```
clan vars get [machine] [var_id]
clan vars set [machine] [var_id]
```
2025-07-22 18:03:55 +02:00
Jörg Thalheim
bd1451ce18
fix: handle arbitrary store paths references in flake cache
...
Previously, paths like /nix/store/hash-file.nix:123 were incorrectly
treated as pure store paths and wrapped in {"outPath": ...}, breaking
the cache. This fix:
- Adds helper functions to properly detect and handle store references
- Distinguishes between pure store paths and paths with metadata (line numbers)
- Supports multiple store references in a single string
- Handles custom NIX_STORE_DIR correctly
- Ensures existence checks work for all store references
Also fixes test_cache_gc to delete NIX_REMOTE for proper local store testing.
2025-07-22 17:13:04 +02:00
hsjobeki
69ab00b34b
Merge pull request 'store: move merge_objects into persistence helpers' ( #4440 ) from api-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4440
2025-07-22 13:12:04 +00:00
Johannes Kirschbauer
0043870882
merge_objects: add unit tests
2025-07-22 15:01:00 +02:00
Johannes Kirschbauer
0ea42ae541
store: move merge_objects into persistence helpers
2025-07-22 15:01:00 +02:00
Kenji Berthold
cf65ae81cf
Merge pull request 'pkgs/cli: Add disko template completion to clan templates apply disk' ( #4438 ) from kenji/ke-complete-disko into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4438
2025-07-22 11:26:58 +00:00
a-kenji
28e39ada84
pkgs/cli: Add disko template completion to clan templates apply disk
2025-07-22 13:04:45 +02:00
a-kenji
fb52b955cc
pkgs/cli: Add completions to clan flakes create --template [TEMPLATE]
...
Add completions to `clan flakes create --template [TEMPLATE]`
2025-07-22 13:01:45 +02:00
Luis Hebendanz
aee71b3fd6
Merge pull request 'pkgs/cli: Validate flake for network subcommands' ( #4433 ) from kenji/ke-networks-validate-flake into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4433
2025-07-22 05:27:45 +00:00
Luis Hebendanz
76535852e4
Merge pull request 'pkgs/cli: Add machine to output while uploading sources' ( #4429 ) from kenji/ke-update-add-machine into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4429
2025-07-22 05:27:06 +00:00
Kenji Berthold
a694e8d122
Merge pull request 'pkgs/cli: Fix typo in networking help' ( #4431 ) from kenji/ke-network-fix-typo into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4431
2025-07-21 20:38:54 +00:00
a-kenji
3a2be243c0
pkgs/cli: Add machine to output while uploading sources
...
Add the `machine` to it's output while uploading sources.
2025-07-21 22:15:43 +02:00
a-kenji
9fdf41813a
pkgs/cli: Validate flake for network subcommands
...
When running for example `clan networks list` we now get a reasonable
error message, instead of:
```
Traceback (most recent call last):
File "/nix/store/8ygq8bfxqydk2917mmg32wy9wb0qzzzd-clan-cli/bin/.clan-wrapped", line 9, in <module>
sys.exit(main())
~~~~^^
File "/nix/store/8ygq8bfxqydk2917mmg32wy9wb0qzzzd-clan-cli/lib/python3.13/site-packages/clan_cli/cli.py", line 516, in main
args.func(args)
~~~~~~~~~^^^^^^
File "/nix/store/8ygq8bfxqydk2917mmg32wy9wb0qzzzd-clan-cli/lib/python3.13/site-packages/clan_cli/network/list.py", line 12, in list_command
networks = networks_from_flake(flake)
File "/nix/store/8ygq8bfxqydk2917mmg32wy9wb0qzzzd-clan-cli/lib/python3.13/site-packages/clan_lib/network/network.py", line 106, in networks_from_flake
networks_ = flake.select("clan.exports.instances.*.networking")
^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'select'
```
2025-07-21 22:13:48 +02:00
a-kenji
04f3a9480f
pkgs/cli: Fix typo in networking list help
2025-07-21 22:07:29 +02:00
a-kenji
f7762b3119
pkgs/cli: Fix typo in networking help
2025-07-21 22:06:03 +02:00
Qubasa
4055508588
clan-lib: Add object_name to ClassSource and don't override __repr__ from NetworkTechnologyBase instead overwrite it in ClassSource
2025-07-21 14:25:01 +07:00
Qubasa
ff65dfc883
clanServices: change tor service to have "client" and "server" roles instead of just "default"
...
also improve error message when user forgot to update machine in clan
networking command
2025-07-21 14:25:01 +07:00
Qubasa
1f5ef04a61
clan-lib: Fix network.py missing vars generation and use import_with_source for better trace ability
2025-07-21 12:40:49 +07:00
Qubasa
89f0e90910
clan-lib: Init import_utils to add debug information to dynamically imported modules
2025-07-21 12:40:49 +07:00
Qubasa
137aa71529
clan-lib: Fix is_running of tor.py
2025-07-21 12:40:49 +07:00
lassulus
60768cc537
Add networking module
...
This adds a (for now hidden) clan network command that exposes list,
ping, overview subcommands to get informations about configured
networks.
ClanServices can now use the exports to define network specific
information.
This is not the complete feature yet, as we are lacking more tests and
documentation, but merging this now makes it easier to iterate.
2025-07-17 15:23:08 +02:00
Mic92
d036f98cd4
Merge pull request 'clan-cli: Move flash.py to clan_lib/flash' ( #4374 ) from Qubasa/clan-core:move_flash into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4374
2025-07-16 09:30:04 +00:00
Qubasa
a90cb56886
clan-cli: Move flash.py to clan_lib/flash
2025-07-16 15:29:18 +07:00