Commit Graph

29 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli 922515f120
Increase the installer RAM amount to 8GiB.
With 4GiB guix pull fails. With 8GiB 'df -h /' returns the following:
    none            3.9G  1.6G  2.4G  40% /
so if we don't change the ramfs mount options it is pretty clear that
4GiB is not enough.

The issue here is that we are trying to do an install with the
following constraints:
- It needs to work without external access to the underlying
  storage. For instance I cannot become root and simply copy the image
  to the correct location and boot that because I lack the permissions
  but also because the machine doesn't have Guix.
- I also want the target rootfs to be up to date (especially with
  security updates) from the start.
- It needs to be relatively fast and not consume too much resources.
- It also needs to be relatively easy to deploy. Using the guix
  installer to install Guix is the easiest as it works out of the box
  with a read-only install media, but it also comes with resources
  costs as the files being created end up in RAM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:57:50 +02:00
Denis 'GNUtoo' Carikli f858429ad4
mumble-vm-install.sh: switch to guix system init
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:57:47 +02:00
Denis 'GNUtoo' Carikli 65f67ada92
mumble-vm-install.sh: use guix-installer branch
If we don't do that it can't work as the required code is not yet in
the main branch.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:51:19 +02:00
Denis 'GNUtoo' Carikli 19c44f265e
Add installation script for the guix installer iso.
This script is supposed to only run on the Guix installer and checks
that it's the case through various ways.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:49:08 +02:00
Denis 'GNUtoo' Carikli 67e13b860c
Provide the service source code on the web page
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:49:08 +02:00
Denis 'GNUtoo' Carikli 3bf48fb977
Add default id_ed25519.pub and signing-key.pub
This makes it easier to deploy the VM to the Libre En Communs
infrastructure as it doesn't require to also copy these files to the
VM producing the image.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:49:08 +02:00
Denis 'GNUtoo' Carikli f8e4064d6f
Update mumble-vm.xml to match the one deployed at Libre en Communs
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:44:20 +02:00
Denis 'GNUtoo' Carikli 4dc5a46cbb
Makefile.am: mumble-vm.img: remove sudo
Copying an image from Guix should not require sudo, and make isn't
supposed to bypass permissions anyway.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:44:12 +02:00
Denis 'GNUtoo' Carikli f3af1623b8
index.html: Fix HTML compliance issues.
Icecat complained with the invalid syntax when looking at the
page source code.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:44:03 +02:00
Denis 'GNUtoo' Carikli aef0935acd
configure.ac: bail out if guix and sed are not detected
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-21 12:43:26 +02:00
Denis 'GNUtoo' Carikli b4eb83df6e
README: document missing files
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-19 22:43:49 +02:00
Denis 'GNUtoo' Carikli 7bbeec490a
Make WireGuard disabled by default.
WireGuard is hardcoded to my configuration, so it needs to be
disabled by default.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 23:46:46 +02:00
Denis 'GNUtoo' Carikli 251664e2e9
Make the VM SSH address configurable
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:37:48 +02:00
Denis 'GNUtoo' Carikli 058dc74299
Add VM DNS IPv6
The default DNS server address is supposed to be used by Libre En
Communs for the deployed VM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:33:25 +02:00
Denis 'GNUtoo' Carikli c5d394f0f6
Make the VM DNS IPv4 configurable
The default DNS server address is supposed to be used by Libre En
Communs for the deployed VM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:32:55 +02:00
Denis 'GNUtoo' Carikli d512df0345
Add IPv6 gateway
The default gateway IP address is supposed to be used by Libre En
Communs for the deployed VM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:32:38 +02:00
Denis 'GNUtoo' Carikli 9d3a27157e
Make the VM gateway IPv4 configurable
The default gateway IP address is supposed to be used by Libre En
Communs for the deployed VM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:32:18 +02:00
Denis 'GNUtoo' Carikli 52e483228f
Add configurable IPv6 for the VM
The default IP address is supposed to be used by Libre En Communs for
the deployed VM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:31:58 +02:00
Denis 'GNUtoo' Carikli eb7b6eb78a
Make the VM IPv4 configurable
The default IP address is supposed to be used by Libre En Communs for
the deployed VM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:31:39 +02:00
Denis 'GNUtoo' Carikli 495c347e77
Add Public IP address through WireGuard
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:30:52 +02:00
Denis 'GNUtoo' Carikli 31da868705
Add Serial consoles
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:30:52 +02:00
Denis 'GNUtoo' Carikli f7de8414a3
Add script to run on first boot
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:30:52 +02:00
Denis 'GNUtoo' Carikli 67922b0c13
Make the VM SSH public key configurable
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-18 22:30:51 +02:00
Denis 'GNUtoo' Carikli 669c708331
Make the Let's Encrypt email configurable
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-13 07:21:21 +02:00
Denis 'GNUtoo' Carikli 375df9954e
Make the domain configurable
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-13 07:21:20 +02:00
Denis 'GNUtoo' Carikli 41e8b2fed0
Add Mumble service
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-13 07:21:00 +02:00
Denis 'GNUtoo' Carikli 32475794b1
Add website
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-13 07:21:00 +02:00
Denis 'GNUtoo' Carikli 7fe191c90d
Add machine definition
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-13 07:20:59 +02:00
Denis 'GNUtoo' Carikli 3b8d7f2763
Add license
This project is under the GPLv3 and not AGPLv3 in order to be able
to share code back and forth with Guix.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-09-12 21:56:04 +02:00