Commit Graph

8748 Commits

Author SHA1 Message Date
Jörg Thalheim
0908a2efb8 don't resolve absolute paths for flake uri
pathlib.Path("git+file:///foo").resolve() might resolve to urls like
PosixPath('/home/joerg/work/clan/clan-core/git+file:/foo'). If those
then actually exist, this can have weird behavior. We should in general
avoid changing directories for everything except for subprocess.run.
2025-07-30 09:54:50 +02:00
Jörg Thalheim
6c84b2e100 container-test-driver: also setup network if we start a single container 2025-07-30 09:54:50 +02:00
Jörg Thalheim
de65619442 update: explain why we use sudo rather than --use-remote-sudo 2025-07-30 09:54:50 +02:00
DavHau
85dda9e125 machines update: refactor - simplify
This is an attempt to reduce cognitive load when trying to understand the host related logic in run_machine_update.

The change should not affect behavior.

Done:
- make it very clear early on, that build_host == target_host if build_host is not set.
- rename some variables to make relations more clear
- remove `deploy_host` variable. unnecessary complexity
- remove `become_root` variable. After simplifying via boolean algebra, this boils down to `build_host == target_host`.
2025-07-30 09:54:50 +02:00
hsjobeki
7961a92d32 Merge pull request 'ui/toolbar: fix overly specifify css selectors' (#4525) from toolbar into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4525
2025-07-30 06:48:52 +00:00
hsjobeki
50ba21316e Merge pull request 'ui/sidebar: fix close animation' (#4524) from sidebar-fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4524
2025-07-29 17:14:33 +00:00
Johannes Kirschbauer
08342578f1 ui/toolbar: fix story types 2025-07-29 19:12:27 +02:00
Johannes Kirschbauer
9954653657 ui/toolbar: use css modules 2025-07-29 19:10:42 +02:00
Johannes Kirschbauer
6e71b541aa ui/toolbar: fix overly specifify css selectors 2025-07-29 18:50:34 +02:00
Johannes Kirschbauer
0f72f12461 ui/sidebar: fix close animation
Animation needs static layout as a starting point
2025-07-29 18:03:00 +02:00
Kenji Berthold
db579e169c Merge pull request 'pkgs/clan/lib: Fix directory functionality' (#4519) from kenji/ke-fix-directory-usage into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4519
2025-07-29 16:01:35 +00:00
a-kenji
31438d6781 pkgs/clan/lib: Fix directory functionality
Fix the directory functionality of clan (clan.directory).
The python API interface was not able to distinguish if the directory
was set to anything other than `self.src`.
Breaking every command that relied on the clan directory, for example:
- `clan machines update`
- `clan machines update-hardware-config`
See more in #2906

This is the first step in fixing all those commands.
Individual command support and implementation will be implemented in
follow ups.
2025-07-29 17:51:12 +02:00
Kenji Berthold
eac21c5176 Merge pull request 'pkgs/clan/lib: Fix documentation of from_ssh_uri in the Remote class' (#4523) from kenji/ke-fix-remote-documentation into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4523
2025-07-29 15:47:47 +00:00
Kenji Berthold
2bd432bdb7 Merge pull request 'pkgs/clan/cli: Fix typo in machines update' (#4522) from kenji/ke-machines-update-fix-typo into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4522
2025-07-29 15:46:18 +00:00
a-kenji
7ef09343ed pkgs/clan/lib: Fix documentation of from_ssh_uri in the Remote class 2025-07-29 17:37:50 +02:00
a-kenji
8c2cee0e44 pkgs/clan/cli: Fix typo in machines update 2025-07-29 17:32:45 +02:00
hsjobeki
b421698f70 Merge pull request 'templates: fix urls for relative file paths' (#4520) from fix-template-urls into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4520
2025-07-29 15:19:20 +00:00
hsjobeki
857b9d0260 Merge pull request 'docs/templates: add more docs for template urls' (#4521) from docs-templates into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4521
2025-07-29 15:11:15 +00:00
Johannes Kirschbauer
2776294de0 templates: url add support for home and abspath 2025-07-29 17:04:15 +02:00
Johannes Kirschbauer
c90b8d7401 templates/cli: add more help 2025-07-29 16:58:19 +02:00
Johannes Kirschbauer
5c746311c7 templates: init docs 2025-07-29 16:50:48 +02:00
Johannes Kirschbauer
7784df8180 templates: fix urls for relative file paths 2025-07-29 15:01:29 +02:00
Kenji Berthold
5d0ca5aff8 Merge pull request 'pkgs/clan/lib: Fix clan template creation when already in a flake' (#4501) from kenji/ke-clan-flakes-create-existing-flake-fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4501
2025-07-29 11:19:04 +00:00
a-kenji
3ef6b2f715 pkgs/clan/cli: Add test for builtin flakeref 2025-07-29 13:07:48 +02:00
Kenji Berthold
58053748b9 Merge pull request 'pkgs/clan/cli: Add clan flake validation to clan vars check' (#4513) from kenji/ke-vars-check-validation into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4513
2025-07-29 11:03:45 +00:00
DavHau
19a8101e98 Merge pull request 'pkgs/cli/create: Show less output by default' (#4499) from kenji/ke-create-show-less-output into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4499
2025-07-29 10:45:16 +00:00
pinpox
e5cb5afb4b Merge pull request 'Migrate postgresql to clan.core' (#4466) from postgres-core into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4466
2025-07-29 09:50:08 +00:00
pinpox
b75cf516f6 Merge branch 'main' into postgres-core 2025-07-29 09:41:50 +00:00
pinpox
3c58e2f04e Migrate postgresql to clan.core 2025-07-29 10:33:14 +02:00
Kenji Berthold
d814e98e94 Merge pull request 'pkgs/cli: Validate clan flake for clan machines list' (#4512) from kenji/ke-fix-list into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4512
2025-07-29 08:29:36 +00:00
a-kenji
35315d9596 pkgs/clan/cli: Add clan flake validation to clan vars check
This now gives a clearer error than:
```
Traceback (most recent call last):
  File "/nix/store/mznnb8il3njp6jxn5i57d0myjdh6cs0i-clan-cli/bin/.clan-wrapped", line 9, in <module>
    sys.exit(main())
             ~~~~^^
  File "/nix/store/mznnb8il3njp6jxn5i57d0myjdh6cs0i-clan-cli/lib/python3.13/site-packages/clan_cli/cli.py", line 516, in main
    args.func(args)
    ~~~~~~~~~^^^^^^
  File "/nix/store/mznnb8il3njp6jxn5i57d0myjdh6cs0i-clan-cli/lib/python3.13/site-packages/clan_cli/vars/check.py", line 113, in check_command
    ok = check_vars(args.machine, args.flake, generator_name=args.generator)
  File "/nix/store/mznnb8il3njp6jxn5i57d0myjdh6cs0i-clan-cli/lib/python3.13/site-packages/clan_cli/vars/check.py", line 103, in check_vars
    status = vars_status(machine_name, flake, generator_name=generator_name)
  File "/nix/store/mznnb8il3njp6jxn5i57d0myjdh6cs0i-clan-cli/lib/python3.13/site-packages/clan_cli/vars/check.py", line 41, in vars_status
    generators = Generator.generators_from_flake(machine.name, machine.flake)
  File "/nix/store/mznnb8il3njp6jxn5i57d0myjdh6cs0i-clan-cli/lib/python3.13/site-packages/clan_cli/vars/generate.py", line 67, in generators_from_flake
    generators_data = flake.select_machine(
                      ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'select_machine'
```

When not being in a flake.
2025-07-29 10:25:28 +02:00
a-kenji
86ac1c4405 pkgs/cli: Validate clan flake for clan machines list 2025-07-29 10:14:34 +02:00
hsjobeki
a06ba7f0f9 Merge pull request 'ui/refactor: move machine specifics from scene into MachineManager' (#4511) from ui-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4511
2025-07-29 08:08:43 +00:00
Johannes Kirschbauer
323de27651 ui: fixup types 2025-07-29 10:03:42 +02:00
Johannes Kirschbauer
782e8b330d UI: move machine specifics into MachineManager 2025-07-29 10:01:48 +02:00
Johannes Kirschbauer
682d8c786c ui: add MachineManager
Handles maping solidjs signals to updating and maintaining a map of MachineRepr
2025-07-29 10:01:18 +02:00
Johannes Kirschbauer
9e32be4e48 ui: add machineRepr to handle machine visual representation 2025-07-29 10:00:36 +02:00
Johannes Kirschbauer
686976a143 ui: add objectRegistry for memory management 2025-07-29 10:00:12 +02:00
hsjobeki
a2404f5fbb Merge pull request 'ui: disable scene rotation' (#4510) from ui-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4510
2025-07-28 18:42:14 +00:00
Johannes Kirschbauer
a6a25075f7 ui: disable scene rotation 2025-07-28 20:38:17 +02:00
hsjobeki
ec71badc3c Merge pull request 'ui: fix memory management in renderLoop' (#4509) from ui-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4509
2025-07-28 18:34:02 +00:00
Johannes Kirschbauer
1c4469e20c ui: fix memory management in renderLoop 2025-07-28 20:30:28 +02:00
hsjobeki
6fa4348aa6 Merge pull request 'ui: move rendering logic into renderLoop singleton' (#4508) from ui-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4508
2025-07-28 18:25:29 +00:00
Johannes Kirschbauer
dac06531d4 ui: move rendering logic into renderLoop singleton 2025-07-28 20:20:42 +02:00
DavHau
cb89fb97f1 clan machines update: add --fetch-local feature
Motivation: updating a machine fails, if it depends on a private github repo, as the remote will likely not be authenticated.

This adds a new flag `--fetch-local` to `clan machines update` which fetches all flake inputs prior to building, then uploads them to the build-host.

This also adds a new error message, when flake inputs could not fetched, to hint the user to use `--fetch-local`
2025-07-28 17:01:42 +07:00
hsjobeki
6a8d7aa5fd Merge pull request 'api: init get_machine_writeability' (#4504) from cli-fixes into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4504
2025-07-28 08:47:43 +00:00
Luis Hebendanz
63bcfc4809 Merge pull request 'pkgs/cli: Remove uncommented logic from creation test' (#4497) from kenji/ke-remove-uncommented into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4497
2025-07-28 03:48:57 +00:00
Johannes Kirschbauer
e73350f6af test: fix add modules 2025-07-27 12:48:04 +02:00
Johannes Kirschbauer
98a0b9600b api/writability: add docstring 2025-07-27 12:47:37 +02:00
Johannes Kirschbauer
abeb517a22 api/writability: add unit test 2025-07-27 00:03:05 +02:00