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
lassulus
3965f7b59f
Merge pull request 'clan-cli: cleanup broken deployment cache' ( #3066 ) from fix_caching into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3066
2025-03-21 15:49:22 +00:00
Jörg Thalheim
6134eb0293
tests/sshd: add a 5 second timeout for sshd to start
2025-03-21 12:41:36 +01:00
Qubasa
047b767054
clan-cli: cleanup broken deployment cache
2025-03-20 00:17:36 -07:00
Michael Hoang
850627c5c6
checks: use pkgs.nixVersions.latest until pkgs.nix is 2.26+
2025-03-20 15:52:13 +09:00
Jörg Thalheim
c429b41d2e
pytests: use /tmp on macos to avoid unix socket issues
2025-03-19 18:35:38 +01:00
Jörg Thalheim
6899461d0d
disabe pytests on macOS for now
2025-03-19 17:33:27 +01:00
Jörg Thalheim
16b067d291
tests/fixtures_flakes: remove unused remote flag
2025-03-19 16:55:30 +01:00
Jörg Thalheim
93cbe62765
always resolve symlinks for TemporaryDirectory
...
On macOS mktemp returns a temporary directory in a symlink.
Nix has a bug where it won't accept path:// located in a symlink.
This avoid this issue by always resolving symlinks as returned by
TemporaryDirectory.
2025-03-19 16:47:18 +01:00
Jörg Thalheim
7fef29d7aa
make sshd test work on macOS
2025-03-19 15:55:20 +01:00
Louis Opter
0ee0351e3e
clan-cli: add DavHau's explanation about the with_core pytest marker
...
See: https://git.clan.lol/clan/clan-core/pulls/2994#issuecomment-22542
2025-03-19 10:53:38 +00:00
Louis Opter
c02f19205f
clan-cli: tests: call SopsSetup.init while setting up fixtures
...
We do this by introducing `flake_with_sops` fixture, that calls the
init method ahead of the test. We did not want to do this in the `flake`
fixture since not all tests using the `flake` fixture need to have sops
setup.
2025-03-19 10:53:38 +00:00
Louis Opter
dbcb8d6a4c
clan-cli: don't try to delete a dir that doesn't exist in the pass vars backend
...
Do not crash in `delete_store`, if the machine has no vars, or the store
has been deleted already.
2025-03-19 10:53:38 +00:00
Louis Opter
039b309255
clan-cli: do not crash if a machine being deleted is missing from the inventory
...
We implement that by actually raising `KeyError` in `inventory.delete_by_path`
(as advertised in the docstring), since it makes more sense to catch a
`KeyError` than a generic `ClanError`.
2025-03-19 10:53:38 +00:00
Louis Opter
538374558d
clan-cli: machines delete: delete the machine's vars and secrets
...
When a machine is deleted with `clan machines delete`, remove its
vars and legacy secrets, and update any secrets that reference the
machine's key.
This command is a superset of `clan secrets machine delete`, and I am
wondering if we could remove the `clan secrets machine` subcommand,
unless there is an use case for having a machine defined without its
key, and any secrets/vars?
Note:
- This deletes the `ListSecretsOptions` dataclass, as it did not seem to
bring any value, especially since `list_secrets` was receiving its
individual members instead of the whole dataclass. We can always bring
it back if complexity grows to demand it.
2025-03-19 10:53:38 +00:00
Louis Opter
ef5ad09b2d
clan-cli: add delete and delete_store to StoreBase
...
- `delete` lets you delete a specific var under a specific generator;
- `delete_store` deletes an entire store.
The `delete` method could be useful to "garbage-collect" unused vars as
a machine's configuration changes.
The `delete_store` method can be used to delete all the vars for a
machine when the machine is deleted. The current behavior is to leave
everything behind.
Important point:
- `delete_store` needs to be idempotent because public and
"private"/"secret" vars for a machine can share the same physical
store (directory), and deleting either type of store (public or
private) will delete both.
2025-03-19 10:53:38 +00:00
Louis Opter
9780463e6a
clan-cli: add an integration test for clan machines delete
...
This tests the changes made to that command to clean-up vars and secrets
when a machine is deleted.
2025-03-19 10:53:38 +00:00
Louis Opter
cac4b1200c
clan-cli: tests/age_keys.py add notes, move function to check sops recipients
...
This supports the new integration test for `clan machines delete`.
2025-03-19 10:53:38 +00:00
Jörg Thalheim
31a9c74e88
deduplicate CLAN_CORE/CLAN_CORE_PATH environment variables
2025-03-19 10:30:52 +00:00
Qubasa
dc8bfab65d
clan-cli: Fix templates not downloading template, Make templates use Flake cache, Fix flake cache exception on conditional attribute, add more tests
2025-03-19 10:30:52 +00:00
Jörg Thalheim
94415dfd0e
use pathlib.iterdir() everywhere
2025-03-18 15:34:06 +01:00
Jörg Thalheim
5ab2f206ea
cli: increase timeout for pytest
2025-03-18 14:04:43 +01:00
Jörg Thalheim
a14fe1aef8
try to reproduce CI error with newer nix version
2025-03-11 12:23:59 +00:00
Jörg Thalheim
b1401d6e6b
fix only the first generator of each machine beeing re-encrypted
2025-03-11 12:09:00 +01:00
Jörg Thalheim
f882c86fb0
don't log cache miss by default
...
This is expected and happens regular, so there is no value in logging
this.
2025-03-11 12:03:55 +01:00
Jörg Thalheim
98d566c46e
add test for parsing ssh options
2025-03-11 11:27:04 +01:00
DavHau
a2a395cdb0
clan-cli/tests: limit jobs to 16
...
This reduces overload on the CI, as it already runs multiple test instances in parallel (with-core, without-core, etc), and otherwise would spawn 96 workers for each of those.
2025-03-10 13:20:18 +00:00
Michael Hoang
e215a9db6e
install: let nixos-anywhere determine where to build automatically
...
This fixes installing machines that don't have `system` defined i.e.
when running `clan machines install` with `--update-hardware-config`.
2025-03-10 12:30:03 +09:00
DavHau
9797ef792a
vars+facts: use bwrap only if supported
2025-03-09 13:52:15 +07:00
Qubasa
468a25034e
clan-cli: Make Lix compatible again
2025-03-07 14:06:35 +01:00
Qubasa
212c899767
clan-cli: Revert generating facts in clan facts list, for consistency
2025-03-03 01:40:40 +01:00
Qubasa
2ec4e49650
clan-cli: Fix wrong clan vars generate regression added by a903a9028b
2025-03-02 19:53:17 +01:00
Qubasa
ba28691747
clan-cli: Fix get_all_facts forgetting to generate facts before getting them
2025-03-02 15:07:57 +01:00
Michael Hoang
39761946a0
vars/sops: fix clan vars fix missing machine name in error message
2025-03-02 08:22:23 +07:00
Qubasa
0da1a05b55
clan-cli: Remove can_build_locally and replace with nixos-anywhere --build-on auto
2025-03-01 17:52:41 +01:00
Qubasa
6099aeb0c6
clan-cli: Make host upload function support uploading single files too
2025-03-01 17:10:42 +01:00
lassulus
bcd6c7108a
clan-cli: try to fix CI bug again
2025-02-28 04:58:42 +00:00
lassulus
d20f13abe7
clan-cli: set ssh port for nix copy
2025-02-28 04:58:42 +00:00
lassulus
60b22fdf0e
clan-cli: another try to fix the CI bug
2025-02-27 08:24:28 +01:00
lassulus
cb13e7fab8
clan-cli: check if paths exist in cache check
2025-02-27 02:53:41 +01:00