Get desktop application:
View/edit binary Protocol Buffers messages
Runs new Firecracker VM instance
CreateVMRequest specifies creation parameters for a new FC instance
VM identifier to assign
Specifies the machine configuration for the VM
Specifies the file path where the kernel image is located
Specifies the commandline arguments that should be passed to the kernel
Specifies drive containing the rootfs of the VM
Specifies additional drives whose contents will be mounted inside the VM on boot.
Specifies the networking configuration for a VM
The number of dummy drives to reserve in advance before running FC instance.
Whether the VM should exit after all tasks running in it have been deleted.
Pauses a VM
Resumes a VM
Stops existing Firecracker instance by VM ID
Returns VM info by VM ID
Sets VM's instance metadata
Update Vm's instance metadata
Get Vm's instance metadata
Get balloon configuration
Update balloon's memory
Gets a balloon device statistics
Actual amount of memory (in MiB) the device is holding.
Actual number of pages the device is holding.
An estimate of how much memory is available (in bytes) for starting new applications, without pushing the system to swap.
The amount of memory, in bytes, that can be quickly reclaimed without additional I/O. Typically these pages are used for caching files from disk.
The amount of memory not being used for any purpose (in bytes).
The number of successful hugetlb page allocations in the guest.
The number of failed hugetlb page allocations in the guest.
The number of major page faults that have occurred.
The number of minor page faults that have occurred.
The amount of memory that has been swapped in (in bytes).
The amount of memory that has been swapped out to disk (in bytes).
Target amount of memory (in MiB) the device aims to hold.
Target number of pages the device aims to hold.
The total amount of memory available (in bytes).
Updates a balloon device statistics polling interval.
Message to specify CNI configuration that will be used to generate a network interface for a Firecracker VM
Used in:
NetworkName is the name of a CNI network (as found in CNI configuration files) that will be used to generate the network interface.
InterfaceName corresponds to the CNI_IFNAME parameter that will be provided to CNI plugins during invocation.
BinPath is a list of directories that will be searched when looking for CNI plugin binaries. Defaults to just "/opt/cni/bin"
ConfDir is the directory in which CNI configuration will be sought. If not specified, will default to "/etc/cni/conf.d".
CacheDir is the directory in which CNI results will be temporarily cached by the runtime. If not specified, it will default to "/var/lib/cni"
Args corresponds to the CNI_ARGS parameter that will be provided to CNI plugins on invocation.
Used in:
DriveExposePolicy is used to configure the method to expose drive files. "COPY" is copying the files to the jail, which is the default behavior. "BIND" is bind-mounting the files on the jail, assuming a caller pre-configures the permissions of the files appropriately.
Used in:
Message to store bundle/config.json bytes
Used in:
,Target balloon size in MiB.
Whether the balloon should deflate when the guest has memory pressure.
Interval in seconds between refreshing statistics.
Used in:
(Required) HostPath is the path on the host to the filesystem image or device that will be mounted inside the VM.
(Required) VMPath is the path inside the VM guest at which the filesystem image or device will be mounted.
(Required) FilesystemType is the filesystem type (i.e. ext4, xfs, etc.), as used when mounting the filesystem image inside the VM. The VM guest kernel is expected to have support for this filesystem.
(Optional) Options are fstab-style options that the mount will be performed within the VM (i.e. ["rw", "noatime"]). Defaults to none if not specified.
(Optional) RateLimiter configuration that will be applied to the backing-drive for the VM's rootfs
(Optional) If set to true, IsWritable results in the backing file for the drive being opened as read-write by the Firecracker VMM on the host, allowing writes to the image from within the guest. Defaults to false, in which case the block device in the VM will be read-only.
(Optional) CacheType specifies the caching strategy for the block device. The supported caching strategies are: "Unsafe"(default) and "Writeback".
Message to set the machine config for a Firecracker VM
Used in:
Specifies the cpu template. Example: "T2" or "C3"
Specifies if hyper-threading should be enabled
Specifies the memory size of VM This lets us create a Firecracker VM of up to 4096 TiB, which for a microVM should be large enough
Specifies the number of vCPUs for the VM
Message to specify network config for a Firecracker VM
Used in:
Specifies if metadata service should be available on this network interface
Specifies a rate limiter for incoming bytes
Specifies a rate limiter for outgoing bytes
CNIConfiguration specifies CNI configuration that will be used to generate a network interface for a Firecracker VM.
StaticNetworkConfiguration specifies static configuration parameters for a Firecracker VM's network interface
Message to specify an IO rate limiter with bytes/s and ops/s limits
Used in:
, ,Specifies a token bucket with bytes as tokens
Specifies a token bucket with operations as tokens
Message to specify the block device config for a Firecracker VM
Used in:
(Required) HostPath is the path on the host to the filesystem image or device that will supply the rootfs of the VM.
(Optional) If the HostPath points to a drive or image with multiple partitions, Partuuid specifies which partition will be used to boot the VM
(Optional) If set to true, IsWritable results in the VM Guest's rootfs being mounted as read-write. Defaults to false, in which case the rootfs is mounted as read-only.
(Optional) RateLimiter configuration that will be applied to the backing-drive for the VM's rootfs
(Optional) CacheType specifies the caching strategy for the block device. The supported caching strategies are: "Unsafe"(default) and "Writeback".
Message to specify a token buicket used to rate limit disk and network IO for a Firecracker VM
Used in:
Specifies the initial size of the token bucket
Specifies the amount of millis it takes for the bucket to fill
Specifies the number of tokens this bucket can hold
Message to specify static IP configuration that will be applied to a Firecracker VM's network interface internally
Used in:
PrimaryAddr specifies, in CIDR notation, the primary address and subnet that a network interface will be assigned inside the VM.
GatewayAddr specifies the default gateway that a network interface should use inside the VM.
Nameservers is a list of nameservers that the VM will be configured to use internally. Currently only up to 2 nameservers can be specified (any more in the list will be ignored) and configuration is provided to the VM via /proc/net/pnp.
Used in:
List of the physical numbers of the CPUs on which processes in that cpuset are allowed to execute. See List Format below for a description of the format of cpus. The CPUs allowed to a cpuset may be changed by writing a new list to its cpus file. Taken from http://man7.org/linux/man-pages/man7/cpuset.7.html This is formatted as specified in the cpuset man page under "List Format" http://man7.org/linux/man-pages/man7/cpuset.7.html
List of memory nodes on which processes in this cpuset are allowed to allocate memory. See List Format below for a description of the format of mems. Taken from http://man7.org/linux/man-pages/man7/cpuset.7.html This is formatted as specified in the cpuset man page under "List Format" http://man7.org/linux/man-pages/man7/cpuset.7.html
CgroupPath is used to dictate where the cgroup should be located relative to the cgroup directory which is /sys/fs/cgroup/cpu/<CgroupPath>/<vmID> if no value was provided, then /firecracker-containerd will be used as the default value
DriveExposePolicy is used to configure the method to expose drive files.
Message to specify static configuration parameters for a Firecracker VM's network interface
Used in:
Specifies the mac address for the the device
Specifies the name of the tap device on the host
IPConfig optionally provides static IP configuration that will be configured on the VM's internal networking interface. If not specified, no IP configuration will be applied to the VM's internal nic automatically.