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
Jörg Thalheim
609dc90775
remove ssh.id_ed25519 from facts test
...
we have moved this to vars now.
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
DavHau
2127c7f5cb
vars: add test for 'clan vars get'
2024-11-19 13:32:27 +07:00
DavHau
1d66d32163
tests: improve performance, keep flake.lock between tests
...
- deprecate fixture generate_flake in favor of class ClanFlake
- allow creating flake templates that can be copied, including their state, like git and lock files, in order to avoid expensive re-initialization
2024-11-18 17:01:58 +07: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
clan-bot
d05b1323b1
Merge pull request 'pkgs/cli: Remove superfluous comment string' ( #2414 ) from kenji/clan-core:kenji-cli/improve/show-comment into main
2024-11-14 14:15:52 +00:00
clan-bot
d17e00c177
Merge pull request 'pkgs/cli: Fix typo in test fixtures' ( #2412 ) from kenji/clan-core:kenji-fix/typo-fixture into main
2024-11-14 14:13:12 +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
a-kenji
edef77091a
pkgs/cli: Fix typo in test fixtures
2024-11-14 15:00:44 +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
DavHau
05ff6cfd89
cleanup: remove legacy flake fixture test_flake_minimal and test_flake_with_core_and_pass
2024-11-14 14:03:29 +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
Johannes Kirschbauer
9fb6ea2b8a
Chore: remove unused clanImports module
2024-11-12 14:46:25 +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
a-kenji
431bb21c10
pkgs/cli: Unclutter help output slightly
2024-11-11 11:28:51 +00:00
Jörg Thalheim
71593604e5
HistoryEntry: add cleaner typesafe json deserialization
2024-11-11 11:36:17 +01:00
danjujan
c2b455c750
vms/qemu: do not always use waypipe graphic options
2024-11-11 10:41:26 +01:00