Commit Graph

70 Commits

Author SHA1 Message Date
Jörg Thalheim
93cbe62765 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
Michael Hoang
e215a9db6e 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
0da1a05b55 clan-cli: Remove can_build_locally and replace with nixos-anywhere --build-on auto 2025-03-01 17:52:41 +01:00
lassulus
3121c5ecdb machines install: fix installation via tor 2025-02-22 03:39:42 +00:00
Sacha Korban
0eaaabcf63 clan-cli: machines install: add phases option for nixos-anywhere 2025-02-13 17:10:02 +11:00
Michael Hoang
0ec38c7919 vars: support secrets for partitioning the disk 2025-01-21 11:13:51 +00:00
Michael Hoang
01d86b6482 install: support -i flag for specifying SSH private key 2025-01-19 18:53:18 +11:00
Michael Hoang
7aa275a5b4 install: upload vars needed for activation for installation 2024-12-22 05:53:26 +00:00
Michael Hoang
27849a61db machines: don't build on target machine if remote builders can be used 2024-12-21 10:43:17 +11:00
Qubasa
94b99034c9 clan-cli: Fix clan install command and multiple other issues 2024-12-18 15:29:08 +01:00
a-kenji
1596ecdb3d pkgs/cli: Fix target_host for machines install
Use the correct `target_host`, if a user is defined.

Before the change:

```console
$ clan machines install
$ Install jon to 49.13.232.197? [y/N]
```

After the change:

```console
$ clan machines install
$ Install jon to root@49.13.232.197? [y/N]
```

Because root is the configured user for `target_host`, this is the
correct behavior.
2024-12-17 22:29:54 +01:00
Michael Hoang
abd145aaaa clan_cli: always use --target-host if specified for machines install 2024-12-18 00:13:17 +11:00
Michael Hoang
0ca2e7f728 clan_cli: fix target_host when running clan machines install 2024-12-18 00:08:10 +11:00
Qubasa
e490207d12 clan-cli: Rework 'clan ssh' command, improve Tor support. 2024-12-13 00:11:18 +01:00
Qubasa
ec54a6a978 clan-cli: Replace log.info to machine.info if applicable 2024-12-12 15:36:17 +01:00
Qubasa
d2719f3179 clan-cli: cmd.run now has its options extracted to a dataclass 2024-11-28 15:26:37 +01:00
a-kenji
26344a7938 pkgs/cli: Add --password flag to machines install
Add `--password` flag to `clan machines install`,
which allows installing through the `nixos-image` installer
manually without extra configuration.
2024-11-26 15:01:43 +01:00
Qubasa
41a84f5970 docs: Fix nix flake check problem with diskId 2024-11-25 18:39:16 +01:00
a-kenji
cc36247f22 pkgs/cli: Fix generation of hardware configuration for machines install
Correctly use the `value` of the `enum`, which is expected by
`nixos-anywhere`.
2024-11-20 16:15:45 +01:00
Qubasa
a60a8ba6a4 clan-cli: Fix nixos-anywhere for systems that can not be build locally 2024-11-11 14:08:12 +00:00
a-kenji
7ab1707ab9 pkgs/cli: Complete --target-host flag 2024-11-10 19:12:54 +01:00
a-kenji
d689dd8f6c pkgs/cli: Query target-host for machines install from configuration
Query `target-host` for `clan machines install` from the nixos
configuration (deployment.json), if possible.

Remove `TARGET_HOST` option and introduce `--target-host` command
line flag.

This brings the installation subcommand in line with the update
subcommand - improving consistency and usability.

