Commit Graph

6066 Commits

Author SHA1 Message Date
lassulus
b925d1c608 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
renovate[bot]
8c5a550a74 chore(deps): update nixpkgs digest to 7344a3b 2025-03-21 12:30:23 +00:00
Jörg Thalheim
60302dd1d2 tests/sshd: add a 5 second timeout for sshd to start 2025-03-21 12:41:36 +01:00
renovate[bot]
f4cd130087 chore(deps): update dependency @types/node to v22.13.11 2025-03-21 09:20:13 +00:00
renovate[bot]
14e7bfd810 chore(deps): update nixpkgs digest to 2a725d4 2025-03-20 21:20:28 +00:00
renovate[bot]
b302168819 chore(deps): update nixpkgs digest to 44e422b 2025-03-20 20:20:27 +00:00
Michael Hoang
94f7d5b573 Merge pull request 'networking: add a default value for targetHost' (#3080) from push-rlvulrtxqkyq into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3080
2025-03-20 14:10:19 +00:00
Michael Hoang
753b341f8c networking: add a default value for targetHost 2025-03-20 22:45:19 +09:00
Michael Hoang
91dbf20cd5 Merge pull request 'sshd: trust own ed25519 host key as a known host' (#3077) from push-opymuwrqqqvv into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3077
2025-03-20 13:44:25 +00:00
Michael Hoang
effcbaaa0f sshd: trust own ed25519 host key as a known host 2025-03-20 18:40:32 +09:00
Qubasa
dfd550f9be clan-cli: cleanup broken deployment cache 2025-03-20 00:17:36 -07:00
Michael Hoang
6ffbb43cb2 Merge pull request 'checks: use pkgs.nixVersions.latest until pkgs.nix is 2.26+' (#3076) from push-vswxxyynxtmz into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3076
2025-03-20 07:01:57 +00:00
Michael Hoang
62d9a325a2 checks: use pkgs.nixVersions.latest until pkgs.nix is 2.26+ 2025-03-20 15:52:13 +09:00
renovate[bot]
d5e4d96fee chore(deps): update typescript-eslint monorepo to v8.27.0 2025-03-20 01:20:15 +00:00
renovate[bot]
ba92ef9f7e chore(deps): update sops-nix digest to 1770be8 2025-03-19 18:10:10 +00:00
Mic92
4f8b1904eb Merge pull request 'pytests: use /tmp on macos to avoid unix socket issues' (#3073) from nixpkgs-update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3073
2025-03-19 17:45:15 +00:00
Jörg Thalheim
c5e30a40b4 pytests: use /tmp on macos to avoid unix socket issues 2025-03-19 18:35:38 +01:00
Mic92
bbee634b87 Merge pull request 'Decisions/clanModules: Add example borgbackup as real world example' (#3070) from hsjobeki/clan-core:decisions-01 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3070
2025-03-19 16:39:59 +00:00
Johannes Kirschbauer
ecb2047625 Decisions/clanModules: Add example borgbackup as real world example 2025-03-19 16:39:52 +00:00
Mic92
4d504eb132 Merge pull request 'Silence mypy error after nixpkgs update' (#3072) from nixpkgs-update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3072
2025-03-19 16:39:32 +00:00
Jörg Thalheim
ddb5bba48a disabe pytests on macOS for now 2025-03-19 17:33:27 +01:00
Jörg Thalheim
9a00459861 tests/fixtures_flakes: remove unused remote flag 2025-03-19 16:55:30 +01:00
Jörg Thalheim
43035b85a5 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
490e54b278 make sshd test work on macOS 2025-03-19 15:55:20 +01:00
Jörg Thalheim
573c39e395 vm-manager: ignore interface between GObject and ListModel 2025-03-19 15:29:03 +01:00
Jörg Thalheim
79635efaa5 clan-vm-manager: support basic devshell on macOS 2025-03-19 15:29:03 +01:00
renovate[bot]
9c92a81411 chore(deps): update nixpkgs digest to 3549532 2025-03-19 13:40:12 +00:00
Luis Hebendanz
10b27215f3 Merge pull request 'clan-cli: machines delete: delete the machine's vars and secrets' (#2994) from lopter/clan-core:lo-machines-delete into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/2994
2025-03-19 12:25:48 +00:00
Louis Opter
daeeb2ee43 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
546ed03a90 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
b52ec05497 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
4120a89115 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
cd248b69db 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
f7bec766bc 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
77b53a366e 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
37869839cf 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
Mic92
1990a82cd9 Merge pull request 'Fix clan machines create' (#3040) from Qubasa/clan-core:main into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3040
2025-03-19 10:53:17 +00:00
Jörg Thalheim
b84230ff90 deduplicate CLAN_CORE/CLAN_CORE_PATH environment variables 2025-03-19 10:30:52 +00:00
Qubasa
63a0e5f35d 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
DavHau
bc48a7a57c docs: add guide for testing 2025-03-19 09:43:05 +00:00
renovate[bot]
cc28e5a48c chore(deps): update treefmt-nix digest to adc195e 2025-03-19 08:10:09 +00:00
Michael Hoang
f49a9513ee Merge pull request 'checks: ensure updating hardware config doesn't require system' (#3067) from fix/update-hardware-config-without-system into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3067
2025-03-19 06:53:50 +00:00
Michael Hoang
75aecf66db checks: ensure updating hardware config doesn't require system 2025-03-19 15:28:52 +09:00
renovate[bot]
774223aabb chore(deps): lock file maintenance 2025-03-18 23:10:46 +00:00
renovate[bot]
3ec923bcab chore(deps): update nixpkgs digest to 9bc8a90 2025-03-18 15:50:09 +00:00
renovate[bot]
51a25024bc chore(deps): update treefmt-nix digest to b3b938a 2025-03-18 15:00:13 +00:00
Mic92
a23505a786 Merge pull request 'nixpkgs-update' (#3061) from nixpkgs-update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3061
2025-03-18 14:42:16 +00:00
Jörg Thalheim
527154070c use pathlib.iterdir() everywhere 2025-03-18 15:34:06 +01:00
renovate[bot]
89b6a84388 chore(deps): update nixpkgs digest to 0964789 2025-03-18 14:20:23 +00:00
renovate[bot]
badfe2d309 chore(deps): update disko digest to 0d8c6ad 2025-03-18 14:08:30 +00:00