483 Commits

Author SHA1 Message Date
DavHau
2a3e786cfe tests: explicitly specify services to be sourced from self
See previous commit
2025-06-30 10:13:46 +00:00
Jörg Thalheim
5d88ac440a add restricted network nixos modules
See README.md for explanation
2025-06-27 18:44:17 +02:00
pinpox
9adbc37ebd Fix machine-id on macos 2025-06-26 15:35:34 +02:00
pinpox
d88ac429cb Make machine ID a option 2025-06-24 10:42:03 +02:00
Qubasa
b66f4c889d genmoon.py: Fix type error 2025-06-17 13:53:43 +02:00
Michael Hoang
ad963a75c5 vars: don't expose restartUnits on macOS 2025-06-10 13:48:06 +07:00
Michael Hoang
e8ebd887d0 vars: don't use sops.secrets.*.restartUnits on macOS 2025-06-10 13:27:15 +07:00
lassulus
8ce860f0d3 Revert "clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser"
This reverts commit b1ef5f00bf.
2025-06-09 11:28:15 +02:00
Qubasa
b1ef5f00bf clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser 2025-06-07 00:51:24 +02:00
a-kenji
5b6bd74748 facts: Add deprecation warning 2025-06-04 13:21:09 +02:00
lassulus
39db9727d5 zerotier: fix targetHost 2025-06-04 08:46:01 +02:00
lassulus
6bd697ed75 zerotier: set targetHost if var is generated 2025-06-03 12:16:09 +02:00
DavHau
60f07c3472 tests: actually execute vars checks in CI 2025-05-31 16:16:09 +07:00
Jörg Thalheim
8860a58deb vars: add restartUnits option
For secrets not part of the nix store there is no other way in NixOS to
restart a service after the secret is updated. One example is changing
password in userborn, which doesn't run as a activation script but as a
systemd service.
2025-05-28 16:44:19 +02:00
Jörg Thalheim
75fa7ac609 add multiline-hidden prompt for both ui and cli 2025-05-14 19:53:36 +02:00
Mic92
5cd8c3729a Merge pull request 'Data-mesher: don't set owner for public vars' (#3571) from misc-fixes-2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3571
2025-05-12 10:27:05 +00:00
Jörg Thalheim
bdc0265ccd vars: improve warnings for non-public secrets 2025-05-12 12:06:05 +02:00
DavHau
fa011934f8 vars: cleanup sops file module 2025-05-12 15:30:23 +07:00
a-kenji
812b81f38e vars/interface: Fix typo 2025-05-06 19:48:08 +00:00
Jörg Thalheim
6f70a9ec01 vars: warn if mode/owner/user is used on non-secret var 2025-05-04 14:59:22 +02:00
Jörg Thalheim
f06296aa94 vars: fix defaultText 2025-05-04 14:59:22 +02:00
vdbe
26f336cf69 clanCore/vars/sops: add sops & switch to builtins.path 2025-05-04 08:08:58 +02:00
vdbe
f3e32ce827 clanCore/vars/sops: only copy required secrets to store
Create a store path per in repo secret/var to be copied, this prevents
unused secrets from being leaked.

For example the `root-password` generator contains both the hashed and
unhashed password but only the hash is used.
2025-05-04 08:08:58 +02:00
Johannes Kirschbauer
5253c155c0 feat(services): init feature flags in the module manifest: 'manifest.features.API' 2025-04-27 11:07:45 +02:00
Johannes Kirschbauer
f5c61382dd chore: remove unused option 'clanSchema' from core nixos modules 2025-04-27 11:07:45 +02:00
Raymond Barbiero
4117eb2f37 clanCore/vars: allow mode to be set
fmt
2025-04-25 11:29:43 +02:00
Jörg Thalheim
cbde58e1d8 zerotier: migrate from facts to vars 2025-04-22 18:20:35 +02:00
Michael Hoang
cd0867e402 networking: set targetHost if FQDN is explicitly set 2025-04-23 01:15:13 +10:00
Michael Hoang
f4b8f2e858 vars: fix default group on macOS 2025-04-22 23:39:47 +10:00
Michael Hoang
5e61a6e41d nixosModules/clanCore: support nix-darwin 2025-04-22 23:14:03 +10:00
Michael Hoang
2c9b25624a vars: improve messaging 2025-04-22 02:03:24 +10:00
Johannes Kirschbauer
9c3474f55f machine/vars: expose result direclty via vars submodule; keep deployment.data alias for now 2025-04-20 13:23:01 +02:00
hsjobeki
b48b30de0e revert db50ffc4b7
revert vars: use writeShellApplication to shellcheck generators