Closes: #2309
2024-11-10 18:18:51 +01:00
Jörg Thalheim
414c908717 expose an option to generate hardware configuration during installation 2024-11-05 14:33:22 +01:00
Jörg Thalheim
1ec4bb124e add build-on-remote flag 2024-11-04 13:27:50 +01:00
Qubasa
34711c419c clan-cli: Fix bug where --target_host is getting ignored 2024-10-05 18:51:44 +02:00
Jörg Thalheim
237327ead3 start to name temporary directories in more places 2024-10-01 18:57:59 +02:00
DavHau
ec109e7f67 vars: generate vars for clan install
fixes #2087
2024-09-17 20:41:39 +02:00
Jörg Thalheim
357b619068 add SIM lint 2024-09-02 16:39:30 +02:00
Jörg Thalheim
ad3daa3ce4 add RET, Q, RSE lint 2024-09-02 15:58:49 +02:00
Jörg Thalheim
15ff74f7c2 enable ASYNC, DTZ, YTT and EM lints 2024-09-02 14:07:06 +02:00
Jörg Thalheim
35839ef701 enable bug-bear linting rules 2024-09-02 13:26:07 +02:00
Jörg Thalheim
af4b9cc2d5 make all same-module imports relative, the rest absolute
This makes sorting more consitent.
2024-09-02 13:00:19 +02:00
Johannes Kirschbauer
824dc34eb8 API: init install machine 2024-08-13 18:58:20 +02:00
Jörg Thalheim
0d6e2539e3 Revert "clan-cli: deprecate nix_shell() in favor of run_cmd()"
This reverts commit 37e6ca7a30.
2024-07-17 14:04:49 +02:00
DavHau
37e6ca7a30 clan-cli: deprecate nix_shell() in favor of run_cmd() 2024-07-16 14:03:17 +07:00
Jörg Thalheim
5b606c035f move FlakeId to flake id
move FlakeId to flake id
2024-07-03 18:28:55 +02:00
Jörg Thalheim
b4698528ef make machine class now a dataclass 2024-07-03 12:34:43 +02:00
a-kenji
23ef39a2d9 clan: add dynamic completions
Add dynamic completion scaffolding to the clan `cli`.
Also add a dynamic completion mechanism for machines for commands that
have machines as their sole argument.

More intricate dynamic completions will be implemented in follow up
PR's.
2024-05-31 12:55:41 +02:00
Jörg Thalheim
2ae50b7398 allow to override nix options in update/install/flash commands 2024-05-29 10:14:14 +02:00
a-kenji
81e0700826 clan: facts generate allow regeneration of facts
Add `--regenerate` flag to `clan facts generate` which allows forcing
the generation of facts, regardless of their current existence.

Examples:
```
clan facts generate [MACHINE] --regenerate
```
or
```
clan facts generate [MACHINE] --service [SERVICE] --regenerate
```
2024-05-26 22:55:48 +02:00
a-kenji
4faab0a20f clan: facts generate specific service
Add `--service` flag to the `clan` cli which allows specifying a certain
service to be generated.

Example:

```
clan facts generate [MACHINE] --service [SERVICE]
```

Fixes #1395
2024-05-26 21:52:56 +02:00
Qubasa
fd41badbc6 Add --no-reboot flag to clan machine install 2024-05-14 15:41:15 +02:00
a-kenji
2e821c4525 clan-cli: add --json and --png flags to machine install
Allow using `clan machines [machine] install` in conjunction with the
`--json` and `--png` flags.

Fixes #1180
2024-05-07 14:47:13 +02:00
a-kenji
6becce81cb clan: clan machines install use verbose flag 2024-04-19 16:38:39 +02:00
Jörg Thalheim
f385e0e037 refactor facts command to regenerate facts for all machines 2024-04-15 22:14:54 +02:00
Jörg Thalheim
8b4dbc60b5 clan/install: drop -t flag from nixos-anywhere 2024-04-02 13:50:24 +02:00
lassulus
f16667e25a refactor secrets & facts -> secret_facts & public_facts 2024-03-23 05:46:54 +01:00
Jörg Thalheim
5ff36a2cd8 nixos-install: also respect port 2024-03-17 22:18:22 +01:00
Jörg Thalheim
9f25f47298 allow to debug nixos-anywhere 2024-03-17 21:36:22 +01:00
Jörg Thalheim
dd0ad2683b drop secret store logging from install command 2024-03-17 21:32:23 +01:00