id = "incus"
name = "Incus"
homepage = "https://linuxcontainers.org/incus"
executables = ["incus"]
[dotfiles]
paths = ["[configHome]/incus/config.yml"]
exclude = ["[configHome]/incus/clientcerts/", "[configHome]/incus/servercerts/"]
secret = ["[configHome]/incus/client.crt", "[configHome]/incus/client.key"]
[commands]
format = 1
label = "Incus"
description = "Launch a new instance from an image. Other incus commands, profiles, devices and cloud-init config are outside this form."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["launch"]
label = "Launch an instance"
[[commands.subcommand.source]]
id = "docs"
kind = "manual"
url = "https://linuxcontainers.org/incus/docs/main/howto/instances_create/"
revision = "2026-10-27"
evidence = """
incus launch|init <image_server>:<image_name> <instance_name> [flags]
incus launch images:debian/12 debian-container
incus launch oci-docker:hello-world --ephemeral --console
incus launch images:debian/12 debian-vm --vm
incus launch images:debian/12 debian-limited --config limits.cpu=1 --config limits.memory=192MiB
incus launch images:debian/12 debian-container --vm --target server2
incus launch images:debian/12 my-instance --type t2.micro
"""
[[commands.subcommand.field]]
id = "image"
label = "Image"
description = "For example images:debian/12."
type = "string"
position = 0
min = 1
sources = ["docs"]
[[commands.subcommand.field]]
id = "name"
label = "Instance name"
type = "string"
position = 1
sources = ["docs"]
[[commands.subcommand.field]]
id = "vm"
label = "Virtual machine"
description = "Create a VM instead of a container."
type = "boolean"
option = ["--vm"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "ephemeral"
label = "Ephemeral"
type = "boolean"
option = ["--ephemeral"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "console"
label = "Attach console"
type = "boolean"
option = ["--console"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "config"
label = "Config key=value"
description = "For example limits.cpu=1."
type = "string"
option = ["--config"]
multiple = true
sources = ["docs"]
[[commands.subcommand.field]]
id = "target"
label = "Cluster member"
type = "string"
option = ["--target"]
sources = ["docs"]
[[commands.subcommand.field]]
id = "type"
label = "Instance type"
type = "string"
option = ["--type"]
sources = ["docs"]
[[commands.subcommand.task]]
id = "container"
label = "Launch a container"
fields = ["image", "name"]
required = ["image"]
[[commands.subcommand.task]]
id = "vm"
label = "Launch a VM"
fields = ["image", "name", "vm"]
required = ["image"]
set = { vm = [true] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["image", "name", "vm", "ephemeral", "console"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["config", "target", "type"]