Brian McGee
a438fe77a7
feat: configure age plugins for SOPS in buildClan
2025-04-29 16:02:32 +10:00
Johannes Kirschbauer
acbe619883
Refactor(clan_lib): move clan_cli.api into clan_lib.api
2025-04-26 19:51:35 +02:00
Raymond Barbiero
222915a9ed
clanCore/vars: allow mode to be set
...
fmt
2025-04-25 11:29:43 +02:00
hsjobeki
6f2b7aa6d1
Merge pull request 'vars-fix-overeager-chache-invalidation' ( #3385 ) from hsjobeki/clan-core:vars-fix-overeager-chache-invalidation into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3385
2025-04-22 18:28:27 +00:00
Jörg Thalheim
7392570859
use machine.{secrets,public}_{vars,fact}_store everywhere
2025-04-22 18:20:35 +02:00
Johannes Kirschbauer
b47f2b6870
vars: move overeager cache invalidation after one generator closure is regenrated.
...
Invalidation doesn't need to be done after each generator is executed.
We cannot interpolate values from other generators into another
generator. The generators are executed in order. The finalScript of each
generator stays constant.
After the complete closure is generated the caller of generate may
decide to invalidate the flake cache
2025-04-22 16:42:21 +02:00
Jörg Thalheim
80e739bd1b
Reapply "remove nix_shell_legacy"
...
This reverts commit 1232fb5af2 .
2025-04-21 13:23:50 +02:00
Michael Hoang
23ae0e6712
vars: make wording nicer when multiple vars are found
2025-04-18 19:18:42 +02:00
Johannes Kirschbauer
1232fb5af2
Revert "remove nix_shell_legacy"
...
This reverts commit 8cde32c76f .
2025-04-18 14:49:54 +02:00
Jörg Thalheim
8cde32c76f
remove nix_shell_legacy
2025-04-16 21:03:58 +02:00
Jörg Thalheim
2240a3a533
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
lassulus
21c45e5ad9
clan_cli vars generate: prefetch all validationHashes for faster eval
2025-04-14 14:28:59 +02:00
Jörg Thalheim
ef5d62a1c1
don't error on macOS if sandbox for vars is missing
2025-04-14 14:11:51 +02:00
Johannes Kirschbauer
ffb1d51fc4
chore(clan/vars): make no-sandboxing message print a more explizit re-run command
2025-04-10 22:39:27 +02:00
Brian McGee
ed5fc20069
feat(clan-cli): support multiple keys for a user
2025-04-09 09:58:58 +00:00
DavHau
77ab4f7208
vars: add feature --no-sandbox
...
Raise warning if sandbox cannot be used -> request user to run with --no-sandbox
2025-04-09 15:02:20 +07:00
Jörg Thalheim
64346bacc8
only compute final_script and validation hashes once
2025-04-04 18:31:12 +02:00
Jonathan Thiessen
eb35e6ea21
Make Generator's validation dynamic
...
* Switch `Generator`'s `validation` from a regular property to
an `@property` annotated method backed by `Machine`'s `eval_nix()`.
* Ensure that `Machine`'s flake cache is flushed after each
effectful generator execution (rather than only after all
generators have been executed).
2025-03-30 04:33:30 +00:00
DavHau
e2ccd979ed
vars/prompts: print var name even if custom description is set
2025-03-26 10:48:05 +00:00
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
Louis Opter
dbcb8d6a4c
clan-cli: don't try to delete a dir that doesn't exist in the pass vars backend
...
Do not crash in `delete_store`, if the machine has no vars, or the store
has been deleted already.
2025-03-19 10:53:38 +00:00
Louis Opter
ef5ad09b2d
clan-cli: add delete and delete_store to StoreBase
...
- `delete` lets you delete a specific var under a specific generator;
- `delete_store` deletes an entire store.
The `delete` method could be useful to "garbage-collect" unused vars as
a machine's configuration changes.
The `delete_store` method can be used to delete all the vars for a
machine when the machine is deleted. The current behavior is to leave
everything behind.
Important point:
- `delete_store` needs to be idempotent because public and
"private"/"secret" vars for a machine can share the same physical
store (directory), and deleting either type of store (public or
private) will delete both.
2025-03-19 10:53:38 +00:00
DavHau
9797ef792a
vars+facts: use bwrap only if supported
2025-03-09 13:52:15 +07:00
Michael Hoang
39761946a0
vars/sops: fix clan vars fix missing machine name in error message
2025-03-02 08:22:23 +07:00
Pablo Ovelleiro Corral
46971aa51f
Apply suggestion
2025-02-25 08:51:51 +01:00
Pablo Ovelleiro Corral
3d83266916
Fix exists() check for age files
2025-02-25 08:51:51 +01:00
lassulus
5ac629f549
clan-cli: use new flake caching for machines
2025-02-23 15:58:03 +01:00
lassulus
ada544ef56
vars fs: fix
2025-02-22 03:39:42 +00:00
Pablo Ovelleiro Corral
27a3126d68
Make store-backend configurable
2025-02-18 06:34:50 +01:00
Michael Hoang
160bbfcb37
cli: add morph command
2025-02-16 21:31:28 +07:00
lassulus
32748c14f4
clan_cli machines: use Flake instead of FlakeId
2025-02-07 06:26:09 +01:00
a-kenji
6d2845c645
pkgs/cli: Rename create_file -> persist
2025-02-06 14:59:59 +00:00
Louis Opter
30c7e32a3d
clan-cli: honor clan.core.sops.defaultGroups option in vars fix
2025-02-04 03:13:20 +00:00
lassulus
90fbe807d6
clan-cli vars upload: add optional --directory
2025-02-02 11:52:36 +00:00
Qubasa
4a144e77a4
clan-cli: Add ruff to devShell again. Add missing type annotations
2025-01-29 19:16:34 +07:00
a-kenji
ce148c23a5
Fix various typos
2025-01-22 13:19:28 +01:00
Johannes Kirschbauer
096f1b5e8a
Vars/secrets-store: omit folder exists errors for secrets
2025-01-22 09:02:55 +00:00
Michael Hoang
0ec38c7919
vars: support secrets for partitioning the disk
2025-01-21 11:13:51 +00:00
Pablo Ovelleiro Corral
7a17a04698
Migrate borgbackup module to vars
2025-01-16 13:14:24 +01:00
Jörg Thalheim
e2aa66d86f
reformat after update
2025-01-14 15:30:29 +01:00
DavHau
bbe37a998f
vars: rename createFile -> persist
2025-01-11 04:19:46 +00:00
Johannes Kirschbauer
c6fe4f2625
API/vars: use string based interfaces to get and set vars to avoid state mutations
2025-01-10 12:06:01 +00:00
Johannes Kirschbauer
6b209f1008
API/vars: simplify get/set prompts
2025-01-07 11:09:58 +01:00
Jörg Thalheim
73680d2492
fix spacing in error message
2024-12-25 22:55:03 +01:00
Jörg Thalheim
bc48ec738b
vars: commit validation hashes
2024-12-25 21:02:52 +01:00
Jörg Thalheim
9fb0e3a1db
vars: fix path to validation hashes
2024-12-25 20:48:59 +01:00
Jörg Thalheim
14fdf2debd
vars/fact: isolate secret generation better from the system
2024-12-25 19:21:51 +00:00
Michael Hoang
60ef888636
vars: make populate_dir a method of StoreBase
2024-12-22 05:53:26 +00:00
Michael Hoang
7aa275a5b4
install: upload vars needed for activation for installation
2024-12-22 05:53:26 +00:00
clan-bot
ab44967490
Merge pull request 'vars: allow setting files as needed for activation' ( #2633 ) from vars-needed_activation into main
2024-12-19 12:26:58 +00:00