lassulus
1df5dfe6d3
clan-cli: clan_cli.cmd -> clan_lib.cmd
2025-05-19 19:07:24 +02:00
lassulus
b10682c7f7
clan-cli: move clan_cli.nix to clan_lib.nix
2025-05-19 18:40:36 +02:00
lassulus
96feb5bd26
clan_lib: move test_flake_caching into clan_lib flake folder
2025-05-18 21:35:56 +02:00
lassulus
fb746b874c
clan_lib: move clan_lib.flake.flake to clan_lib.flake
2025-05-16 19:28:36 +02:00
Johannes Kirschbauer
0b404b9637
Fix: typing cast dataclass_type into type explizitly
2025-05-16 18:11:46 +02:00
Johannes Kirschbauer
f210b2f9a6
refactor: move clan_cli.error to clan_lib.error
2025-05-16 16:14:39 +02:00
lassulus
3dc41f7d5f
clan_cli: move flake class to clan_lib
2025-05-16 13:38:47 +02:00
Johannes Kirschbauer
c43d8fa958
Refactor: replace direct references to inventory
...
Deprecated. Inventory should be accessed via InventoryStore {read(),write(),...}
2025-05-16 11:30:41 +02:00
Qubasa
d765f1078b
clan-cli: Unify list_machines and use flake caching
2025-05-16 10:47:49 +02:00
Mic92
f91e0a99d2
Merge pull request 'Add multiline-hidden-prompt' ( #3632 ) from multiline-hidden-prompt into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3632
Reviewed-by: hsjobeki <hsjobeki@gmail.com >
Reviewed-by: lopter <louis@opter.org >
2025-05-15 08:10:34 +00:00
Jörg Thalheim
1ff5d64a78
do not instantiate vars_generators several times
...
We should really not have any property that has side effects i.e.
spawning processes.
2025-05-14 19:53:36 +02:00
Johannes Kirschbauer
5e7b34a4c7
refactor(clan/lib): move tests for persist.util into clan_lib
2025-05-14 13:35:27 +02:00
Johannes Kirschbauer
7e92308b70
refactor(lib/inventory): use util functions from clan_lib
2025-05-14 12:15:37 +02:00
Johannes Kirschbauer
c77a3b11a8
Refactor(clan_lib): move nix bound classes out of the cli folder
2025-05-13 18:39:36 +02:00
Jörg Thalheim
5ac4cc8586
tests_secrets_cli: improve assertion message for pgp key
2025-05-13 16:10:54 +02:00
Jörg Thalheim
78cea7f7c9
test_ssh_remote: skip whole module at once on macOS
2025-05-13 15:18:21 +02:00
Qubasa
2682581c09
clan-cli: Use machine object everywhere instead of name + flake
2025-05-09 13:13:14 +02:00
Qubasa
7459566c2b
clan-cli: remove useless run_no_stdout function
2025-05-08 12:30:16 +02:00
Qubasa
153da50d6f
clan-cli: Refactor the API to use the Flake object
2025-05-07 16:43:50 +00:00
hsjobeki
dd3bb314fd
Merge pull request 'Feat(modules): display clan.service modules' ( #3537 ) from hsjobeki/clan-core:module-list into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3537
2025-05-07 15:33:49 +00:00
Johannes Kirschbauer
afdb08643d
fix(tests/modules): list_modules returns moduleSets"
2025-05-07 16:46:13 +02:00
Jörg Thalheim
444fc3f820
Revert "Merge pull request 'clan-cli: Refactor the API to use the Flake object' ( #3531 ) from Qubasa/clan-core:replace_machine_name_with_machine_obj into main"
...
This reverts commit 572ce8885f , reversing
changes made to 0bee027251 .
2025-05-07 15:24:57 +02:00
Mic92
572ce8885f
Merge pull request 'clan-cli: Refactor the API to use the Flake object' ( #3531 ) from Qubasa/clan-core:replace_machine_name_with_machine_obj into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3531
2025-05-07 13:21:13 +00:00
Qubasa
7129c38675
clan-cli: Refactor the API to use the Flake object
2025-05-07 13:12:48 +02:00
DavHau
caacf65dc0
GUI: initialize support for vars prompts
...
... for now only when updating a machine (not when installing)
Whenever the user clicks on the update button in the machine view, and only if user input is needed for some missing vars, the user will be forwarded to a vars page.
2025-05-07 18:06:35 +07:00
Qubasa
548fdfb877
clan-cli: add test_create in clan_lib test folder
2025-05-05 22:16:02 +02:00
Jörg Thalheim
6539a6a24f
Revert "Merge pull request 'Fix deploying with sudo + password' ( #3470 ) from target-host into main"
...
This reverts commit 8a849eb90f , reversing
changes made to 3b5c22ebcf .
2025-05-04 13:37:39 +02:00
Jörg Thalheim
15f691d5aa
tests_secrets_cli: improve assertion message for pgp key
2025-05-04 10:51:49 +02:00
Jörg Thalheim
f4d34b1326
fix upload when sudo prompts are needed
2025-05-04 10:51:49 +02:00
Jörg Thalheim
c430ff6253
configure ControlMaster and ControlPath for SSH connections
...
This should speed up deployments by not having to reconnect to the server on each command
2025-05-04 09:48:37 +02:00
Jörg Thalheim
b79446f97e
facts/sops: no longer upload age key
...
The vars backend already does this for us.
This avoids duplicated work.
2025-05-04 09:29:29 +02:00
Mic92
20ab5a67c1
Merge pull request 'clanCore/vars/sops: only copy required secrets to store' ( #3457 ) from vdbe/clan-core:clanCore/vars/sops/only-copy-used into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3457
2025-05-04 06:41:37 +00:00
vdbe
b08a2bdb75
clanCore/vars/sops: only copy required secrets to store
...
Create a store path per in repo secret/var to be copied, this prevents
unused secrets from being leaked.
For example the `root-password` generator contains both the hashed and
unhashed password but only the hash is used.
2025-05-04 08:08:58 +02:00
DavHau
9186961ccb
GUI/vars: add endpoints for getting prompts and generating vars
2025-05-03 14:44:51 +07:00
Brian McGee
a438fe77a7
feat: configure age plugins for SOPS in buildClan
2025-04-29 16:02:32 +10:00
Brian McGee
d3e1c0b4e4
fix: multiple user keys in secrets
...
We were not loading all the user keys, only the first one.
2025-04-29 15:47:54 +10:00
Brian McGee
1694a977f1
feat: support age plugins
...
Extends how we parse the contents of `SOPS_AGE_KEY` / `SOPS_AGE_KEY_FILE` / `keys.txt`, allowing a user to prepend a comment before any `AGE-PLUGIN-` secret key entry to indicate its corresponding public key.
For example:
```
AGE-PLUGIN-FIDO2-HMAC-xxxxxxxxxxxxx
```
The comment can use any prefix (e.g. `# public key: age1xxxx`, `# recipient: age1xxx`) as we are looking directly for `age1xxxx` within the line.
This change is necessary to support `age` plugins as there is no unified mechanism to recover the public key from a plugin's secret key.
If a plugin secret key does not have a preceding public key comment, an error will be thrown when attempting to set a secret.
2025-04-29 15:47:54 +10:00
Johannes Kirschbauer
acbe619883
Refactor(clan_lib): move clan_cli.api into clan_lib.api
2025-04-26 19:51:35 +02:00
Luis Hebendanz
7b6483bfad
Merge pull request 'clan-cli: Expose private_key to Machine class, in the future we should merge Machine and Host class' ( #3407 ) from Qubasa/clan-core:vpb-patches2 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3407
2025-04-25 12:26:00 +00:00
Qubasa
9d45376f95
clan-cli: Expose private_key to Machine class, in the future we should merge Machine and Host class
2025-04-25 13:38:03 +02: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
Johannes Kirschbauer
7076f1b0e6
Chore(clan/clan_uri): Remove ClanURI class from clan_cli
2025-04-23 16:53:11 +02: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
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
847e3ac4ab
drop unused machine_get_fact
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
Michael Hoang
91a2739ea3
cli: fix unnecessary sudo when unspecified user defaults to root
2025-04-22 23:39:46 +10:00
Jörg Thalheim
80e739bd1b
Reapply "remove nix_shell_legacy"
...
This reverts commit 1232fb5af2 .
2025-04-21 13:23:50 +02:00