constellation/hack/qemu-metadata-api
Moritz Sanft 901edd420b
terraform: remove cloud loggers (#2892)
* terraform: remove cloud logging apps

* internal/cloud: remove loggers

* bootstrapper: remove logging

* qemu-metadata-api: remove logging endpoint

* docs: add instructions on how to get boot logs

* bazel: tidy

* docs: fix typo

* cloud: remove unused types

* Update go.mod

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>

* bazel: tidy

* Update docs/docs/workflows/troubleshooting.md

Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>

* Update docs/docs/workflows/troubleshooting.md

Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>

* Update docs/docs/workflows/troubleshooting.md

Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>

* docs: elaborate on how to get boot logs

* bazel: tidy

---------

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2024-02-06 14:27:30 +01:00
..
server terraform: remove cloud loggers (#2892) 2024-02-06 14:27:30 +01:00
virtwrapper bazel: allow "bazel test" to work without cgo dependencies 2023-08-18 16:36:13 +02:00
BUILD.bazel bazel: provide runtime dependencies of libvirt where needed 2023-12-01 09:35:33 +01:00
main_cross.go qemu-metadata-api: allow building without cgo dependencies for linting 2023-05-23 13:44:56 +02:00
main.go qemu-metadata-api: allow building without cgo dependencies for linting 2023-05-23 13:44:56 +02:00
README.md bazel: remove apko and Dockerfile where Bazel is used to build container images 2023-04-18 15:35:15 +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:

bazel build //hack/qemu-metadata-api:qemumetadata
bazel build //bazel/release:qemumetadata_sum
bazel build //bazel/release:qemumetadata_tar
bazel run //bazel/release:qemumetadata_push

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