Commit Graph

358 Commits

Author SHA1 Message Date
Jörg Thalheim
f3512b853a remove nix_shell_legacy 2025-04-16 21:03:58 +02:00
Jörg Thalheim
837789010e rename nix_shell_legacy to nix_shell and run_cmd to nix_shell
Than it's more obvious that we need to migrate.
2025-04-16 18:27:01 +00:00
Jörg Thalheim
4d4882ac7b update_hardware_config: migrate from nix_shell to run_cmd 2025-04-16 19:32:40 +02:00
Michael Hoang
fc7a4d2b75 machines: fix nixos-rebuild not getting retried 2025-04-15 16:16:03 +02:00
lassulus
99238ff7d6 clan_cli machines update: cache values for faster eval 2025-04-14 14:28:59 +02:00
Michael Hoang
866dafab9d machines: minor refactor of update 2025-04-13 18:14:17 +02:00
Johannes Kirschbauer
61d1cf32ab chore(clan/pytest): discover all test files in the tree 2025-04-09 18:54:57 +02:00
Johannes Kirschbauer
872aa8e5b6 fix(clan/machines): move machineClass attribute selector and add a unit test for class detection 2025-04-09 18:29:43 +02:00
Jörg Thalheim
326633d1b8 hardware: only include sshpass if we are actually using it. 2025-04-09 09:52:56 +00:00
Michael Hoang
83a2de0f47 cli: don't update macOS machines 2025-04-08 08:53:29 +02:00
Michael Hoang
7b456be472 cli: managed by clan -> managed by Clan 2025-04-03 00:25:51 +09:00
Michael Hoang
c7ba642a38 cli: machines update [MACHINE] -> machines update [MACHINES] 2025-04-03 00:25:51 +09:00
Qubasa
fb1cea261e clan-cli: Fix deployment as non root edgecase 2025-03-31 20:25:05 +02:00
Qubasa
a992484fb9 clan-cli: Fix deployment as non root with a buildHost set 2025-03-28 18:47:36 +01:00
Qubasa
0afbf9dd45 checks/installation-without-system: modify to install through normal user instead of root 2025-03-26 18:37:31 +01:00
RTUnreal
0ea9b45838 clan_cli: fix support for non-root deployment user 2025-03-26 18:37:31 +01:00
Qubasa
dfd550f9be clan-cli: cleanup broken deployment cache 2025-03-20 00:17:36 -07: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
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
Michael Hoang
d79d1811d6 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
Qubasa
a0aaa5fc69 clan-cli: Remove can_build_locally and replace with nixos-anywhere --build-on auto 2025-03-01 17:52:41 +01:00
r17x
e9ffd923d5 fix(clan-cli): fix cross system 2025-02-26 14:27:00 +07:00
lassulus
300aaa48e7 clan-cli: use new flake caching for machines 2025-02-23 15:58:03 +01:00
lassulus
aa98c33d40 machines install: fix installation via tor 2025-02-22 03:39:42 +00:00
Jörg Thalheim
eb38ea14ce fix regex for detecting git+file inputs 2025-02-20 10:00:04 +07:00
Qubasa
e3651d0ae0 clan-clI: Improve error message of clan update-hardware-config on non found nixos-facter 2025-02-18 17:40:27 +07:00
Michael Hoang
16848ba723 machines: hide morph 2025-02-17 00:22:14 +07:00
Pablo Ovelleiro Corral
0d001e21b9 Create directory 2025-02-16 17:08:54 +00:00
Pablo Ovelleiro Corral
d63b4ffbd8 Fix output when rebuilding 2025-02-16 17:08:54 +00:00
Michael Hoang
4e2ae0f9f6 cli: add morph command 2025-02-16 21:31:28 +07:00
Michael Hoang
0d9963c1a6 cli: make some functions only create commits optionally 2025-02-16 21:14:09 +07:00
Johannes Kirschbauer
2c0567ca27 Cli: delete machines bugfix. Dont modify the inventory in other places 2025-02-15 09:03:54 +07:00
Sacha Korban
9bc3d808c1 clan-cli: machines install: add phases option for nixos-anywhere 2025-02-13 17:10:02 +11:00
Johannes Kirschbauer
048bd37e3b Inventory: automatically create emtpy file on write 2025-02-10 09:02:23 +00:00
Johannes Kirschbauer
f380046050 CLI: machine create use patch inventory for partial updates 2025-02-10 09:02:23 +00:00
lassulus
2a8f40e91a clan_cli machines: use Flake instead of FlakeId 2025-02-07 06:26:09 +01:00
Qubasa
bf26a2d306 clan-cli: Fix incorrect input handling in get_templates 2025-02-04 08:10:32 +00:00
Qubasa
825b4abd37 clan-cli: Make clan machines create use templating.py 2025-01-31 18:07:48 +07:00
Qubasa
0db5abf56a clan-cli: Make clan flakes create discover templates from inputs. Add clan flakes list command 2025-01-30 16:24:50 +07:00
a-kenji
fa54c0f1b5 Fix various typos 2025-01-22 13:19:28 +01:00
Jörg Thalheim
6203b4f14f clan/update: deploy_machine -> deploy_machines 2025-01-21 15:20:38 +01:00
Michael Hoang
7ee0e2afbf vars: support secrets for partitioning the disk 2025-01-21 11:13:51 +00:00
Jörg Thalheim
8c667a162a use nix flake archive in clan machines update for git+file flake inputs 2025-01-20 10:49:25 +01:00
Michael Hoang
f199030119 install: support -i flag for specifying SSH private key 2025-01-19 18:53:18 +11:00
Jörg Thalheim
cb8ca601e2 switch to nixos-facter for hardware-config 2025-01-15 13:59:49 +00:00
Qubasa
3d0b2948f3 docs: Add debugging.md and repo-layout.md guides 2025-01-09 13:01:49 +00:00
Johannes Kirschbauer
6403b42bb2 API: Disk templates, persist original values 2025-01-07 10:21:47 +01:00
Michael Hoang
1d7e0c1c02 install: upload vars needed for activation for installation 2024-12-22 05:53:26 +00:00
Michael Hoang
da4d7fa365 machines: don't build on target machine if remote builders can be used 2024-12-21 10:43:17 +11:00