gitee.com/leisunstar/runtime@v0.0.0-20200521203717-5cef3e7b53f9/cli/config/configuration-fc.toml.in (about) 1 # Copyright (c) 2017-2019 Intel Corporation 2 # 3 # SPDX-License-Identifier: Apache-2.0 4 # 5 6 # XXX: WARNING: this file is auto-generated. 7 # XXX: 8 # XXX: Source file: "@CONFIG_FC_IN@" 9 # XXX: Project: 10 # XXX: Name: @PROJECT_NAME@ 11 # XXX: Type: @PROJECT_TYPE@ 12 13 [hypervisor.firecracker] 14 path = "@FCPATH@" 15 # Path for the jailer specific to firecracker 16 # If the jailer path is not set kata will launch firecracker 17 # without a jail. If the jailer is set firecracker will be 18 # launched in a jailed enviornment created by the jailer 19 # This is disabled by default as additional setup is required 20 # for this feature today. 21 #jailer_path = "@FCJAILERPATH@" 22 kernel = "@KERNELPATH_FC@" 23 image = "@IMAGEPATH@" 24 25 # Optional space-separated list of options to pass to the guest kernel. 26 # For example, use `kernel_params = "vsyscall=emulate"` if you are having 27 # trouble running pre-2.15 glibc. 28 # 29 # WARNING: - any parameter specified here will take priority over the default 30 # parameter value of the same name used to start the virtual machine. 31 # Do not set values here unless you understand the impact of doing so as you 32 # may stop the virtual machine from booting. 33 # To see the list of default parameters, enable hypervisor debug, create a 34 # container and look for 'default-kernel-parameters' log entries. 35 kernel_params = "@KERNELPARAMS@" 36 37 # Default number of vCPUs per SB/VM: 38 # unspecified or 0 --> will be set to @DEFVCPUS@ 39 # < 0 --> will be set to the actual number of physical cores 40 # > 0 <= number of physical cores --> will be set to the specified number 41 # > number of physical cores --> will be set to the actual number of physical cores 42 default_vcpus = 1 43 44 # Default maximum number of vCPUs per SB/VM: 45 # unspecified or == 0 --> will be set to the actual number of physical cores or to the maximum number 46 # of vCPUs supported by KVM if that number is exceeded 47 # > 0 <= number of physical cores --> will be set to the specified number 48 # > number of physical cores --> will be set to the actual number of physical cores or to the maximum number 49 # of vCPUs supported by KVM if that number is exceeded 50 # WARNING: Depending of the architecture, the maximum number of vCPUs supported by KVM is used when 51 # the actual number of physical cores is greater than it. 52 # WARNING: Be aware that this value impacts the virtual machine's memory footprint and CPU 53 # the hotplug functionality. For example, `default_maxvcpus = 240` specifies that until 240 vCPUs 54 # can be added to a SB/VM, but the memory footprint will be big. Another example, with 55 # `default_maxvcpus = 8` the memory footprint will be small, but 8 will be the maximum number of 56 # vCPUs supported by the SB/VM. In general, we recommend that you do not edit this variable, 57 # unless you know what are you doing. 58 # NOTICE: on arm platform with gicv2 interrupt controller, set it to 8. 59 default_maxvcpus = @DEFMAXVCPUS@ 60 61 # Bridges can be used to hot plug devices. 62 # Limitations: 63 # * Currently only pci bridges are supported 64 # * Until 30 devices per bridge can be hot plugged. 65 # * Until 5 PCI bridges can be cold plugged per VM. 66 # This limitation could be a bug in the kernel 67 # Default number of bridges per SB/VM: 68 # unspecified or 0 --> will be set to @DEFBRIDGES@ 69 # > 1 <= 5 --> will be set to the specified number 70 # > 5 --> will be set to 5 71 default_bridges = @DEFBRIDGES@ 72 73 # Default memory size in MiB for SB/VM. 74 # If unspecified then it will be set @DEFMEMSZ@ MiB. 75 default_memory = @DEFMEMSZ@ 76 # 77 # Default memory slots per SB/VM. 78 # If unspecified then it will be set @DEFMEMSLOTS@. 79 # This is will determine the times that memory will be hotadded to sandbox/VM. 80 #memory_slots = @DEFMEMSLOTS@ 81 82 # The size in MiB will be plused to max memory of hypervisor. 83 # It is the memory address space for the NVDIMM devie. 84 # If set block storage driver (block_device_driver) to "nvdimm", 85 # should set memory_offset to the size of block device. 86 # Default 0 87 #memory_offset = 0 88 89 # Disable block device from being used for a container's rootfs. 90 # In case of a storage driver like devicemapper where a container's 91 # root file system is backed by a block device, the block device is passed 92 # directly to the hypervisor for performance reasons. 93 # This flag prevents the block device from being passed to the hypervisor, 94 # 9pfs is used instead to pass the rootfs. 95 disable_block_device_use = @DEFDISABLEBLOCK@ 96 97 # Block storage driver to be used for the hypervisor in case the container 98 # rootfs is backed by a block device. This is virtio-scsi, virtio-blk 99 # or nvdimm. 100 block_device_driver = "@DEFBLOCKSTORAGEDRIVER_FC@" 101 102 # Specifies cache-related options will be set to block devices or not. 103 # Default false 104 #block_device_cache_set = true 105 106 # Specifies cache-related options for block devices. 107 # Denotes whether use of O_DIRECT (bypass the host page cache) is enabled. 108 # Default false 109 #block_device_cache_direct = true 110 111 # Specifies cache-related options for block devices. 112 # Denotes whether flush requests for the device are ignored. 113 # Default false 114 #block_device_cache_noflush = true 115 116 # Enable pre allocation of VM RAM, default false 117 # Enabling this will result in lower container density 118 # as all of the memory will be allocated and locked 119 # This is useful when you want to reserve all the memory 120 # upfront or in the cases where you want memory latencies 121 # to be very predictable 122 # Default false 123 #enable_mem_prealloc = true 124 125 # Enable huge pages for VM RAM, default false 126 # Enabling this will result in the VM memory 127 # being allocated using huge pages. 128 # This is useful when you want to use vhost-user network 129 # stacks within the container. This will automatically 130 # result in memory pre allocation 131 #enable_hugepages = true 132 133 # Enable swap of vm memory. Default false. 134 # The behaviour is undefined if mem_prealloc is also set to true 135 #enable_swap = true 136 137 # This option changes the default hypervisor and kernel parameters 138 # to enable debug output where available. This extra output is added 139 # to the proxy logs, but only when proxy debug is also enabled. 140 # 141 # Default false 142 #enable_debug = true 143 144 # Disable the customizations done in the runtime when it detects 145 # that it is running on top a VMM. This will result in the runtime 146 # behaving as it would when running on bare metal. 147 # 148 #disable_nesting_checks = true 149 150 # This is the msize used for 9p shares. It is the number of bytes 151 # used for 9p packet payload. 152 #msize_9p = @DEFMSIZE9P@ 153 154 # If true and vsocks are supported, use vsocks to communicate directly 155 # with the agent (no proxy is started). 156 # Default true 157 use_vsock = true 158 159 # VFIO devices are hotplugged on a bridge by default. 160 # Enable hotplugging on root bus. This may be required for devices with 161 # a large PCI bar, as this is a current limitation with hotplugging on 162 # a bridge. This value is valid for "pc" machine type. 163 # Default false 164 #hotplug_vfio_on_root_bus = true 165 166 # 167 # Default entropy source. 168 # The path to a host source of entropy (including a real hardware RNG) 169 # /dev/urandom and /dev/random are two main options. 170 # Be aware that /dev/random is a blocking source of entropy. If the host 171 # runs out of entropy, the VMs boot time will increase leading to get startup 172 # timeouts. 173 # The source of entropy /dev/urandom is non-blocking and provides a 174 # generally acceptable source of entropy. It should work well for pretty much 175 # all practical purposes. 176 #entropy_source= "@DEFENTROPYSOURCE@" 177 178 # Path to OCI hook binaries in the *guest rootfs*. 179 # This does not affect host-side hooks which must instead be added to 180 # the OCI spec passed to the runtime. 181 # 182 # You can create a rootfs with hooks by customizing the osbuilder scripts: 183 # https://github.com/kata-containers/osbuilder 184 # 185 # Hooks must be stored in a subdirectory of guest_hook_path according to their 186 # hook type, i.e. "guest_hook_path/{prestart,postart,poststop}". 187 # The agent will scan these directories for executable files and add them, in 188 # lexicographical order, to the lifecycle of the guest container. 189 # Hooks are executed in the runtime namespace of the guest. See the official documentation: 190 # https://github.com/opencontainers/runtime-spec/blob/v1.0.1/config.md#posix-platform-hooks 191 # Warnings will be logged if any error is encountered will scanning for hooks, 192 # but it will not abort container execution. 193 #guest_hook_path = "/usr/share/oci/hooks" 194 195 [factory] 196 # VM templating support. Once enabled, new VMs are created from template 197 # using vm cloning. They will share the same initial kernel, initramfs and 198 # agent memory by mapping it readonly. It helps speeding up new container 199 # creation and saves a lot of memory if there are many kata containers running 200 # on the same host. 201 # 202 # When disabled, new VMs are created from scratch. 203 # 204 # Note: Requires "initrd=" to be set ("image=" is not supported). 205 # 206 # Default false 207 #enable_template = true 208 209 [shim.@PROJECT_TYPE@] 210 path = "@SHIMPATH@" 211 212 # If enabled, shim messages will be sent to the system log 213 # (default: disabled) 214 #enable_debug = true 215 216 # If enabled, the shim will create opentracing.io traces and spans. 217 # (See https://www.jaegertracing.io/docs/getting-started). 218 # 219 # Note: By default, the shim runs in a separate network namespace. Therefore, 220 # to allow it to send trace details to the Jaeger agent running on the host, 221 # it is necessary to set 'disable_new_netns=true' so that it runs in the host 222 # network namespace. 223 # 224 # (default: disabled) 225 #enable_tracing = true 226 227 [agent.@PROJECT_TYPE@] 228 # If enabled, make the agent display debug-level messages. 229 # (default: disabled) 230 #enable_debug = true 231 232 # Enable agent tracing. 233 # 234 # If enabled, the default trace mode is "dynamic" and the 235 # default trace type is "isolated". The trace mode and type are set 236 # explicity with the `trace_type=` and `trace_mode=` options. 237 # 238 # Notes: 239 # 240 # - Tracing is ONLY enabled when `enable_tracing` is set: explicitly 241 # setting `trace_mode=` and/or `trace_type=` without setting `enable_tracing` 242 # will NOT activate agent tracing. 243 # 244 # - See https://github.com/kata-containers/agent/blob/master/TRACING.md for 245 # full details. 246 # 247 # (default: disabled) 248 #enable_tracing = true 249 # 250 #trace_mode = "dynamic" 251 #trace_type = "isolated" 252 253 # Comma separated list of kernel modules and their parameters. 254 # These modules will be loaded in the guest kernel using modprobe(8). 255 # The following example can be used to load two kernel modules with parameters 256 # - kernel_modules=["e1000e InterruptThrottleRate=3000,3000,3000 EEE=1", "i915 enable_ppgtt=0"] 257 # The first word is considered as the module name and the rest as its parameters. 258 # Container will not be started when: 259 # * A kernel module is specified and the modprobe command is not installed in the guest 260 # or it fails loading the module. 261 # * The module is not available in the guest or it doesn't met the guest kernel 262 # requirements, like architecture and version. 263 # 264 kernel_modules=[] 265 266 [netmon] 267 # If enabled, the network monitoring process gets started when the 268 # sandbox is created. This allows for the detection of some additional 269 # network being added to the existing network namespace, after the 270 # sandbox has been created. 271 # (default: disabled) 272 #enable_netmon = true 273 274 # Specify the path to the netmon binary. 275 path = "@NETMONPATH@" 276 277 # If enabled, netmon messages will be sent to the system log 278 # (default: disabled) 279 #enable_debug = true 280 281 [runtime] 282 # If enabled, the runtime will log additional debug messages to the 283 # system log 284 # (default: disabled) 285 #enable_debug = true 286 # 287 # Internetworking model 288 # Determines how the VM should be connected to the 289 # the container network interface 290 # Options: 291 # 292 # - macvtap 293 # Used when the Container network interface can be bridged using 294 # macvtap. 295 # 296 # - none 297 # Used when customize network. Only creates a tap device. No veth pair. 298 # 299 # - tcfilter 300 # Uses tc filter rules to redirect traffic from the network interface 301 # provided by plugin to a tap interface connected to the VM. 302 # 303 internetworking_model="@DEFNETWORKMODEL_FC@" 304 305 # disable guest seccomp 306 # Determines whether container seccomp profiles are passed to the virtual 307 # machine and applied by the kata agent. If set to true, seccomp is not applied 308 # within the guest 309 # (default: true) 310 disable_guest_seccomp=@DEFDISABLEGUESTSECCOMP@ 311 312 # If enabled, the runtime will create opentracing.io traces and spans. 313 # (See https://www.jaegertracing.io/docs/getting-started). 314 # (default: disabled) 315 #enable_tracing = true 316 317 # If enabled, the runtime will not create a network namespace for shim and hypervisor processes. 318 # This option may have some potential impacts to your host. It should only be used when you know what you're doing. 319 # `disable_new_netns` conflicts with `enable_netmon` 320 # `disable_new_netns` conflicts with `internetworking_model=tcfilter` and `internetworking_model=macvtap`. It works only 321 # with `internetworking_model=none`. The tap device will be in the host network namespace and can connect to a bridge 322 # (like OVS) directly. 323 # If you are using docker, `disable_new_netns` only works with `docker run --net=none` 324 # (default: false) 325 #disable_new_netns = true 326 327 # if enable, the runtime will add all the kata processes inside one dedicated cgroup. 328 # The container cgroups in the host are not created, just one single cgroup per sandbox. 329 # The runtime caller is free to restrict or collect cgroup stats of the overall Kata sandbox. 330 # The sandbox cgroup path is the parent cgroup of a container with the PodSandbox annotation. 331 # The sandbox cgroup is constrained if there is no container type annotation. 332 # See: https://godoc.org/github.com/kata-containers/runtime/virtcontainers#ContainerType 333 sandbox_cgroup_only=@DEFSANDBOXCGROUPONLY@ 334 335 # Enabled experimental feature list, format: ["a", "b"]. 336 # Experimental features are features not stable enough for production, 337 # they may break compatibility, and are prepared for a big version bump. 338 # Supported experimental features: 339 # (default: []) 340 experimental=@DEFAULTEXPFEATURES@