Commit Graph

54 Commits

Author SHA1 Message Date
Johannes Kirschbauer
b015f1f123 PropagatedBuild inputs workaround 2024-07-26 15:23:25 +02:00
Johannes Kirschbauer
6d49f5c926 Commit generated code otherwise CI cannot check types 2024-07-19 09:52:14 +02:00
Johannes Kirschbauer
07965598f5 Classgen: add mapped keys and more stuff 2024-07-18 21:58:36 +02:00
Johannes Kirschbauer
7e84eaa4b3 Init: Autogenerate classes from nix interfaces 2024-07-18 19:14:12 +02:00
DavHau
75b969b1ad clan-cli: improve runtime dependency management
Many dependencies of clan-cli  are currently dynamically loaded via nix-shell on each execution.
This is nice, as it reduces the initial closure size of clan, but the overhead introduced by nix-shell piles up quickly, as some commands shell out many times during their lifetime. For example, when adding a secret git is called 10+ times.

This reduces the time of a test which adds a secret from around 50 seconds to 15 seconds.

- add run_cmd() as an alternative to nix_shell()
- introduce the concept of static dependencies which do not need to go through nix-shell
- static dependencies are defined at build time and included into the wrapper for clan-cli
- add package: clan-cli-full which statically ships all required dependencies

