constellation/hack/qemu-metadata-api
Daniel Weiße 040e498b42 AB#2114 Add QEMU metadata API (#237)
* 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>
2022-06-30 11:14:26 +02:00
..
server AB#2114 Add QEMU metadata API (#237) 2022-06-30 11:14:26 +02:00
virtwrapper AB#2114 Add QEMU metadata API (#237) 2022-06-30 11:14:26 +02:00
Dockerfile AB#2114 Add QEMU metadata API (#237) 2022-06-30 11:14:26 +02:00
main.go AB#2114 Add QEMU metadata API (#237) 2022-06-30 11:14:26 +02:00
README.md AB#2114 Add QEMU metadata API (#237) 2022-06-30 11:14:26 +02:00

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:

sudo apt install libvirt-dev

On Fedora:

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:

# Open the port
sudo firewall-cmd --zone libvirt --add-port 8080/tcp --permanent

Docker image

Build the image:

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:

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