Jörg Thalheim
6122839f90
improve terminating processes on error
2024-10-10 17:59:26 +02:00
Jörg Thalheim
420958f19d
{vars,facts}/upload: fix ipv6 support
2024-10-10 17:03:32 +02:00
Jörg Thalheim
973aef72d3
properly support verbatim ipv6 addresses
2024-10-10 17:03:32 +02:00
DavHau
29f70640ef
vars,facts: add sops.defaultGroups to new machines
...
Prior to this, when initializing new machines, only the current user had access to it's key which prevents other admin users to deploy this machine later
2024-10-10 19:31:03 +07:00
clan-bot
770414f866
Merge pull request 'vms run: disable waypipe on xorg by default' ( #2239 ) from DavHau/clan-core:DavHau-dave into main
2024-10-10 12:30:17 +00:00
DavHau
9cf055f1cc
vms run: disable waypipe on xorg by default
2024-10-10 17:06:38 +07:00
clan-bot
e6a1bcadf1
Merge pull request 'Inventory/schemas: move all schemas to legacyPackages.schemas' ( #2234 ) from hsjobeki/clan-core:hsjobeki-main into main
2024-10-09 11:44:05 +00:00
Jörg Thalheim
67810c7a73
old json schema code
2024-10-09 13:30:50 +02:00
Johannes Kirschbauer
08d26b9463
Inventory/schemas: move all schemas to legacyPackages
2024-10-09 13:27:09 +02:00
Jörg Thalheim
1ac8f6914d
drop old settings code
2024-10-09 12:16:00 +02:00
Jörg Thalheim
d537e1a91c
remove machine settings.json
2024-10-09 12:08:23 +02:00
Jörg Thalheim
c620ee9d90
fixtures_flake: drop unused substitutions
2024-10-09 12:07:58 +02:00
Jörg Thalheim
adbdae449d
vms/run: make portmap a dict to fix serializer
2024-10-08 17:51:55 +00:00
Jörg Thalheim
1ed04fb51e
vms/run: better defaults for run api
2024-10-08 17:51:55 +00:00
Jörg Thalheim
cf3c67d830
expose the option to run commands in virtual machines
2024-10-08 17:51:55 +00:00
Jörg Thalheim
6cae6341c9
add a flag to start qemu non-interactive
2024-10-08 17:51:55 +00:00
Jörg Thalheim
c33b2b200a
vms/run: don't use deprecated clanCore option
2024-10-08 17:51:55 +00:00
Jörg Thalheim
2f7c3778d3
restore proper error printing
...
Error represenation should be part of the error and we should not repeat
formatting here.
if we are in debug mode also print the stack trace
2024-10-08 17:51:55 +00:00
Jörg Thalheim
db11e7cb92
{vars,facts}/generate: ensure that args.flake is passed
2024-10-08 17:51:55 +00:00
Jörg Thalheim
b1b05485dd
introduce better vm management abstraction and use it in tests
2024-10-08 17:51:55 +00:00
Jörg Thalheim
0a568be528
pass in flakeid to vm_state_dir
2024-10-08 17:51:55 +00:00
Jörg Thalheim
725009d4a8
vm_config: deprecate a few fields
2024-10-08 17:51:55 +00:00
Jörg Thalheim
887ef9b2c8
cmd/run: remove unnecessary wait
2024-10-08 17:51:55 +00:00
Qubasa
5c603ba525
clan-cli: Fix breakage if machines update
2024-10-08 03:38:46 +02:00
Qubasa
b05fd96c0c
clan-cli: Fix bug where --host-key-check is not applied to build-host
2024-10-08 03:03:13 +02:00
Qubasa
2838e468a6
clan-cli: Fix bug where --host-key-check is not applied everywhere
2024-10-08 00:25:15 +00:00
Qubasa
a80d7cc3f0
clan-cli: Improve CmdOut output
2024-10-07 01:36:40 +02:00
Qubasa
99c5bd2b50
clan-cli: Add --host-key-check to machine update
2024-10-05 23:33:44 +02:00
Qubasa
5967bb347c
clan-cli: Fix bug where --target_host is getting ignored
2024-10-05 18:51:44 +02:00
Jörg Thalheim
558fa436e8
vars/keygen: adept to new sops api
2024-10-04 16:36:35 +00:00
Jörg Thalheim
1666513e91
Revert "Merge pull request 'Revert "Merge pull request 'clan-cli: secrets: Add support for PGP keys with sops-nix' ( #2186 ) from lopter/clan-core:lo-sops-nix-pgp-support into main"' ( #2202 ) from revert into main"
...
This reverts commit a5496e8db0 , reversing
changes made to 9bb1aef245 .
2024-10-04 16:36:35 +00:00
DavHau
8f16cf0282
Revert "vars: refactor - copy logic to sops secret module"
...
This reverts commit ae53ea7399 .
2024-10-04 18:20:53 +02:00
Jörg Thalheim
084ebf9edc
Revert "Merge pull request 'clan-cli: secrets: Add support for PGP keys with sops-nix' ( #2186 ) from lopter/clan-core:lo-sops-nix-pgp-support into main"
...
This reverts commit 5668fd05a0 , reversing
changes made to dd17fbdc6d .
Reverting for now as Dave's recent change conflicts with this change.
2024-10-04 17:54:29 +02:00
Louis Opter
ab46e3c1e2
Improvements for clan secrets key generate.
...
I am not sure to understand what `extract_public_key` was for. It seems
like `age-keygen -y` will just work fine for a file like
`extract_public_key` is looking for. Unless someone intentionally made a
file with a comment like that without the private key in it.
Messages are moved to stdout rather being logged. It feels like the
output is meaningful in the first step users are going to take. Also
makes testing easier, as log messages are captured differently than
stdout. The call to add an user is changed to be easier to copy paste
and work whether PGP or age is in use.
A description for the command is added instead of help which does not
seem to be displayed.
2024-10-04 15:36:30 +00:00
Louis Opter
611d8b40f3
Make clan_cli.secrets.sops.SopsKey immutable and remove its __eq__ method
...
Immutability seems sensible for this type.
There is some ambiguity on how to compare keys, in particular when `user.name == ""`, but the rest matches.
2024-10-04 15:36:30 +00:00
Louis Opter
69b9f1ae23
fix: clan secrets user get dump the user identity correctly
2024-10-04 15:36:30 +00:00
Louis Opter
cf492b15aa
Fix key dump in clan secrets key show
...
```
In [4]: str(Type.AGE)
Out[4]: Type.AGE
In [5]: Type.AGE.name.lower()
Out[5]: age
```
2024-10-04 15:36:30 +00:00
Jörg Thalheim
5d87bc2435
secrets/show: pretty print json
2024-10-04 15:36:30 +00:00
Jörg Thalheim
105e6bd86a
secrets: replace Key, key type tuple with SopsKey class
2024-10-04 15:36:30 +00:00
Jörg Thalheim
160fe82576
fix serialisation of SopsKey type
2024-10-04 15:36:30 +00:00
Jörg Thalheim
ca4ff0611c
default key type to age and rename to age-key/pgp-key
2024-10-04 15:36:30 +00:00
Jörg Thalheim
4cd4334b1c
secrets: do not shadow python builtins
2024-10-04 15:36:30 +00:00
Louis Opter
d18c0fa3ae
Fix: do not assume users use age keys in vars/sops
...
With added support for PGP for users keys, do not assume an age key is
going to be present in secrets files.
2024-10-04 15:36:30 +00:00
Louis Opter
b2e796145a
Fix: use new sops api in clan secrets machines
2024-10-04 15:36:30 +00:00
Louis Opter
7a673ea95f
Draft: clan-cli: secrets: Add support for PGP keys with sops-nix
...
To use a PGP key instead of an age key you can set `SOPS_PGP_FP`. (You
can use `gpg -k --fingerprint --fingerprint` to get your PGP encryption
key fingerprint, remove spaces from it).
The internal manifest file already supported a type field, and so I built
from there.
With those changes, I was able to add my PGP key, and update all my
secrets with it, instead of the age key originally generated:
```
% clan secrets key show | jq
{
"key": "ADB6276965590A096004F6D1E114CBAE8FA29165",
"type": "pgp"
}
% clan secrets key update
% for s in $(clan secrets list) ; do clan secrets users add-secret kal-pgp-from-2022-12-to-2024-12 "$s"; done
% for s in $(clan secrets list) ; do clan secrets users remove-secret --debug kal "$s" ; done
```
2024-10-04 15:36:30 +00:00
DavHau
11c37ebeba
vars/keygen: fix + cleanup tests
...
- generate keys in ./sops instead of ./sops/vars for now
- don't initialize all flakes with sops keys, only generate when needed
- use the new 'clan vars keygen' in tests
2024-10-04 17:25:17 +02:00
DavHau
2a9ced1e26
vars: add 'clan vars keygen'
2024-10-04 16:13:49 +02:00
DavHau
ae53ea7399
vars: refactor - copy logic to sops secret module
...
This is in preparation for moving the storage away from ./sops to ./vars/sops
2024-10-04 14:31:22 +02:00
DavHau
4a0207f0b3
sops: refactor some function names for clarity
2024-10-02 13:56:43 +02:00
Johannes Kirschbauer
536ae8701d
Inventory/docs: display explizit roles only
2024-10-02 10:01:44 +02:00