Volant
HomeDocsAPI Reference
HomeDocsAPI Reference
  1. Guides
  • Introduction
    • Why Volant
    • Introduction
  • Getting Started
    • Installation
    • Quick Start: Initramfs Strategy
    • Quick Start: Rootfs Strategy
  • Guides
    • Networking
    • Cloud-Init
    • Deployments
    • GPU Passthrough
    • Troubleshooting
  • Plugin Development
    • Overview
    • Initramfs Plugins
    • OCI/Rootfs Plugins
  • Architecture
    • Overview
    • Components
    • Data Flow
    • Networking
    • Boot and Runtime
    • Security and Limits
    • Extensibility
  • References
    • Plugin Manifest Schema
    • Fledge.toml Schema
    • VFIO API
    • volar(cli)
    • volantd (server)
    • kestrel(agent)
    • Glossary
  • Development
    • Contributing
    • Security
  1. Guides

Cloud-Init

References: internal/server/orchestrator/cloudinit/builder.go and orchestrator.go (prepareCloudInitSeed, mergeCloudInit).

Volant supports NoCloud datasource via a seed image attached as a read‑only disk. You can provide cloud-init documents through the plugin manifest or per‑VM config. The orchestrator merges them and builds a CIDATA image.

Documents

  • UserData (YAML cloud-config)
  • MetaData (YAML with instance-id, local-hostname)
  • NetworkConfig (YAML)

Each document can be provided inline (content) or via a file path (path). When a path is given, the CLI resolves relative paths based on the manifest file location and inlines the content.

Merging rules

Effectively: override wins. The orchestrator uses mergeCloudInit(base, override):

  • If override content/path set or inline=true, override replaces base for that document.
  • Otherwise base is kept.

Base comes from the plugin manifest (if any). Override comes from per‑VM config.

Seed build

The orchestrator creates a seed image at ~/.volant/run/cloudinit/-seed.img:

  • If cloud-localds exists, it is used with the provided documents.
  • Otherwise, a VFAT image is created with go-diskfs and the files are written manually.
  • The volume label is CIDATA.

MetaData defaults are synthesized if not provided:

  • instance-id: volant-
  • local-hostname:

Cleanup and updates

  • On VM start or create, the seed is generated and attached as a read-only disk.
  • On config changes, seeds are rebuilt and old seeds removed.
  • On VM deletion, the seed image is removed.

Authoring tips

  • Keep cloud-config minimal for initramfs; the agent typically manages services and workload.
  • For oci_rootfs, use cloud-init to write config files or manage system users/services as needed.
Modified at 2025-10-05 17:46:02
Previous
Networking
Next
Deployments
Built with