TODO: deprecate nix_shell() in favor of run_cmd()
2024-07-11 15:34:41 +07:00
DavHau
3447a98bee vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00
DavHau
802f047341 devShells: make all shells inherit from default shell
Currently, important tools from the default shell are lost as soon as select-shell is used to switch to another shell. select-shell itself, for example is missing, which makes it impossible to switch back to another shell.
2024-07-05 15:01:25 +07:00
Johannes Kirschbauer
8687801cee clan ui: setup typed api method 2024-05-20 19:34:49 +02:00
Qubasa
4f6d25160f Add --ssh-pubkey FILE argument 2024-05-14 15:41:15 +02:00
a-kenji
148a0c90cc clan-cli(docs): modularize in preparation for manpage generation 2024-05-14 12:18:37 +02:00
Johannes Kirschbauer
15dd4ea25f cli-docs: add automatic markdown cli docs 2024-05-07 13:26:33 +02:00
Jörg Thalheim
e296a3019d re-format with nixfmt 2024-03-17 19:48:49 +01:00
Qubasa
330ef00a7c Removed python deal. 2023-12-30 23:10:43 +01:00
Jörg Thalheim
0bdf55b09f use nix-unit from nixpkgs 2023-12-15 12:36:07 +01:00
Qubasa
7dc2c21517 Deleted everything webui 2023-12-14 18:47:14 +01:00
Qubasa
b319db0df9 Fixed democlan dep 2023-12-09 00:21:33 +01:00
Qubasa
136246de79 Removed democlan dependency 2023-12-09 00:19:30 +01:00
Qubasa
d4b8cef242 Added clan flakes inspect command. Improved ClanURI. Added democlan as dependency in flake.nix 2023-12-09 00:09:21 +01:00
Jörg Thalheim
d033f523b8 openapi: put a static version into the repository
This avoids a lot of rebuilds and we can also track api changes better
2023-11-24 15:56:27 +01:00
Qubasa
48f0381fb5 schemathesis: Add as runnable application instead of library to resolve httpx dependency collision issue 2023-11-20 17:14:12 +01:00
Jörg Thalheim
1f558954af drop schemathesis
This creates conflicting python packages when included
2023-11-15 16:48:46 +01:00
Jörg Thalheim
c8e1acac2b rename luispkgs to nixpkgs-for-deal 2023-11-10 13:14:06 +01:00
DavHau
2a6e329e40 api/schema: get schema without having a machine
Also done:
- add @pytest.mark.with_core indicating that a test depends on clan-core and cannot be cached
- separate unit tests into two derivations, ones that can be cached and ones that cannot.
- fix frontend typescript code
2023-11-09 15:30:25 +07:00
Qubasa
32aa287da5 Added schemathesis dependency 2023-11-08 19:56:05 +01:00
Qubasa
9cb46bf1cd Flake: Added python package deal as dependency 2023-11-08 19:55:11 +01:00
DavHau
017221febb clan-cli: stop propagating build inputs, remove wrapper 2023-10-04 10:36:39 +02:00
Jörg Thalheim
91c8b9c64f fix pname of clan-cli for nix run 2023-09-28 14:06:35 +02:00
Jörg Thalheim
1a926f6cf3 clan-cli: fix eval 2023-09-28 12:20:26 +02:00
Jörg Thalheim
0f1b7cf916 clan-cli: symlink cli into an otherwise empty package
This avoids propagating unneeded python libraries
2023-09-28 12:19:16 +02:00
Jörg Thalheim
74a3c85c29 move zerotier secret generation into nixos module 2023-09-26 17:57:43 +02:00
Jörg Thalheim
e2cf3c1601 fix test not beeing exposed 2023-09-22 16:07:39 +02:00
Jörg Thalheim
41f1b8a15a perf? make clan-cli evaluate waaayyy faster
Before my small devshell to 7s. Now I am back to 2.6s
2023-09-22 09:00:08 +02:00
lassulus
58e5482efd clan-cli: set checks with mkDefault 2023-09-21 17:25:32 +02:00
lassulus
aeed648bd0 secrets: use clanInternal for crosscompiling, move sops generators to new file 2023-09-21 17:25:32 +02:00
Jörg Thalheim
18c360f729 make all pytest dependencies also available to impure tests 2023-09-21 17:25:32 +02:00
DavHau
6a359c0a2f clan-cli: add git.commit_file() to auto commit files if inside a git
- commit only if inside a git repo
- commit only the specified file and nothing else
- auto-generate commit message if not specified
2023-09-21 14:07:54 +02:00
Jörg Thalheim
4735586dac fix uneccessary clan-cli rebuilds by not relying on self 2023-08-27 10:21:02 +02:00
Jörg Thalheim
9ae14a4f7d integrate static assets into webui command 2023-08-26 12:24:57 +02:00
Jörg Thalheim
aa14e7ddc7 generate openapi 2023-08-25 11:39:46 +02:00
Jörg Thalheim
a096d8ddcc clan-cli: add update command 2023-08-11 16:10:25 +02:00
DavHau
7262208a4c clanLib.jsonschema: move tests from pkgs/clan-cli 2023-08-09 16:05:33 +02:00
Jörg Thalheim
4296ef92a9 rename clan to clan-cli
It's already confusing enough to have so many things called clan-cli
2023-08-08 14:18:10 +02:00
Jörg Thalheim
fa8dbf0e4f cli: re-expose missing dependenices 2023-08-03 13:34:44 +02:00
Jörg Thalheim
cb0197fcf3 simplify clan cli build expression
also re-expose missing age
2023-08-03 13:34:44 +02:00
Jörg Thalheim
e603ee6f49 readd mypy/pytest to checks 2023-08-03 11:31:56 +02:00
DavHau
b88ac7a2bf clan-config: init
- nixos-modules to jsonschema converter
- nix unit testing via adisbladis/nix-unit
- clan config: configuration CLI for nixos-modules
2023-08-02 20:04:16 +02:00
Jörg Thalheim
658c76336f add secrets integration
clan-cli: also depend on age for secrets
2023-08-02 09:19:14 +00:00
Jörg Thalheim
38222cee58 cli: make it more clear what optional deps are 2023-07-26 07:37:24 +00:00
Jörg Thalheim
09cc79867d cli: get optional deps from our own flake
This ensures we actually test if all those binaries build
2023-07-26 09:31:49 +02:00
Jörg Thalheim
3d14039474 using flakes for devshell without reimporting nixpkgs multiple times 2023-07-26 06:53:33 +00:00