Commit Graph

1250 Commits

Author SHA1 Message Date
lassulus
52b2b1c350 password-store: include filenames in manifest for upload check 2024-11-22 22:34:09 +01:00
lassulus
2c839ae768 cli password-store: skip uploading non secret files 2024-11-22 22:34:09 +01:00
Qubasa
a0b013d3cc clan-cli: Fix inventory update.sh 2024-11-22 22:23:10 +01:00
Qubasa
979e5e839d clan-cli: Refactor ssh part 2, Refactor custom_logger 2024-11-22 22:08:50 +01:00
Johannes Kirschbauer
6a6306f7f0 Clan-cli/api: init dynamic get module interface 2024-11-22 13:58:30 +01:00
Johannes Kirschbauer
0e556302c1 Clan-cli/api: list external modules 2024-11-21 17:04:35 +01:00
Johannes Kirschbauer
88114ebfdc Clan-cli: update inventory classes.py 2024-11-21 15:38:17 +00:00
Qubasa
a4f3d9d1fc clan-cli: Refactor ssh folder part 1 2024-11-21 13:02:22 +01:00
a-kenji
5a9d58ec59 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
a-kenji
1c9ca82055 pkgs/cli: Fix tag creation for clan machines create 2024-11-20 15:12:05 +01:00
danjujan
1e20a4cda9 vms/qemu: fix opengl detection 2024-11-20 10:20:30 +00:00
Jörg Thalheim
952a5f3ee7 vars: add VarStatus dataclass to make return type more readable 2024-11-20 10:20:06 +00:00
DavHau
d4c8b2e4ed vars: implement invalidation mechanism
This adds options `invalidationData` to generators.

`invalidationData` can be used by an author of a generator to signal if a re-generation is required after updating the logic.

Whenever a generator with invalidation data is executed, a hash of that data is stored by the respective public and/or secret backends.

The stored hashes will be checked on future deployments, and a re-generation is triggered whenever a hash doesn't match what's defined in nix.
2024-11-20 16:27:22 +07:00
Jörg Thalheim
68a5d072b2 vars: don't print stack trace if generator fails 2024-11-19 09:46:14 +00:00
Jörg Thalheim
2b270a8951 vars: introduce ensure_machine_has_access method for sops
this should help avoiding overriding existing shared secrets by not
triggering vars regeneration if a machine has no access.

wip
2024-11-19 09:46:14 +00:00
Johannes Kirschbauer
3a46119722 Modules/api: export constraints, filter by inventory 2024-11-19 10:36:29 +01:00
lassulus
8f0c575425 password-store owner & group support 2024-11-16 01:18:59 +01:00
Qubasa
26730cd662 clan-cli: upload.py -> Replace rsync with native ssh command 2024-11-15 22:03:47 +07:00
a-kenji
b894a41a60 pkgs/cli: Add comment to add_common_flags function 2024-11-15 12:06:10 +01:00
a-kenji
25b90983af pkgs/cli: Fix adding common flags for aliases 2024-11-15 10:49:03 +00:00
Jörg Thalheim
4de97616bc vars: introduce ensure_machine_has_access method for sops
this should help avoiding overriding existing shared secrets by not
triggering vars regeneration if a machine has no access.

