1
0
forked from clan/clan-core
Commit Graph

950 Commits

Author SHA1 Message Date
7d22f7c9fc Added join window 2023-12-08 11:56:27 +01:00
72327093c2 Merge pull request 'make cli options more type safe using a dataclass' (#619) from Mic92-main into main 2023-12-08 10:33:44 +00:00
fa0a7ce122 make cli options more type safe using a dataclass 2023-12-08 11:31:29 +01:00
01291c55c1 Merge pull request 'make sure that flake url is always set in the cli' (#618) from Mic92-main into main 2023-12-08 10:07:50 +00:00
f261578187 make sure that flake url is always set in the cli 2023-12-08 11:05:22 +01:00
cf68bd41d6 backups: implement list/create and dry-run restore 2023-12-07 18:23:22 +01:00
45e9ab45f7 backups: implement list the easy way 2023-12-07 13:22:41 +01:00
6b8216b3ac Added windows folder 2023-12-06 18:38:19 +01:00
bbc411135c move mypy/ipdb to devshell 2023-12-06 17:16:28 +01:00
807b53c71b modernize code with ruff 2023-12-06 17:13:58 +01:00
8ea149de07 re-add 'U' ruff type category
This should have been not removed
2023-12-06 17:11:17 +01:00
2f56c73b47 pending-script: add @ before username 2023-12-06 16:15:42 +01:00
7bc54cb524 get rid of task_manager 2023-12-06 15:53:23 +01:00
9576047adb add qemu-wayland 2023-12-06 15:53:23 +01:00
0eb2f2c708 Merge pull request 'clan_cli: ClanURI fixed non executing tests' (#611) from Qubasa-main into main 2023-12-06 12:41:16 +00:00
b48fb10f86 clan_cli: ClanURI fixed non executing tests 2023-12-06 13:38:22 +01:00
87b664d3b1 Merge pull request 'clan_cli: Remodeled ClanURI parser' (#610) from Qubasa-main into main 2023-12-05 17:19:42 +00:00
cb984f6d43 clan_cli: Remodeled ClanURI parser 2023-12-05 18:16:51 +01:00
22d5a61a51 clan_cli: Remodeled ClanURI parser 2023-12-05 18:08:27 +01:00
d694ef9bad Merge pull request 'Improved desktop file installation' (#609) from Qubasa-main into main 2023-12-05 15:20:03 +00:00
63c820ed86 clan_cli: Added ClanURI class parser 2023-12-05 16:17:15 +01:00
0cadbe0f1d Improved desktop file installation 2023-12-05 16:05:13 +01:00
4c093ea2d9 clan-vm-manager: fix meta.mainProgram 2023-12-05 20:31:14 +07:00
062594029a Merge pull request 'clan-vm-manager: Fixed vm-manager start' (#607) from Qubasa-main into main 2023-12-05 12:44:07 +00:00
fcf21093ac nix fmt 2023-12-05 13:41:41 +01:00
af441e71d2 clan-vm-manager: Fixed vm-manager start 2023-12-05 13:41:02 +01:00
c701b43edb Merge pull request 'clan-vm-manager: Fixed assets folder not included' (#606) from Qubasa-main into main 2023-12-04 18:26:51 +00:00
f183e759d3 clan-vm-manager: Added join subcommand 2023-12-04 19:23:35 +01:00
60bd3a3888 clan-vm-manager: Added URI xdg-mime installation into devshell 2023-12-04 17:53:22 +01:00
0b772668a8 Merge pull request 'backups: add clanCore backup & clan borgbackup module' (#605) from lassulus-backups into main 2023-12-04 16:51:33 +00:00
e772d29f44 implement backup cli for borgbackup 2023-12-04 17:47:23 +01:00
d7b1a9f959 clan-vm-manager: Fixed assets folder not included 2023-12-04 16:56:42 +01:00
82fb1c36fe clan-vm-manager: Preserved selection on view change 2023-12-04 14:29:05 +01:00
493b377266
gui add stack switcher, remove notebook tabs 2023-12-03 14:09:09 +01:00
b4370c54e1
gui re-rendering & cleanup 2023-12-02 16:16:48 +01:00
bdcf5dbe8b
extend clan history model 2023-12-02 16:16:38 +01:00
0e6d4cb0bb nix fmt 2023-12-02 00:15:55 +01:00
4dbf355ce2 partiall working run VM 2023-12-02 00:15:25 +01:00
3883f5378c Removed submodule 2023-12-01 23:16:45 +01:00
8012bd5870 VMBase dataclass added 2023-12-01 23:13:36 +01:00
cfe7f4b50f VMBase dataclass added 2023-12-01 19:31:57 +01:00
9908ba447c moved code-workspace 2023-12-01 16:11:59 +01:00
34e8f42c52 remove breakpoint 2023-12-01 15:51:44 +01:00
583311fcda nix fmt 2023-12-01 15:46:27 +01:00
3db73d3396 Added better error handling in --flake argument 2023-12-01 15:45:05 +01:00
f9b7c5a468 Extracted class from app.py 2023-12-01 15:18:05 +01:00
a4a16361c9 Extracted class from app.py 2023-12-01 15:17:54 +01:00
5c9b95c0b9 fixed assert bug 2023-12-01 14:24:44 +01:00
5aa27044e5 Implemented working double click on table with information extraction 2023-12-01 14:22:50 +01:00
468e8d7718 nix fmt 2023-12-01 13:15:34 +01:00
a931d73e4f Improved Table with feedback from W 2023-12-01 13:14:38 +01:00
703f3dd6ee remove outdated comment 2023-12-01 16:31:35 +07:00
e46d13d626 remove outdated comment 2023-12-01 16:11:31 +07:00
261322fae8 flake history: make operations atomic 2023-12-01 14:00:15 +07:00
b5afb3f9c0 clan-cli: also package mimetypes 2023-11-30 14:31:37 +01:00
4fd84d1c48 disallow variable shadowing 2023-11-30 14:31:37 +01:00
780ffb9c8f make type checking more strict 2023-11-30 14:31:37 +01:00
373fc83160 add option to extend path for generator 2023-11-30 14:15:40 +01:00
31ce8f7357 fix build 2023-11-30 11:08:50 +01:00
ee705c5976 task-manager: spam select() without timeout 2023-11-30 10:57:58 +01:00
d0362bb757 error if age key cannot be decoded 2023-11-30 10:57:58 +01:00
3ae1c9cf75 integegrate remote-viewer instead of spicy 2023-11-29 16:07:12 +01:00
f1b223d0a1 modernisation for python 3.11 2023-11-29 13:29:45 +00:00
26e3e3872c enable more linting 2023-11-29 13:29:45 +00:00
f3b3aba6c5 run_upload_secrets: don't swallow stdout output 2023-11-29 11:38:01 +01:00
977bbbbd59 install: fix secrets upload 2023-11-29 11:38:01 +01:00
02a6162a1d test: add ipv6 example without port 2023-11-29 11:38:01 +01:00
179d1ed2c6 add sops command to sync keys with secrets 2023-11-29 11:34:19 +01:00
1497e37d2f clan-vm-manager/devshell: set PYTHONBREAKPOINT with nix 2023-11-29 11:29:58 +01:00
ee5a4ea7d9 clan-vm-manager: drop rants from README
they could be reformulated as pitfall documentation but in the current form it looks unprofessional
2023-11-29 11:26:46 +01:00
91c1e91e47 nix fmt 2023-11-28 20:11:51 +01:00
9c20c5b25b Made TreeView resizable 2023-11-28 20:11:04 +01:00
2fa124f274 nix fmt 2023-11-28 19:55:40 +01:00
50590ecdc4 Added UI structure and first clan vm manager 2023-11-28 19:52:29 +01:00
f0f6bdce96 Fully working clan select 2023-11-28 18:19:01 +01:00
4ace326aeb add dummy backups cli 2023-11-28 13:23:48 +01:00
b1a4c502dd Merge pull request 'init: vm manager list view' (#570) from hsjobeki-main into main 2023-11-28 09:33:58 +00:00
e032575ec0
GUI: select handler to vm list 2023-11-28 10:31:25 +01:00
ebe411d50d
init: vm manager list view 2023-11-28 10:29:38 +01:00
0ae454c8a9 Merge pull request 'allow ipv6 addresses in deployment addresses' (#569) from Mic92-cli into main 2023-11-28 09:08:31 +00:00
303df741e9 allow ipv6 addresses in deployment addresses 2023-11-28 10:05:45 +01:00
a90d0cc806 Added spice-gtk 2023-11-25 02:25:49 +01:00
2bd76231a0 Added snarky comments into README 2023-11-25 02:04:55 +01:00
6df833d59b Added basic GTK window handling 2023-11-25 01:55:01 +01:00
bb7f92f9aa update ui-assets.nix 2023-11-24 14:59:09 +00:00
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
884c200061 rename vms create to vms run 2023-11-24 15:00:08 +01:00
6d670fed42 nix-unit: pin nix version
This will always break and this way we can delay how often we update it.
2023-11-24 08:28:08 +01:00
882a5011c0 nix-unit: add missing wrapper 2023-11-24 08:22:13 +01:00
ce1ad9f8c2 clan-cli: drop unused mypy overrides for gi 2023-11-23 18:01:40 +01:00
81512b99a3 start spice in background 2023-11-23 17:56:05 +01:00
63a74ced2e spice: use unix socket instead of tcp 2023-11-23 17:34:06 +01:00
c701ab7514 fake_deal: fixup call wrapper 2023-11-23 17:32:37 +01:00
8a0ecd802e switch to spice for graphical vms 2023-11-23 16:59:07 +01:00
47d0dd297f vms: start with cpu=max
This unlocks some cpu extensions
2023-11-23 16:55:36 +01:00
136ccc89f1 clan-vm-manager: add desktop-icon 2023-11-23 15:30:44 +01:00
79d0f441d9 clan-vm-manager: prepend local clan-cli to python path 2023-11-23 15:30:44 +01:00
b8f5c13553 clan-vm-manager: simplify shellHook 2023-11-23 15:30:44 +01:00
f68c10a008 clan-vm-manager: add nix package 2023-11-23 15:30:44 +01:00
2e54575474 clan-cli: drop dependency on deal 2023-11-23 15:03:46 +01:00
9eed5a7fec drop glade backup file 2023-11-23 15:03:46 +01:00
a838c4da17 mv clan-vm-manager to its own package 2023-11-23 15:03:46 +01:00
832c41df7e Added gtk demo app 2023-11-23 15:03:38 +01:00
17c71d2f40 Added more deal tests 2023-11-21 16:44:38 +01:00
7d3ccb23ea drop desktop item from cli 2023-11-21 15:26:36 +01:00
8759e5a049 drop dependency on fastapi in the cli 2023-11-21 15:09:18 +01:00
f9f2f7bb65 drop join from cli 2023-11-21 14:25:51 +01:00
90ff10eac1 Revert "nix-unit; update"
This reverts commit bd7899e48a.
2023-11-21 13:58:05 +01:00
c901133a81 Merge pull request 'schemathesis: Add as runnable application instead of library to resolve httpx dependency collision issue' (#543) from Qubasa-main into main 2023-11-21 12:49:38 +00:00
48008c9b7f fix compilation of frontend 2023-11-21 12:48:35 +00:00
7afaaf8c5a get rid of pydantic in cli 2023-11-21 12:48:35 +00:00
48f0381fb5 schemathesis: Add as runnable application instead of library to resolve httpx dependency collision issue 2023-11-20 17:14:12 +01:00
bd7899e48a nix-unit; update 2023-11-20 17:03:37 +07:00
ef72523f54 update ui-assets.nix 2023-11-20 08:34:25 +00:00
bf837dc842 Merge pull request 'extend toolbar styling, add support for atomic menu' (#539) from hsjobeki-main into main 2023-11-20 08:33:01 +00:00
b83a440cb2
move join url 2023-11-20 09:29:46 +01:00
f7f3bd2e35
decompose join/create clan, move to manage page 2023-11-20 09:22:39 +01:00
b4550b3dd9
extend toolbar styling, add support for atomic menu 2023-11-20 09:21:59 +01:00
9f63f725d3 history: fix: store entries only once 2023-11-20 11:39:00 +07:00
9d99f93b37 update ui-assets.nix 2023-11-19 11:10:43 +00:00
8922bcc8f0
fix imports & class order 2023-11-19 12:06:36 +01:00
648c6157ad ui: add clan tool bar
To use for selecting a clan from the history
2023-11-18 18:32:02 +07:00
ff03944ff4 update ui-assets.nix 2023-11-18 10:18:20 +00:00
efa59abac6
prepare for select clan from history 2023-11-18 11:00:16 +01:00
3d7f9fefa8
removed unused part 2023-11-18 11:00:16 +01:00
ee9d7fe6cb update ui-assets.nix 2023-11-18 09:43:34 +00:00
30f22acaf5 ui: display overlay when no machines available 2023-11-18 16:40:09 +07:00
8767e9900d update ui-assets.nix 2023-11-18 08:38:57 +00:00
fb474a926a removed unused part 2023-11-18 15:35:13 +07:00
808bd3defd
start machine list cleanup 2023-11-17 16:10:09 +01:00
c46638f589 api/flake/history: implement review requests 2023-11-17 18:26:55 +07:00
bf2b8b4cca Merge pull request 'hide root from api schema' (#529) from hsjobeki-hsjobeki into main 2023-11-17 11:07:11 +00:00
f07fb05220
hide root from api schema 2023-11-17 12:03:40 +01:00
64649ff7a9 api/flake/list_history: init
Add an api endpoint to list the history of clan flakes that have been interacted with

Also add `clan flake list`
2023-11-17 17:56:14 +07:00
02c3222f6b
hide root from api schema 2023-11-17 11:54:17 +01:00
a01cb9434b update ui-assets.nix 2023-11-17 10:47:47 +00:00
a7d46a561e Merge pull request 'fix ui' (#528) from hsjobeki-hsjobeki into main 2023-11-17 10:46:19 +00:00
f419ff842a
fix ui 2023-11-17 11:42:43 +01:00
999ad67277 api/flake/add: init
Adds an endpoint to memoize clans.
clan flakes can be added to the history either via the endpoint or by executing `clan flakes add`
2023-11-17 17:05:15 +07:00
5e280674fa meshname: fix mx records and support for reverse-ips 2023-11-16 17:32:05 +01:00
978d9efd7e secrets/generate-private-key: just create parent opportunistically 2023-11-16 13:19:12 +01:00
12930b4057
clan_cli: create key directory 2023-11-15 23:15:12 +01:00
5640b84433 machines.update: remove redundant flake argument 2023-11-15 21:57:08 +01:00
e185ab971c Merge pull request 'bump nix-unit' (#517) from joerg-ci into main 2023-11-15 15:51:47 +00:00
1f558954af
drop schemathesis
This creates conflicting python packages when included
2023-11-15 16:48:46 +01:00
89b235e18a
bump nix-unit 2023-11-15 16:39:48 +01:00
1d7e8046fe Merge pull request 'pending-reviews: add bullet points to prs' (#516) from Mic92-sops-nix into main 2023-11-15 15:36:58 +00:00
df0bdb5b5f
pending-reviews: add bullet points to prs 2023-11-15 16:34:21 +01:00
a3e42a958f disable ui 2023-11-15 16:28:09 +01:00
1ea13646ea clan_cli: flake_name -> flake_dir 2023-11-15 16:23:28 +01:00
7c50846f00 Merge pull request 'add pending-reviews script' (#514) from Mic92-sops-nix into main 2023-11-15 12:51:20 +00:00
56f135faed
add pending-reviews script 2023-11-15 13:48:52 +01:00
6af96a6f87 Merge pull request 'tea-create-pr: automatic needs-review label' (#513) from Mic92-sops-nix into main 2023-11-15 12:00:35 +00:00
7ec378ca62
tea-create-pr: automatic needs-review label 2023-11-15 12:55:30 +01:00
aa39a631ac Fix incorrect machine name for shell.nix 2023-11-15 11:29:07 +01:00
9358dfb666
drop verbose command logging in task manager 2023-11-15 07:21:26 +01:00
c1f6c0db66
pytest: add missing with-core marker 2023-11-15 07:21:26 +01:00
6cb41cb006
also regenerate secrets if a fact is missing 2023-11-14 17:07:58 +01:00
b9618e57c5
fix exception when file does not exist
fixes clan/clan-core#488
2023-11-14 16:57:05 +01:00
19d7f17310
add cors headers in exception handler in cors 2023-11-14 16:39:20 +01:00
18627baa9c
only enable corsmiddleware when in dev mode and allow all origins 2023-11-14 15:32:03 +01:00
f2e2d50c06 Merge pull request 'add module for meshnamed' (#499) from Mic92-sops-nix into main 2023-11-14 12:01:26 +00:00
bdc8ef63ed add module for meshnamed 2023-11-14 12:58:15 +01:00
2dcdf738ce api/machines: add test ensuring empty config is valid 2023-11-13 21:56:02 +07:00
6a52c5f15b api/machines: allow config verification on imaginary machines
Machines do not need to exist in order to verify their configuration.

This allows verifying a config before creating an actual machine with it.
2023-11-13 21:24:05 +07:00
55a1df7868 api/machines: verify config by evaluating the .vm output
This fixes the problem where fileSystems were missing, or boot.loader was not set.

SInce we want VMs anyways for now, this strategy aligns well
2023-11-13 20:50:11 +07:00
f55fcc1551 update ui-assets.nix 2023-11-13 13:31:33 +00:00
1652b5c27b api/machines: init put_machine replacing create_machine and set_machine_config
This allows creating and configuring a machine in one single step.
2023-11-13 20:25:52 +07:00
2395119d21 task_manager.py: fix index out of range bug 2023-11-13 20:21:51 +07:00
14c4b99891 commit_file: fix diff computation
previously computed diff over all files
2023-11-13 19:59:20 +07:00
42dba72239 chore: remove unnecessary comment 2023-11-12 07:57:48 +07:00
236ca4f98c api/machines: ensure name is valid hostname 2023-11-12 07:57:48 +07:00
3a2c407ae0 update ui-assets.nix 2023-11-11 14:30:55 +00:00
74c8b85e4a
fix type errors 2023-11-11 15:27:57 +01:00
7a02483534
merge main 2023-11-11 15:11:06 +01:00
d7476c967e
clean up join workflow 2023-11-11 15:01:18 +01:00
97b8c7a701
add & configure machine: added formular integration 2023-11-11 10:08:39 +01:00
54ede8a0ff vms/create: drop extra flake argument and make it work with local flakes 2023-11-10 13:43:14 +01:00
c8e1acac2b rename luispkgs to nixpkgs-for-deal 2023-11-10 13:14:06 +01:00
c0be813a4c dirs: opportuniscally create directories 2023-11-10 12:55:46 +01:00
657cdd6e67 drop unused clan_data_dir 2023-11-10 12:55:46 +01:00
df1acebd87 move flake configuration to .config/clan/flakes rather than $XDG_DATA_DIRS 2023-11-10 12:50:51 +01:00
46191b9a9c drop unused ClanDataPath 2023-11-10 12:46:15 +01:00
85a06d47e5 breakpoint_shell: make work_dir optional 2023-11-10 12:40:51 +01:00
13b685f7af moving deal dependencies to tests only 2023-11-10 12:39:24 +01:00
b518d92678 Merge pull request 'zerotier: allow to persist zerotier identities/ips/meshnames for non-controller' (#482) from zerotier into main 2023-11-10 10:59:48 +00:00
c28089d4b2 allow to persist zerotier identities/ips/meshnames for non-controller 2023-11-10 11:56:54 +01:00
39607a0925 api/schema: return list of missing modules 2023-11-10 15:07:15 +07:00
97ea9312ac api/schema: don't crash on eval error 2023-11-10 14:27:03 +07:00
b8ed607658 also override XDG_DATA_HOME in tests
otherwise tests will fail if XDG_DATA_HOME is set by a user
2023-11-09 17:45:24 +01:00
af0714132d clan: use .local/share as default for XDG_DATA_HOME 2023-11-09 17:45:24 +01:00
0206210b7e fix error message if clan flake does not exist 2023-11-09 17:44:44 +01:00
c194adc181 update ui-assets.nix 2023-11-09 08:34:03 +00:00
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
10e52699be Fixed wrong examples 2023-11-08 21:40:17 +01:00
ce90b02e06 Added deal as python dependency 2023-11-08 20:14:32 +01:00
7240727b26 Added deal contract framework and testing documentation 2023-11-08 19:56:07 +01:00
32aa287da5 Added schemathesis dependency 2023-11-08 19:56:05 +01:00
9cb46bf1cd Flake: Added python package deal as dependency 2023-11-08 19:55:11 +01:00
0e0803f000 package meshnamed 2023-11-08 14:32:49 +01:00