Documentation
¶
There is no documentation for this package.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package api publishes the vm-manager API contract.
|
Package api publishes the vm-manager API contract. |
|
Package cmd holds the vm-manager CLI.
|
Package cmd holds the vm-manager CLI. |
|
vm-agent
command
vm-agent is the guest binary of vm-manager's attestation protocol (docs/design.md "Boot flow" steps 5 and 7).
|
vm-agent is the guest binary of vm-manager's attestation protocol (docs/design.md "Boot flow" steps 5 and 7). |
|
Package e2e holds the T3 boot end-to-end tests of docs/design.md "Testing strategy": real QEMU on KVM, swtpm, OVMF and the mkosi image from images/.
|
Package e2e holds the T3 boot end-to-end tests of docs/design.md "Testing strategy": real QEMU on KVM, swtpm, OVMF and the mkosi image from images/. |
|
internal
|
|
|
agent
Package agent runs the guest side of the attestation protocol (docs/design.md "Attestation protocol"): fetch a nonce from the IMDS, have a quote built over it and post the quote.
|
Package agent runs the guest side of the attestation protocol (docs/design.md "Attestation protocol"): fetch a nonce from the IMDS, have a quote built over it and post the quote. |
|
agent/quote
Package quote builds the TPM 2.0 quote the guest agent posts to the IMDS (docs/design.md "Attestation protocol").
|
Package quote builds the TPM 2.0 quote the guest agent posts to the IMDS (docs/design.md "Attestation protocol"). |
|
api
Package api exposes the domain services twice from one process: REST/JSON under /api/v1 for the portal and cluster-manager, and MCP tools for muster.
|
Package api exposes the domain services twice from one process: REST/JSON under /api/v1 for the portal and cluster-manager, and MCP tools for muster. |
|
apierr
Package apierr holds the sentinel errors every domain package wraps so the API layer can map them to one HTTP status and one stable error code for REST and MCP alike (internal/api statusFor).
|
Package apierr holds the sentinel errors every domain package wraps so the API layer can map them to one HTTP status and one stable error code for REST and MCP alike (internal/api statusFor). |
|
attest
Package attest is the imds.Attestor that verifies guest TPM quotes: it issues nonces, checks each quote cryptographically with internal/tpmquote, pins the attestation key of a VM on its first verified initrd quote and compares the PCRs against the image's policy.
|
Package attest is the imds.Attestor that verifies guest TPM quotes: it issues nonces, checks each quote cryptographically with internal/tpmquote, pins the attestation key of a VM on its first verified initrd quote and compares the PCRs against the image's policy. |
|
host
Package host reports what the KVM host offers vm-manager: kernel and hardware, the devices and tools the QEMU runtime needs, the firmware the images boot with, and the systemd services the provisioner talks to.
|
Package host reports what the KVM host offers vm-manager: kernel and hardware, the devices and tools the QEMU runtime needs, the firmware the images boot with, and the systemd services the provisioner talks to. |
|
identity
Package identity carries the authenticated caller through a request: who the OAuth layer validated (subject, email, groups).
|
Package identity carries the authenticated caller through a request: who the OAuth layer validated (subject, email, groups). |
|
images
Package images is the catalog of guest images vm-manager can boot: the base DDIs and UKIs produced by images/ (see images/README.md), the Kubernetes sysext versions served next to them and the PCR policy recorded for each image.
|
Package images is the catalog of guest images vm-manager can boot: the base DDIs and UKIs produced by images/ (see images/README.md), the Kubernetes sysext versions served next to them and the PCR policy recorded for each image. |
|
imds
Package imds implements the Giant Swarm instance metadata service: the HTTP side of the contract systemd-imdsd in the guest is configured for by the hwdb record the image ships (HwdbFile, generated from Keys by HwdbRecord).
|
Package imds implements the Giant Swarm instance metadata service: the HTTP side of the contract systemd-imdsd in the guest is configured for by the hwdb record the image ships (HwdbFile, generated from Keys by HwdbRecord). |
|
metrics
Package metrics is the Prometheus registry of vm-manager: host-side metrics about every VM and the metrics the guests upload with systemd-report, served on /metrics and summarized per VM for get_vm_metrics.
|
Package metrics is the Prometheus registry of vm-manager: host-side metrics about every VM and the metrics the guests upload with systemd-report, served on /metrics and summarized per VM for get_vm_metrics. |
|
network
Package network is vm-manager's rootless software-defined network.
|
Package network is vm-manager's rootless software-defined network. |
|
runtime/proc
Package proc starts and supervises the long-running host processes the VM runtime is made of: QEMU (internal/runtime/qemu) and swtpm (internal/tpm).
|
Package proc starts and supervises the long-running host processes the VM runtime is made of: QEMU (internal/runtime/qemu) and swtpm (internal/tpm). |
|
runtime/qemu
Package qemu is the process-level VM runtime: it turns a Spec into the qemu-system-x86_64 argument list, starts and supervises the process, and gives the caller the three channels back into a running VM: QMP, the serial console log and the AF_VSOCK READY notification.
|
Package qemu is the process-level VM runtime: it turns a Spec into the qemu-system-x86_64 argument list, starts and supervises the process, and gives the caller the three channels back into a running VM: QMP, the serial console log and the AF_VSOCK READY notification. |
|
server
Package server assembles the single HTTP listener: health endpoints, the Prometheus exposition, the REST API, and the MCP streamable-HTTP endpoint (the latter two optionally behind OAuth).
|
Package server assembles the single HTTP listener: health endpoints, the Prometheus exposition, the REST API, and the MCP streamable-HTTP endpoint (the latter two optionally behind OAuth). |
|
storage
Package storage hands out the disk volumes VMs boot from.
|
Package storage hands out the disk volumes VMs boot from. |
|
tpm
Package tpm runs the software TPM behind each VM.
|
Package tpm runs the software TPM behind each VM. |
|
tpmquote
Package tpmquote parses and cryptographically verifies TPM 2.0 quotes the way the guest agent posts them to the IMDS: the marshalled TPMS_ATTEST that TPM2_Quote produced, the TPMT_SIGNATURE over it and the TPMT_PUBLIC of the attestation key (AK).
|
Package tpmquote parses and cryptographically verifies TPM 2.0 quotes the way the guest agent posts them to the IMDS: the marshalled TPMS_ATTEST that TPM2_Quote produced, the TPMT_SIGNATURE over it and the TPMT_PUBLIC of the attestation key (AK). |
|
tpmquote/quotetest
Package quotetest produces real TPM quotes on the go-tpm simulator for the tests of internal/tpmquote and internal/attest: it creates attestation keys, extends PCRs and quotes them the way the guest agent does.
|
Package quotetest produces real TPM quotes on the go-tpm simulator for the tests of internal/tpmquote and internal/attest: it creates attestation keys, extends PCRs and quotes them the way the guest agent does. |
|
varlink
Package varlink is a minimal Varlink client for the systemd services vm-manager talks to (io.systemd.StorageProvider today, io.systemd.Metrics later).
|
Package varlink is a minimal Varlink client for the systemd services vm-manager talks to (io.systemd.StorageProvider today, io.systemd.Metrics later). |
|
varlink/varlinktest
Package varlinktest is an in-process fake Varlink service for tests, in the spirit of net/http/httptest.
|
Package varlinktest is an in-process fake Varlink service for tests, in the spirit of net/http/httptest. |
|
vm
Package vm is the VM service: the lifecycle state machine, its persistence and the orchestration of storage, swtpm, the virtual network, the two QEMU boot phases and the metadata service (docs/design.md "Host architecture", "Boot flow").
|
Package vm is the VM service: the lifecycle state machine, its persistence and the orchestration of storage, swtpm, the virtual network, the two QEMU boot phases and the metadata service (docs/design.md "Host architecture", "Boot flow"). |
|
vm/vmtest
Package vmtest holds in-memory fakes of the host services behind vm.Service (runtime, swtpm, storage, networks, notify, image catalog) so the VM state machine and the API surfaces can be tested without QEMU.
|
Package vmtest holds in-memory fakes of the host services behind vm.Service (runtime, swtpm, storage, networks, notify, image catalog) so the VM state machine and the API surfaces can be tested without QEMU. |
Click to show internal directories.
Click to hide internal directories.