Johannes Kirschbauer
10fbae0c15
cli: move some references to duplicate list machines
2025-07-04 09:32:43 +02:00
lassulus
40065c7a00
refactor: remove deployment.json and use direct selectors
...
- Remove deployment.json file generation from outputs.nix
- Add throw for deprecated deployment.file usage with upgrade instructions
- Remove vars data from deployment.data
- Update Machine class to use direct select() calls instead of deployment property
- Update all deployment property accesses to use direct selectors
- Add precaching for frequently accessed values in update.py:
- Module paths for facts and vars
- Deployment settings (requireExplicitUpdate, nixosMobileWorkaround)
- Services and generators data
- Secret upload locations
- This removes unnecessary JSON serialization and makes the code more composable
2025-07-02 20:56:23 +02:00
Johannes Kirschbauer
97bdf49814
cli: fix listing maschines by their name
2025-07-02 18:18:48 +02:00
lassulus
286c75a142
refactor: replace eval_nix/build_nix with machine.select()
...
- Remove nix(), eval_nix(), and build_nix() methods from Machine class
- Add select() method that handles machine-specific attribute prefixes
- Update all usages to use machine.select() directly
- Handle Path conversion and tmp_store logic at call sites
- This simplifies the Machine API and prepares for deployment.json removal
2025-06-29 17:00:27 +02:00
a-kenji
3e70e30b6b
pkgs/clan: Add machine validator with suggestion logic
...
Add machine validator with suggestion logic to:
- `clan machines update`
- `clan machines delete`
- `clan machines update-hardware-config`
2025-06-27 12:32:36 +02:00
Qubasa
60d2837ddd
clan-cli: Remove unecessary nix_options args from functions
2025-06-24 19:07:41 +02:00
Qubasa
d14a5d34fd
clan-lib: Move nix_options from Machine class to Flake class
2025-06-24 19:03:20 +02:00
Qubasa
e79b926566
clan-cli: Move update.py to clan_lib/machines
2025-06-24 12:17:21 +02:00
Qubasa
29a5fbed53
clan-cli: Move delete.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
e53a490edc
clan-cli: Move list.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
48ea1c757f
clan-cli: Move morph.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
b26aad3619
clan-cli: Move hardware.py to clan_lib/machines
2025-06-24 11:07:37 +02:00
Qubasa
046d13bd50
clan-lib: Rename parse_deployment_address to parse_ssh_uri
2025-06-23 15:32:35 +02:00
Qubasa
fae4d39a10
clan-lib: machines.py: Remove host_key attribute
2025-06-19 17:55:56 +02:00
Qubasa
cce4d561e4
clan-lib: machines.py: Remove private_key attribute
2025-06-19 17:28:50 +02:00
a-kenji
52c3006d9b
pkgs/cli(machines): Move inventory warning to debug information
...
Move the inventory warning to debug information and improve the error.
This is an alternative proposal to: #4009
2025-06-18 13:15:37 +02:00
a-kenji
c1a4de843a
pkgs/clan: Rename target_host_str
...
The `target_host_str` is a confusing choice, since it can be either
the `targetHost` or `buildHost`.
2025-06-18 12:03:57 +02:00
Qubasa
fa4160dda1
clan-lib: Make Remote overridable over function arguments
2025-06-17 13:53:43 +02:00
Qubasa
85537b7816
clan-lib: unify get_taget_host and get_build_host
2025-06-12 16:42:28 +02:00
Qubasa
e1091c0692
clan-cli: machine.get_inv_machine now uses actions.get_machine in the background
2025-06-12 16:36:55 +02:00
Qubasa
82299a5361
clan-cli: Fix check_machine_online to use Remote object instead of machine, this makes it possible to override HostKeyCheck properly
2025-06-12 16:36:55 +02:00
Qubasa
2540215f2e
clan-cli: init machine from inventory
2025-06-12 16:36:55 +02:00
Johannes Kirschbauer
0837a8ecd7
Refactor(clanInternals): remove depending on clanInternals.inventory
2025-06-10 17:43:59 +02:00
hsjobeki
1af826e0df
Merge pull request 'Refactor(api/update_machine): rename to set_machine; use name, flake' ( #3899 ) from api-narrowing into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3899
2025-06-09 11:55:28 +00:00
Johannes Kirschbauer
665b2095b2
Refactor(cli/list_machines): rename to list_full_machines
...
This makes it clear that this should be used with care
It is potentially more expensive to create the full object, therefore it should be discouraged by its longer name
This listing is implemented based on the basic listing, where each item is turned into the bigger machine class
2025-06-09 13:40:57 +02:00
Johannes Kirschbauer
0b6bc81efe
Refactor(api/list_machines): rename from list_inv_machines
2025-06-09 13:33:25 +02:00
Johannes Kirschbauer
ebf3964197
Refactor(api/update_machine): rename to set_machine; use name, flake
2025-06-09 13:33:19 +02:00
hsjobeki
2a576a604b
Merge pull request 'Chore(api): narrow down get_machine' ( #3863 ) from api-narrowing into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3863
2025-06-09 08:59:36 +00:00
Qubasa
9cec635fdc
clan_lib: Fix quoting issues
2025-06-05 17:24:36 +02:00
Johannes Kirschbauer
8261ff09cc
Chore(api): narrow down get_machine
...
Dont require the user to pass the machine into the same getter function
The workflow contradicts itself here
2025-06-04 20:38:45 +02:00
Johannes Kirschbauer
19dbc0ff73
chore(nix_models): migrate import to use exported clan models
2025-05-28 14:03:22 +02:00
Johannes Kirschbauer
dac30c4dd7
refactor(persist/utils): rename apply_patch to 'set_value_by_path'
2025-05-28 10:16:48 +02:00
Johannes Kirschbauer
349968c631
Refactor(lib/inventory): move machine actions into clan_lib/machines/actions.py
2025-05-26 17:51:12 +02:00
Qubasa
0ca7600439
clan-cli: Move Machine object to clan_lib
2025-05-22 19:11:19 +02:00