wip
2024-11-14 15:37:55 +00:00
Jörg Thalheim
673717fe8c vars/get: use machine_name as variable name 2024-11-14 15:37:55 +00:00
Jörg Thalheim
91d2018bb7 vars/sops: simplify conditional in exists 2024-11-14 15:37:55 +00:00
clan-bot
0695b82edd Merge pull request 'pkgs/cli: Improve help description' (#2415) from kenji/clan-core:kenji-cli/show/improve/description into main 2024-11-14 14:40:22 +00:00
a-kenji
9c08e90083 pkgs/cli: Improve help description 2024-11-14 15:34:24 +01:00
clan-bot
cda12b0f22 Merge pull request 'pkgs/cli: Improve clan secrets help' (#2416) from kenji/clan-core:kenji-cli/secrets/help into main 2024-11-14 14:18:43 +00:00
a-kenji
332e521340 pkgs/cli: Improve clan secrets help 2024-11-14 15:07:16 +01:00
a-kenji
52f5bc048b pkgs/cli: Remove superfluous comment string 2024-11-14 15:04:19 +01:00
a-kenji
eb31b1cfa0 pkgs/cli: Improve help output of show subcommand 2024-11-14 15:03:14 +01:00
lassulus
faf0946c99 cli vars password-store: fix file locations 2024-11-14 12:07:52 +01:00
a-kenji
edd7253dea pkgs/cli: Fix typo in comment 2024-11-14 10:17:44 +01:00
DavHau
a5ec3c45d5 clan-cli: remove --no-write-lock-file from nix invocations 2024-11-14 14:11:06 +07:00
lassulus
ddc7afd67d clan_cli vars: actually upload 2024-11-13 13:23:42 +01:00
Jörg Thalheim
616ddca734 cmd: also process stdin 2024-11-13 13:23:42 +01:00
lassulus
ebfc8ecfd0 cli machines update: run deploy directly if deploying single machine 2024-11-13 13:23:42 +01:00
DavHau
8b94bc71bc vars: allow re-encrypting secrets when recipient keys were added.
When the users of a secret change, when for example a new admin user is added, an error will be thrown when generating vars, prompting the user to pass --fix to re-encrypt the secrets
2024-11-13 18:49:30 +07:00
clan-bot
25b5d84442 Merge pull request 'Modules/constraints: init constraints checking for inventory compatible modules' (#2391) from hsjobeki/clan-core:hsjobeki-main into main 2024-11-13 08:02:29 +00:00
DavHau
4ec218a200 vars,facts: update_check -> needs_upload 2024-11-13 13:34:15 +07:00
Johannes Kirschbauer
722012ed55 Modules/constraints: init constraints checking for inventory compatible modules 2024-11-12 18:36:38 +01:00
Jörg Thalheim
b67919b94d vars: fix case if we have two vars with where one is the prefix of another one 2024-11-12 16:11:39 +00:00
a-kenji
3b04c5484c pkgs/cli: Add @override decorator 2024-11-12 15:14:55 +00:00
a-kenji
c3fe5df5e9 pkgs/cli: Document clan machines list --tags 2024-11-12 14:59:23 +01:00
a-kenji
392d8437cb pkgs/clan: machines list --tags add dynamic completer 2024-11-12 14:59:23 +01:00
a-kenji
8596deaeb7 pkgs/cli: Add tagging support to machines list
Add the `--tags` flag to `clan machines list`
This now supports the machine tagging system from the inventory.

Multiple tags are the intersection of the tags of a specific machine.

Example two machines with overlapping tags:
```
server: ["intel"]
laptop: ["intel", "graphical"]
```

- `clan machines list --tags intel` will output:

```
server
laptop
```

- `clan machines list --tags intel graphical` will output:

```
laptop
```

- `clan machines list --tags graphical` will output:

```
laptop
```
2024-11-12 14:58:55 +01:00
Jörg Thalheim
5bc8670020 simplify reading hostPlaform.system from nixos 2024-11-11 16:17:54 +01:00
Qubasa
d3f0107f4d clan-cli: Improved --debug output by indenting commands, add TRACE_DEPTH environment variable 2024-11-11 21:23:53 +07:00
Qubasa
9da872a267 clan-cli: Simplify hostPlatform and just use 'system' 2024-11-11 14:08:12 +00:00
Qubasa
9fc4e4c7d4 clan-cli: Fix nixos-anywhere for systems that can not be build locally 2024-11-11 14:08:12 +00:00
a-kenji
5d6ac539bc pkgs/cli: Complete --tags flag 2024-11-11 13:48:00 +01:00
a-kenji
43bc09eb2e pkgs/cli: Add dynamic completer for tags
Add a dynamic completer for `tags`.

Queries tag information from:
- the keys of the computed/static tags (inventory tags)
- the services tags
- the machines tags
2024-11-11 13:48:00 +01:00