hsjobeki
11d88e51ab
Merge pull request 'treewide(clanLib): rename all occurences of {clan-core,self}.lib to 'clanLib'' ( #3263 ) from hsjobeki/clan-core:lib-cleanup into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3263
2025-04-09 15:10:42 +00:00
Jörg Thalheim
62dfb23e41
Revert "Merge pull request 'chore(buildClan): move machineClass option into inventory.machines submodule' ( #3259 ) from hsjobeki/clan-core:buildclan-cleanup into main"
...
This reverts commit 11ba13df67 , reversing
changes made to 04f9aa3ae0 .
2025-04-09 16:08:39 +02:00
Mic92
b66317af04
Merge pull request 'feat(clan-cli): support multiple keys for a user' ( #3230 ) from feat/vars-multiple-user-secrets into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3230
2025-04-09 13:05:24 +00:00
Johannes Kirschbauer
81211af474
fix(python/inventory): add machineClass field
2025-04-09 12:50:43 +00:00
Brian McGee
ed5fc20069
feat(clan-cli): support multiple keys for a user
2025-04-09 09:58:58 +00:00
Mic92
7e5505bd71
Merge pull request 'installation: speed up by installing to localhost' ( #3255 ) from flakiness into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3255
2025-04-09 09:58:43 +00:00
Jörg Thalheim
2942bae31b
don't expose all clan-depenencies as their own check attributes
...
this is expensive in CI to display.
2025-04-09 09:52:56 +00:00
Jörg Thalheim
20f00c938f
hardware: only include sshpass if we are actually using it.
2025-04-09 09:52:56 +00:00
Johannes Kirschbauer
a6a79e83a0
treewide(clanLib): rename all occurences of {clan-core,self}.lib to 'clanLib'
2025-04-09 11:32:46 +02:00
DavHau
476dcb4140
sops: prioritize SOPS_AGE_KEY_FILE over local key
...
... instead of loading both keys and raise an error
This is important for testing when one wants to override SOPS_AGE_KEY_FILE
New prio: `SOPS_AGE_KEY` > `SOPS_AGE_KEY_FILE` > `~/.config/sops/age/keys.txt`
2025-04-09 08:45:34 +00:00
DavHau
77ab4f7208
vars: add feature --no-sandbox
...
Raise warning if sandbox cannot be used -> request user to run with --no-sandbox
2025-04-09 15:02:20 +07:00
hsjobeki
2ad4cf8758
Merge pull request 'pkgs/cli: Move the test folder inside the python module' ( #2973 ) from kenji/clan-core:split-testing-up into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/2973
2025-04-08 20:06:59 +00:00
Johannes Kirschbauer
ac5effe435
fix(clan_app/test): fixup after rebase
2025-04-08 21:38:55 +02:00
Sam Lehman
e0a6ed3d49
devshells: name shells for clarity
2025-04-08 19:31:30 +00:00
Johannes Kirschbauer
cb001ec72b
fix(clan_cli/tests): fix some imports after rebase
2025-04-08 20:26:38 +02:00
Johannes Kirschbauer
e9846d6cb9
Tests: reconfigure pytest test folder after moving it into clan_cli
2025-04-08 20:13:13 +02:00
Johannes Kirschbauer
5273304915
Tests: exclude test folder itself from autmatic dataclass checks
2025-04-08 20:12:03 +02:00
a-kenji
309c132b63
pkgs/cli: Move the test folder inside the python module
...
Move the `tests` folder to `clan_cli/tests`.
As we now want part of our tests to live next to the functions that are
tested - tests that are not in the `/tests` module also need access to
the configured test fixtures that are exposed by the `pytest_plugins`
declaration.
The following folder structure doesn't support this model:
```
├── clan_cli
│ ├── api
│ │ └── api_init_test.py
├── tests/
│ ├── conftest.py
│ └── ...
```
Here `api_init_test.py` even when importing the test functions will not
have the fixtures configured.
There is a way to configure python to import the fixtures from another
[`project/module`](https://docs.pytest.org/en/stable/how-to/fixtures.html#using-fixtures-from-other-projects ), but this seems to *generally* be discouraged.
So moving the `conftest.py` to the toplevel and the `/tests` folder into
the toplevel seems to be a sensible choice choice.
2025-04-08 20:12:01 +02:00
Jörg Thalheim
57203c3d15
sops: fix compatibility with new format
...
The new format can have null values now.
2025-04-08 17:44:23 +02:00
Jörg Thalheim
76c7858d3f
user-password: migrate to vars
2025-04-08 10:16:59 +02:00
Michael Hoang
72ed0e258a
cli: don't update macOS machines
2025-04-08 08:53:29 +02:00
Michael Hoang
6de4735c81
build-clan: support constructing darwinConfigurations
2025-04-08 08:53:29 +02:00
DavHau
60133015f5
add CLAN_NO_COMMIT env var to disable committing
...
This is required when calling vars generators for generating vars for
tests
2025-04-07 18:59:19 +07:00
Jörg Thalheim
64346bacc8
only compute final_script and validation hashes once
2025-04-04 18:31:12 +02:00
Jörg Thalheim
0f4c897d41
ssh/upload: fix shell quoting
2025-04-04 15:10:09 +00:00
Michael Hoang
bbe12002d8
cli: managed by clan -> managed by Clan
2025-04-03 00:25:51 +09:00
Michael Hoang
2db14e0ffa
cli: machines update [MACHINE] -> machines update [MACHINES]
2025-04-03 00:25:51 +09:00
Qubasa
6f13b3a29c
clan-cli: Fix deployment as non root edgecase
2025-03-31 20:25:05 +02:00
Johannes Kirschbauer
f7d15215ea
feat(clanLib): expose clanInternals.clanLib
...
This is usefully for:
- As api via python
- for testing clanLib downstream
2025-03-30 17:07:11 +02:00
Jonathan Thiessen
eb35e6ea21
Make Generator's validation dynamic
...
* Switch `Generator`'s `validation` from a regular property to
an `@property` annotated method backed by `Machine`'s `eval_nix()`.
* Ensure that `Machine`'s flake cache is flushed after each
effectful generator execution (rather than only after all
generators have been executed).
2025-03-30 04:33:30 +00:00
Jonathan Thiessen
4a0e1b3b6b
Add dependent vars generator dynamic validation test
2025-03-30 04:33:30 +00:00
Jonathan Thiessen
1b8974d167
Fix cached None support in FlakeCacheEntry
...
Previously, you could cache None values; however,
insertion wasn't idempotent/identical reinsertion
would lead to errors due to missing None checks.
2025-03-30 04:33:30 +00:00
Jonathan Thiessen
5e2b5fe213
Add overlapping (consistent) flake cache insert test
...
* Additionally, update `insert`'s input type hint to support None values
(as they are already selectable and (one shot) insertable).
This is necessary to appease the linter wrt the added test.
2025-03-30 04:33:30 +00:00
Luis Hebendanz
f2b04e74f1
Merge pull request 'clan-cli: Fix deployment as non root with a buildHost set' ( #3132 ) from Qubasa/clan-core:fix_target_host_as_non_root into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3132
2025-03-29 16:56:49 +00:00
Johannes Kirschbauer
5fc62806b1
feat(classgen): convert only certain attributes
2025-03-29 14:22:34 +01:00
Johannes Kirschbauer
e0be2f3435
fix(cli/inventory): update classes
2025-03-29 13:25:19 +01:00
Qubasa
8e2005f38c
clan-cli: Fix deployment as non root with a buildHost set
2025-03-28 18:47:36 +01:00
Jörg Thalheim
de740cf686
tests: add fake_sudo to sshd fixture
...
This allows to use the same code for both testing and real-world.
2025-03-28 17:14:22 +00:00
Qubasa
064edf61ef
test_secrets_upload: Don't prepend sudo inside test; Improve secret upload test
2025-03-28 17:14:22 +00:00
Qubasa
d1a79653fe
checks/installation-without-system: modify to install through normal user instead of root
2025-03-26 18:37:31 +01:00
RTUnreal
351ce1414a
clan_cli: fix support for non-root deployment user
2025-03-26 18:37:31 +01:00
DavHau
e2ccd979ed
vars/prompts: print var name even if custom description is set
2025-03-26 10:48:05 +00:00
Jörg Thalheim
5c08e9a38d
add missing lock around "flake" "lock"
2025-03-25 18:30:18 +01:00
Jörg Thalheim
28dd54d866
make gnupg a dependency of sops
...
if anything uses a gnupg key, we need the gnupg binary.
Sucks a bit, but at least it makes it work everywhere.
2025-03-25 18:30:18 +01:00
Jörg Thalheim
5baf37f7e9
fix gpg key fixture on macOS
...
macOS has length limitations for unix sockets, which are violated by the
default length of temporary directories.
2025-03-25 18:30:18 +01:00
Jörg Thalheim
ff669e2957
move git_repo fixture to its own file for consistency
2025-03-25 18:30:11 +01:00
Jörg Thalheim
8d4c1839e7
use pre-generate gpg key for tests
...
this is a bit faster.
2025-03-25 18:30:11 +01:00
Jörg Thalheim
0765d981c6
enable python tests without core on macOS
2025-03-25 18:29:49 +01:00
Jörg Thalheim
10c27a0152
skip sshd-based tests on macOS for now
2025-03-25 18:29:49 +01:00
Mic92
82da5b6734
Merge pull request 'don't add nixpkgs to nix registry to not conflict with nixpkgs' ( #3096 ) from nixpkgs-conflict into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3096
2025-03-22 16:16:27 +00:00