Commit Graph

6331 Commits

Author SHA1 Message Date
Johannes Kirschbauer
0ced167912 fix(clan_app/test): fixup after rebase 2025-04-08 21:38:55 +02:00
Johannes Kirschbauer
485b6ae5c4 docs(authoring): restructure authoring guides
Mainly because we have two module specs now and they will remain
valid for a while. We need to keep the older format documented for a while
2025-04-08 21:32:19 +02:00
Sam Lehman
4fe822b340 devshells: name shells for clarity 2025-04-08 19:31:30 +00:00
Mic92
0003f0f327 Merge pull request 'installation: use ip addresses to decrease flakiness' (#3247) from flakiness into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3247
2025-04-08 19:31:12 +00:00
Jörg Thalheim
1ba872f75f installation: use ip addresses to decrease flakiness 2025-04-08 21:19:47 +02:00
Mic92
ce4b49e0b0 Merge pull request 'flash: test existing mount with spaces' (#3243) from fix-mounting into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3243
2025-04-08 18:55:05 +00:00
Jörg Thalheim
d45deff922 replace original installation test with installation-without-system 2025-04-08 20:41:31 +02:00
Johannes Kirschbauer
8c970dc04a chore(inventory/instances): don't eagerly test the service modules _class 2025-04-08 20:30:35 +02:00
Johannes Kirschbauer
dd62b6c97a chore(inventory/services): dont check _class of legacy clanModules.
Let the module system handle the error. Once we shift to deferred
modules, things get more complicated and we cannot check the module
class eagerly
2025-04-08 20:30:33 +02:00
Johannes Kirschbauer
e9ce7376f2 fix(clan_cli/tests): fix some imports after rebase 2025-04-08 20:26:38 +02:00
Jörg Thalheim
a4781e218c flash: test existing mount with spaces 2025-04-08 20:16:23 +02:00
Jörg Thalheim
8b7b0eaf43 bump disko to fix quoting issue 2025-04-08 20:16:22 +02:00
Johannes Kirschbauer
69c717ae1f Tests: reconfigure pytest test folder after moving it into clan_cli 2025-04-08 20:13:13 +02:00
Johannes Kirschbauer
4da6cf594d Tests: exclude test folder itself from autmatic dataclass checks 2025-04-08 20:12:03 +02:00
a-kenji
fae630842d 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
hsjobeki
6c71cdc8cd Merge pull request 'doc(inventory): document experimental settingsExtend' (#3207) from hsjobeki/clan-core:lib-cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3207
2025-04-08 18:10:04 +00:00
brianmcgee
4a533b7daf Merge pull request 'chore: remove data-mesher from devshell' (#3239) from remove-data-mesher-from-devshell into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3239
2025-04-08 18:05:51 +00:00
Johannes Kirschbauer
be8b86153c fix(getModulesSchema): forward argument to evalClanModules 2025-04-08 19:53:20 +02:00
Brian McGee
b6d8888d8c chore: remove data-mesher from devshell 2025-04-08 19:51:11 +02:00
Michael Hoang
37cc831695 Merge pull request 'flake-parts: ensure flake.darwinConfigurations is mergeable' (#3244) from push-zurymrrrxwur into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3244
2025-04-08 17:20:16 +00:00
renovate[bot]
91ece9ef21 chore(deps): lock file maintenance 2025-04-08 17:10:45 +00:00
Michael Hoang
69141d02d9 flake-parts: remove unnecessary mkSubmoduleOptions
This is no longer necessary as of https://github.com/NixOS/nixpkgs/pull/156533.
2025-04-08 19:03:29 +02:00
Michael Hoang
99589c1141 flake-parts: ensure flake.darwinConfigurations is mergeable
We didn't run into issues previously for `nixosConfigurations` because
there is already a [flake-parts module] that creates the option inside
`flake`.

[flake-parts module]: https://github.com/hercules-ci/flake-parts/blob/main/modules/nixosConfigurations.nix
2025-04-08 19:03:29 +02:00
renovate[bot]
c7029b408b fix(deps): update tanstack-query monorepo to v5.72.1 2025-04-08 16:50:21 +00:00
renovate[bot]
f2aad30c17 chore(deps): update nixpkgs digest to b0b4b5f 2025-04-08 16:10:09 +00:00
Mic92
012154e257 Merge pull request 'sops: fix compatibility with new format' (#3242) from directory-context into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3242
2025-04-08 16:05:43 +00:00
Jörg Thalheim
381c4d292c bump disko to fix quoting issue 2025-04-08 17:45:48 +02:00
Jörg Thalheim
be37194b9a sops: fix compatibility with new format
The new format can have null values now.
2025-04-08 17:44:23 +02:00
DavHau
ba69a8a860 inventory tests: generate vars for dummy test 2025-04-08 21:06:23 +07:00
DavHau
7abaee1398 data-mesher: generate vars for test vis update-vars.py 2025-04-08 20:54:11 +07:00
DavHau
607a7fedd4 data-mesher: use inventory test framework for vars 2025-04-08 20:54:11 +07:00
DavHau
26e97c066c inventory tests: add vars support
- Add support for leading vars
- Extend test to test for vars support
- Improve update-vars.py to take test name as argument
2025-04-08 20:54:11 +07:00
Johannes Kirschbauer
e6312601a5 docs(inventory): improve extendSettings docs 2025-04-08 15:46:13 +02:00
Johannes Kirschbauer
29fbf361a7 chore(lib/modulesDocs): move dependency on clan-core and pkgs into function args
This is a good idea, to make lib agnostic from clan-core
The next step could be to rename the clan-core argument name
Or to explizitly pass the actual dependencies, instead of everything in
clan-core
2025-04-08 15:30:49 +02:00
Johannes Kirschbauer
d472f0a174 doc(inventory): document experimental settings vendoring 2025-04-08 15:24:12 +02:00
renovate[bot]
ffac38e299 chore(deps): update sops-nix digest to 69d5a5a 2025-04-08 12:50:12 +00:00
hsjobeki
6df1b4a085 Merge pull request 'feat(inventory/instances): add extendSettings as argument to perInstance, perMachine' (#3233) from hsjobeki/clan-core:role-settings into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3233
2025-04-08 12:46:44 +00:00
Johannes Kirschbauer
375b18fd32 feat(inventory/instances): dont set module location to allow underlying error location to bubble up 2025-04-08 14:36:29 +02:00
renovate[bot]
6f922bace7 chore(deps): update data-mesher digest to 302252a 2025-04-08 12:10:12 +00:00
Mic92
413d932238 Merge pull request 'directory-context' (#3234) from directory-context into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3234
2025-04-08 12:09:36 +00:00
Jörg Thalheim
681d28430b inventory: don't loose string context of directory 2025-04-08 13:50:27 +02:00
Johannes Kirschbauer
5db084e011 feat(inventory/instances): add extendSettings as argument to perInstance, perMachine 2025-04-08 13:15:06 +02:00
Mic92
faf1af94a3 Merge pull request 'user-password: fix variables beeing incorrect' (#3229) from user-password into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3229
2025-04-08 10:16:15 +00:00
Mic92
0837009d2c Merge pull request 'docs-errata' (#3161) from docs-errata into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3161
2025-04-08 10:00:53 +00:00
Brian McGee
d1f640b145 fix(docs): add the requirement to export clan.templates in flake outputs to migration guide 2025-04-08 10:44:36 +01:00
Brian McGee
b31cf42d2d fix(docs): tighten up validation for meta.name and improved description 2025-04-08 10:44:35 +01:00
Brian McGee
8f290c08b7 fix(docs): correct flake sample in migration guide
diff --git a/docs/site/manual/migration-guide.md b/docs/site/manual/migration-guide.md
index 551a3ef0..38be9a0e 100644
--- a/docs/site/manual/migration-guide.md
+++ b/docs/site/manual/migration-guide.md
@@ -77,13 +77,18 @@ For the provide flake example, your flake should now look like this:
 ```nix
 {
   inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
+
+  inputs.clan-core = {
+    url = "git+https://git.clan.lol/clan/clan-core";
+    inputs.nixpkgs.follows = "nixpkgs";
+  };

-  outputs = { self, nixpkgs, ... }:
+  outputs = { self, nixpkgs, clan-core, ... }:
   let
     clan = clan-core.lib.buildClan {
         self = self; # this needs to point at the repository root
         specialArgs = {};
-        inventory.meta.name = "NEEDS_TO_BE_UNIQUE"; # TODO: Changeme
+        meta.name = throw "Change me to something unique";

         machines = {
             berlin = {
2025-04-08 10:44:33 +01:00
Jörg Thalheim
6ba2d7fc02 user-password: fix variables beeing incorrect 2025-04-08 09:37:05 +00:00
Jörg Thalheim
b1ddf86115 user-password: fix variables beeing incorrect 2025-04-08 11:36:43 +02:00
Mic92
84a3f709e0 Merge pull request 'user-password: migrate to vars' (#3227) from user-password into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3227
2025-04-08 08:44:32 +00:00