mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-27 16:39:38 -05:00
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
|
||
|
```
|