mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-12 09:24:24 -05:00
040e498b42
* Add QEMU metadata API * API server is started automatically when using terraform to deploy a QEMU cluster * Enable QEMU metadata usage for disk-mapper, debugd and the Coordinator Signed-off-by: Daniel Weiße <dw@edgeless.systems>
51 lines
1.1 KiB
Markdown
51 lines
1.1 KiB
Markdown
# QEMU metadata API
|
|
|
|
This program provides a metadata API for Constellation on QEMU.
|
|
|
|
## Dependencies
|
|
|
|
To interact with QEMU `libvirt` is required.
|
|
Install the C libraries:
|
|
|
|
On Ubuntu:
|
|
|
|
```shell
|
|
sudo apt install libvirt-dev
|
|
```
|
|
|
|
On Fedora:
|
|
|
|
```shell
|
|
sudo dnf install libvirt-devel
|
|
```
|
|
|
|
## Firewalld
|
|
|
|
If your system uses `firewalld` virtmanager will add itself to the firewall rules managed by `firewalld`.
|
|
Your VMs might be unable to communicate with the host.
|
|
|
|
To fix this open port `8080` (the default port for the QEMU metadata API) for the `libvirt` zone:
|
|
|
|
```shell
|
|
# Open the port
|
|
sudo firewall-cmd --zone libvirt --add-port 8080/tcp --permanent
|
|
```
|
|
|
|
## Docker image
|
|
|
|
Build the image:
|
|
|
|
```shell
|
|
DOCKER_BUILDKIT=1 docker build -t ghcr.io/edgelesssys/constellation/qemu-metadata-api:latest -f hack/qemu-metadata-api/Dockerfile .
|
|
```
|
|
|
|
A container of the image is automatically started by Terraform.
|
|
You can also run the image manually using the following command:
|
|
|
|
```shell
|
|
docker run -it --rm \
|
|
--network host \
|
|
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
|
ghcr.io/edgelesssys/constellation/qemu-metadata-api:latest
|
|
```
|