Commit Graph

210 Commits

Author SHA1 Message Date
Jörg Thalheim
a56dc3bf8c simplify vmstate directory 2024-02-13 11:45:42 +01:00
Jörg Thalheim
d6b3e03d70 vms: integrate virtiofsd 2024-02-13 11:44:17 +01:00
lassulus
10cbe11e53 nixosModules clanCore: fix iso format 2024-02-10 13:27:51 +01:00
DavHau
02dd132e08 vms: init graceful shutdown for GUI
- add python modules for qemu protocols: QMP (hardware interactions) and QGA (guest service interaction)
- refactor state directory: remove name from path (already contains url)
- add impure vm test for basic qmp interaction
- simplify existing vm persistance test (factor out shared code)
- integrate graceful shutdown into GUI

the GUI integration still needs to be improved later:
- add fallback in case system doesn't react to powerdown button
- shutdown GUI switch fails if VM hasn't been started yet, and then remains in a wrong position
2024-02-09 19:55:18 +07:00
lassulus
67d264263c nixosModules zerotier: remove unneeded default 2024-02-07 05:26:01 +01:00
lassulus
b780754621 clan-cli: add simple flash command 2024-02-07 05:26:01 +01:00
Jörg Thalheim
6fe6229498 add requireExplicitUpdate option for mobile devices 2024-02-06 17:55:34 +01:00
Jörg Thalheim
ad1a87fc14 move checks if targetHost/buildHost is set to cli 2024-02-06 14:51:44 +01:00
clan-bot
4d18ce2366 Merge pull request 'cli,nix: Add machine_icon, machine_description to vm' (#812) from Qubasa-main into main 2024-02-06 12:29:32 +00:00
Qubasa
21443d0647 cli,nix: Add machine_icon, machine_description 2024-02-06 19:25:34 +07:00
Jörg Thalheim
923696c21c clanCore: fix deploymentAddress -> targetHost alias 2024-02-06 10:55:07 +01:00
Qubasa
b3815527a5 Added machineIcon and machineDescription to buildClan 2024-02-05 14:18:40 +07:00
lassulus
a2eb6f219d nixosModules zerotier: fix type of dns 2024-02-05 02:31:14 +01:00
lassulus
b39fda8d85 clanCore zerotier: set default values in config for merging 2024-02-03 09:26:04 +01:00
lassulus
a52f1e3594 clanCore zerotier: add settings option 2024-02-03 04:48:54 +01:00
Jörg Thalheim
3538cf2e46 rename deployment address to target address
This is a prepares having a build server for deployment
2024-02-02 16:39:29 +07:00
lassulus
86b248d457 zerotier generate: retry if port allocation fails 2024-02-01 10:11:30 +01:00
lassulus
93874705fe zerotier generate: kill process group 2024-02-01 10:01:28 +01:00
a-kenji
533012af7d vms: rename wayland attrs to waypipe
And remove the options from the cli interface.
2024-02-01 10:14:36 +07:00
a-kenji
f89c9b00dd vms: wayland attr specified in configuration 2024-02-01 09:00:43 +07:00
DavHau
59fa63eba9 Reapply "vm-state: fix and improve testing"
This reverts commit 99092f6e76.

vm-state: revert sysusers, improve testing

zerotier: enable persistence

vm-state: cleanup tests
2024-01-31 11:02:16 +07:00
lassulus
0dbfe52d62 secrets: add sandbox user 2024-01-30 12:11:05 +01:00
DavHau
99092f6e76 Revert "vm-state: fix and improve testing"
This reverts commit 6adc68a354.
2024-01-29 15:16:10 +07:00
DavHau
6adc68a354 vm-state: fix and improve testing
Also adds qemu qga protocol implementation to execute commands
2024-01-26 19:41:05 +07:00
clan-bot
a3ef8ce832 Merge pull request 'clan-cli secrets: add secret_store as python class' (#733) from lassulus-HEAD into main 2024-01-24 14:52:14 +00:00
lassulus
ce5e6bfd10 secret generators: run with set -efu -o pipefail 2024-01-24 15:49:12 +01:00
lassulus
aee0ee4d5e move secret stores into clan_cli codebase 2024-01-24 15:49:12 +01:00
a-kenji
f0895d5e3e fix zerotier in vms 2024-01-23 19:43:42 +01:00
Jörg Thalheim
8338944062 move python code in nixos Module to external file 2024-01-23 15:04:40 +01:00
lassulus
09887037f5 WIP: clan-cli secrets: add secret_store as python class 2024-01-23 15:04:40 +01:00
clan-bot
bd5ad0dc31 Merge pull request 'disable state home for now' (#740) from Mic92-main into main 2024-01-17 10:03:48 +00:00
Jörg Thalheim
776b238d9c disable state home for now 2024-01-17 10:59:01 +01:00
clan-bot
0b291c656f Merge pull request 'state.nix: improve docs' (#732) from DavHau-main into main 2024-01-17 06:51:55 +00:00
a-kenji
98e1c629c3 clanModules: disable nixos manual by default 2024-01-16 15:14:16 +01:00
DavHau
c944fe8b48 state.nix: improve docs 2024-01-15 16:03:47 +07:00
Jörg Thalheim
876ffab3b1 add option to orbit moons 2024-01-12 18:31:18 +01:00
Jörg Thalheim
b1bb887dbf zerotier: add support for moons 2024-01-12 18:26:00 +01:00
Jörg Thalheim
e941334ecf zerotier: configure alternative tcp fallback relay 2024-01-12 15:13:20 +01:00
Jörg Thalheim
cedd1d7492 zerotier: set interface altname 2024-01-11 15:51:34 +01:00
Jörg Thalheim
7bf76eea06 zerotier: use configuration file instead to set the network name 2024-01-11 14:57:00 +01:00
Jörg Thalheim
0e62348d72 make zerotier name configureable 2024-01-11 14:57:00 +01:00
Jörg Thalheim
3563b6eaa4 zerotier: delete old networks 2024-01-11 13:24:00 +01:00
Jörg Thalheim
a5132a4f81 meshnamed: mark networkmanager interfaces as unmanaged 2024-01-11 12:17:44 +01:00
Jörg Thalheim
7a4b176248 open up zerotier ports 2024-01-10 17:24:41 +00:00
DavHau
414f475802 state: declare /home as state by default 2024-01-10 17:37:40 +07:00
DavHau
9f8e719b48 state: move options clanCore.state to a separate file 2024-01-10 17:10:10 +07:00
DavHau
c29e0086a4 VMs: persist state folders on host
Done:
- move vm inspect attrs from system.clan.vm.config to clanCore.vm.inspect. This gives us proper name and type checking. everything in `system` is basically freeform, so the previous option definitions were never enforced
- when running VMs, mount state directory from ~/.config/clan/vmstate/{...} from the host to /var/vmstate inside the vm
- create bind mount inside the VM from /var/vmstate/{folder} to / for all folders defined in clanCore.state.<name>.folders

TODOs:
- make sure directories in ~/.config/clan/vmstate never collide (include hash of clan-url, etc.)
- port impure test to python
2024-01-08 18:38:07 +07:00
Jörg Thalheim
0922856fa5 switch to xwayland display :1
no conflict with Xorg
2024-01-04 16:18:27 +01:00
Jörg Thalheim
9dfc3f9613 add wayland-proxy-virtwl module 2023-12-15 14:14:20 +01:00
Jörg Thalheim
8ee72ba5fa clanCore: refactor flake-module.nix into smaller files 2023-12-15 14:14:20 +01:00