a-kenji
326f418c88
pkgs/cli: Remove uncommented logic from creation test
2025-07-25 14:44:20 +02:00
lassulus
1a5b77d47a
refactor: generalize Tor support to SOCKS5 proxy in network module
...
- Replace Tor-specific implementation with generic SOCKS5 proxy support
- Change `tor_socks` boolean to `socks_port` and `socks_wrapper` parameters
- Move Tor functionality to clan_lib.network.tor submodule
- Add connection context managers to NetworkTechnologyBase
- Improve network abstraction with proper remote() and connection() methods
- Update all callers to use new SOCKS5 proxy interface
- Fix network ping command to properly handle connection contexts
This allows for more flexible proxy configurations beyond just Tor,
while maintaining backward compatibility for Tor usage.
2025-07-24 22:26:44 +02:00
lassulus
7dd9e6b97c
clan-cli vars: show which var we are getting in debug log
2025-07-24 22:24:15 +02:00
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
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
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
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
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
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
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
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
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
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
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
Qubasa
cfba97eee5
clan-cli: Reference HostKeyCheck literal instead of duplicating the list everywhere
2025-07-16 13:12:48 +07:00
Qubasa
fb4ccd1f63
clan-lib: Remove duplicate fields from installOptions and instead use them from Remote
2025-07-16 13:05:05 +07:00
Qubasa
2c4e688b0a
clan-lib: Change BuildOn enum to Literal type. Literals can be translated better to typescript
2025-07-16 12:48:04 +07:00
Kenji Berthold
79922e57b2
Merge pull request 'pkgs/cli: Validate clan directory for update-hardware-config' ( #4367 ) from kenji/ke-hardware-update-validation into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4367
2025-07-15 18:07:12 +00:00
hsjobeki
341f444fa0
revert bd3861c580
...
revert Merge pull request 'Remove clanModules/*' (#4202 ) from remove-modules into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4202
See: https://git.clan.lol/clan/clan-core/issues/4365
Not all modules are migrated.
If they are not migrated, we need to write migration docs and please display the link to the migration docs
2025-07-15 17:51:36 +00:00
a-kenji
a76bea3537
pkgs/cli: Validate clan directory for update-hardware-config
2025-07-15 19:11:07 +02:00
kenji
d84822ae39
Merge pull request 'pkgs/clan(templates): Add shell completions' ( #4327 ) from kenji/ke-disko-shell into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4327
2025-07-15 12:58:59 +00:00
a-kenji
c40fca6261
pkgs/clan(templates): Add shell completions
2025-07-15 14:46:04 +02:00
kenji
c2229b4da3
Merge pull request 'pkgs/cli: Add facts deprecation warning to clan facts help output' ( #4329 ) from kenji/ke-facts-cli-warning into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4329
2025-07-15 12:43:19 +00:00
a-kenji
936290b01d
pkgs/cli: Add facts deprecation warning to clan facts help output
2025-07-15 14:28:36 +02:00
pinpox
bd3861c580
Merge pull request 'Remove clanModules/*' ( #4202 ) from remove-modules into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4202
2025-07-15 12:25:15 +00:00
a-kenji
8178c41c7b
pkgs/clan: Add clan validation to vars
...
Add clan validation to vars and facts subcommmands
2025-07-15 14:01:41 +02:00
a-kenji
6347bb7f3a
pkgs/clan: Further unify clan flake validation
...
Further unify clan flake validation and improve test coverage.
2025-07-15 13:03:49 +02:00
a-kenji
2ddba36b17
pkgs/clan: Add flake validation to clan show
2025-07-15 12:04:23 +02:00
pinpox
0e53499f40
Remove clanModules
2025-07-15 11:53:32 +02:00
Qubasa
e8b5e2c2c5
clan-cli: Fixup clan install which depends on ssh_parseargs.
...
clan-cli: Remove --ssh-option for now, as it can't work in current state
clan-cli: Remove nix_config from test as its impure
2025-07-14 20:47:49 +07:00
Qubasa
9630b6dbe4
clan-cli: Make 'clan ssh' read out the targetHost to connect to
2025-07-14 19:35:48 +07:00
hsjobeki
e8ecd22bab
Merge pull request 'clan_cli: move __init__.py into cli.py' ( #4323 ) from cli into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4323
2025-07-13 16:14:21 +00:00
Johannes Kirschbauer
b0ef0cf341
clan_cli: add empty __init__.py for relative imports
2025-07-13 18:03:56 +02:00
Johannes Kirschbauer
3e82e63443
clan_cli: rename references
2025-07-13 15:53:10 +02:00
Johannes Kirschbauer
f3dab3f9bb
clan_cli: move __init__.py into cli.py
...
This helps to reduce import cycles in python
If ANY python module from clan_cli is imported all the imports of the __init__.py are executed leading to a lot of cycles
2025-07-13 15:52:29 +02:00
Johannes Kirschbauer
6d2f522cbb
lib/modules: list modules consistent argument
2025-07-13 13:57:02 +02:00
Johannes Kirschbauer
079f5d1033
lib/modules: rename 'list_modules' to 'list_service_modules'
2025-07-13 13:57:02 +02:00
Johannes Kirschbauer
ceb0221daf
lib/disks: move from api to templates
2025-07-13 13:57:02 +02:00
Johannes Kirschbauer
943dde4bbf
lib/modules: move from api to services module
2025-07-13 13:57:02 +02:00