Cannot re-generate the vars for data-mesher or any of our tests anymore

cc @DavHau @Qubasa Can we work together to fix this.
I like shellchecking but if we loose the ability to add tests thats unfortunate
This is blocking: the new 'restic' and 'zerotier' migrations because we need to write integration tests from the beginning.
2025-04-16 07:14:25 +00:00
Michael Hoang
4097da5ce7 clanCore: remove clan.core.module 2025-04-15 17:17:16 +02:00
Michael Hoang
1d159fb774 build-clan: expose Clan configuration as a module 2025-04-14 16:04:06 +02:00
RTUnreal
db50ffc4b7 vars: use writeShellApplication to shellcheck generators 2025-04-09 19:44:00 +02:00
Michael Hoang
ce85aebc17 tests: add --show-trace to nix-unit tests 2025-04-08 08:53:29 +02:00
DavHau
085a8c2050 remove some references to config in options 2025-04-03 17:29:07 +07:00
DavHau
e540b82dc6 remove default for clan.core.settings.machine.name and make readOnly
There is not reason that there needs to be a default. Machines are usually defined as an attrset, so there is no reason to have a default.
Also make this readOnly as we never want to override it.
2025-04-03 17:29:07 +07:00
Michael Hoang
8b350d4826 networking: don't set targetHost if FQDN is not set
This will change in the future once we finish the networking Clan module
and we'll have a reliable way of addressing every node automagically.
Until then, this will have to do.
2025-04-03 08:43:10 +02:00
Johannes Kirschbauer
dd10497d96 fix(test/vars): include lib into test closure 2025-04-02 10:31:16 +02:00
Pablo Ovelleiro Corral
8ed186ce55 data-mesher: init module
Co-authored-by: Brian McGee <brian@bmcgee.ie>
2025-03-29 13:49:41 +00:00
Michael Hoang
753b341f8c networking: add a default value for targetHost 2025-03-20 22:45:19 +09:00
Michael Hoang
35455afeb8 nixos/clan: rename setDefaults to enableRecommendedDefaults 2025-03-05 03:37:41 +00:00
lassulus
90bd9217e3 vars fs: fix 2025-02-22 03:39:42 +00:00
Louis Opter
c689c23d0c clan-cli: "fix" ssh option parsing
Calling it fix in double quotes since that's still quite hand-crafted,
but at least you can now specify options with `@` inside them (e.g.
`ProxyJump`) and have it work properly.

Moreover this fixes the syntax for GET-like variables in the networking
clanCore module. Only the fixed syntax is supported since that's what
was tested, and actually parsed in the code.
2025-02-18 21:37:38 +00:00
Pablo Ovelleiro Corral
f28a38bbb3 Make store-backend configurable 2025-02-18 06:34:50 +01:00
Michael Hoang
4e2ae0f9f6 cli: add morph command 2025-02-16 21:31:28 +07:00
Michael Hoang
c4f77989fb nixos/clan: add option for opting out of Clan defaults
Also replace `documentation.nixos.enable = false` with
`documentation.doc.enable` to opt out of only `nixos-help` and the HTML
manual but leave `man configuration.nix`.
2025-02-16 21:31:28 +07:00
a-kenji
da0f792d9e vars/interface: Change prompt.persist default to false
Change `prompt.persist` default to false.
We want a consistent default that is not conditionally dependent on
other values.
This makes communication on how the functionality is used more
consistent and easier understood.
2025-02-04 07:47:22 +00:00