Skip to content

Commit ec5af36

Browse files
committed
news: Sync with forum
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
1 parent 745bbc2 commit ec5af36

File tree

1 file changed

+237
-0
lines changed

1 file changed

+237
-0
lines changed
Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
title: Incus 6.16 has been released
2+
date: 2025/08/29 16:08
3+
origin: https://discuss.linuxcontainers.org/t/incus-6-16-has-been-released/24614
4+
content: |-
5+
# Introduction
6+
7+
The Incus team is pleased to announce the release of Incus 6.16!
8+
9+
This release brings in a new storage driver, the ability to install Windows VMs without having to rely on a repacked ISO and support for temporary storage in containers.
10+
11+
[![image|690x286](https://discuss.linuxcontainers.org/uploads/default/original/2X/e/e01645fdf9334f5fa13be82e05913ffdf98803d8.png)](https://linuxcontainers.org/incus/try-it/)
12+
13+
As usual, you can try it for yourself online: https://linuxcontainers.org/incus/try-it/
14+
15+
Enjoy!
16+
17+
# New features
18+
## TrueNAS storage driver
19+
Incus can now use a remote TrueNAS storage server as a storage pool.
20+
21+
This behaves very similarly to the ZFS storage driver since that's what TrueNAS uses, but rather than interacting with ZFS locally, the driver uses the TrueNAS API to perform the various actions remotely on the storage server and then relies on iSCSI to export those volumes from the TrueNAS server and connect them on the Incus server.
22+
23+
As a remote storage driver (alongside Ceph, Linstor and clustered LVM), this can be used to back clusters, allowing for seamless migration of instances between servers as no data needs to be moved.
24+
25+
NOTE: This relies on a pre-release version of TrueNAS Scale.
26+
27+
root@truenas-incus:~# incus storage create demo truenas source=test/demo truenas.host=192.0.2.10 truenas.api_key=MY-KEY truenas.allow_insecure=true
28+
Storage pool demo created
29+
root@truenas-incus:~# incus launch images:debian/13 d13 --storage demo
30+
Launching d13
31+
root@truenas-incus:~# incus list
32+
+------+---------+---------------------+------------------------------------------------+-----------+-----------+
33+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
34+
+------+---------+---------------------+------------------------------------------------+-----------+-----------+
35+
| d13 | RUNNING | 10.2.165.159 (eth0) | fd42:a815:51cf:d4bb:1266:6aff:fe51:ae56 (eth0) | CONTAINER | 0 |
36+
+------+---------+---------------------+------------------------------------------------+-----------+-----------+
37+
38+
Documentation: https://linuxcontainers.org/incus/docs/main/reference/storage_truenas/
39+
40+
## USB CD-ROM handling for VMs
41+
We've reworked our USB device setup for disk devices.
42+
43+
Rather than use the most basic USB mass storage driver as was done previously, we now directly set up some of the USB block transfer layer.
44+
45+
The main benefit from this is that attaching an ISO to a VM on the USB bus will now correctly result in a virtual CD-ROM drive being exposed to the VM.
46+
47+
With this, it's now possible to attach the Windows install media and VirtIO driver media to a VM using `io.bus=usb` and directly boot and install Windows without needing to rely on ISO repacking through `distrobuilder`.
48+
49+
## `tmpfs` and `tmpfs-overlay` disks for containers
50+
Two new "special" disk sources are now supported for use by containers:
51+
52+
- `source=tmpfs:`
53+
- `source=tmpfs-overlay:`
54+
55+
Both then support the following properties:
56+
57+
- `size` (size of the tmpfs layer)
58+
- `initial.uid` (Initial user for the mount)
59+
- `initial.gid` (Initial group for the mount)
60+
- `initial.mode` (Initial permissions for the mount)
61+
- `path` (Mount path for the disk)
62+
63+
This is particualrly useful for OCI containers where the container doesn't have an editable /etc/fstab with an init system applying mounts on boot.
64+
65+
The `tmpfs-overlay` variant allows keeping access to any pre-existing content at the mount path by having any addition/changes be stored in the tmpfs layer.
66+
67+
Documentation: https://linuxcontainers.org/incus/docs/main/reference/devices_disk/
68+
69+
## Configurable console behavior in the CLI
70+
Expanding on the recently introduce set of default CLI configurations, we now have a few more configuration options to control console behavior:
71+
72+
- `console_type` (can be set to `vga` or `console`)
73+
- `console_spice_command` (can be set to a command, using `SOCKET` as the placeholder value for the socket path)
74+
75+
Those can be used to change the default console type within the CLI or even completely override the command to be run when attaching to a VGA console using SPICE.
76+
77+
# Complete changelog
78+
79+
Here is a complete list of all changes in this release:
80+
81+
[details="Full commit list"]
82+
* incus/cmd/incus/config_template.go: Adding ls alias to list command
83+
* incus/cmd/incus/snapshot.go: Adding ls alias to snapshot command
84+
* incus/cmd/incus/storage_volume.go: Adding ls alias to list command
85+
* incusd/instance/lxc: Fix handling of multiple USB device removal
86+
* Translated using Weblate (German)
87+
* incusd/device: Fix logic for checking if parent is a bridge in IsPhysicalWithBridge
88+
* incusd/device/disk: Enable posix ACL support for virtiofsd
89+
* incusd/os: Forward within cluster
90+
* incusd/ip/neigh: Fix MAC filtering
91+
* incusd: Move IncusOS detection to OS struct
92+
* incusd/networks: Filter network list on Incus OS
93+
* incusd/storage: Fix EnsureMountPath to avoid resetting permissions
94+
* shared/tls: Ignore expiration date of trusted certificates
95+
* incus: Replace IsNetworkName with IsInterfaceName
96+
* shared/validate: Remove unused IsNetworkName
97+
* shared/validate: Implement IsAPIName
98+
* doc/installing: Update Ubuntu versions in Zabbly repository
99+
* incusd: Consistently validate object names
100+
* tests: Fix invalid image alias name
101+
* tests: We no longer allow slashes in zones
102+
* incusd/instance: Move migration.stateful check to CanLiveMigrate
103+
* incusd/instance/qemu: Fix zero-value check regression
104+
* internal/instance: Add volatile..io.bus
105+
* incusd/device/disk: Refactor bus=XXX setting logic
106+
* incusd/network/bridge: Always set DHCPv6 dns-server field
107+
* incusd/device/disk: Revamp virtiofs+9p handling
108+
* doc: Update metadata
109+
* incusd/instance/qemu: Allocate ports for 9p and virtiofs
110+
* incusd/instance/qemu: Fix typing regression
111+
* incusd/instance/qemu: Make virtiofs shares fully hotpluggable and refactor 9p logic
112+
* Make the agent aware of the actual FSType
113+
* incus-agent: Remove dual mount type handling
114+
* shared/scriptlet: Move scriptlet utils to shared
115+
* internal/server/scriptlet: Update usages
116+
* incusd/sys/os: Tweak IncusOS detection
117+
* Translated using Weblate (Japanese)
118+
* generate-database: Fix sqlite3 error detection
119+
* incusd/database: Re-generate code
120+
* incusd/instances: Improve instance creation errors
121+
* incusd/storage_volumes: Fix error message
122+
* incusd/instance/qemu: Fix vTPM on arm64 systems
123+
* incus/console: Add default console command in configuration file
124+
* incusd/storage/zfs: Use compression and large-blocks on backups
125+
* incusd/apparmor: Add support for abi4.0
126+
* incusd/networks: Only include Incus OS interfaces if not already listed
127+
* incusd/networks: Tweak access control
128+
* incusd/network/sriov: Fix spacing
129+
* incusd/network: Pass request type to validator
130+
* tests/openfga: Tweak check (user is able to see local interfaces)
131+
* incusd/network/ovn: Don’t validate uplink network on server-specific notification
132+
* incusd/network/bridge: Don’t require dnsmasq on link-local IPv6
133+
* build(deps): bump actions/checkout from 4 to 5
134+
* docs: Clarify type and scope of user.\* config keys
135+
* incusd/server/network: Fix update config regression
136+
* tests/basic_usage: Improve auto-restart test loop
137+
* api: storage_driver_truenas
138+
* incusd/storage/truenas: Introduce TrueNAS driver
139+
* docs: Update word list
140+
* docs: Add TrueNAS storage driver
141+
* tests: Add TrueNAS tests (and tweak testsuite)
142+
* incusd/resources: Clean golangci-lint
143+
* internal/usbid: Clean golangci-lint
144+
* incusd/resources: Move usbid as sub-package
145+
* incusd: Move resources package to shared package
146+
* shared/resources: Restrict to Linux
147+
* dhcp: stop 60s renew spam; request 51/58/59, derive sane T1, add jitter
148+
* incus/file: Add some examples with stdin/stdout
149+
* i18n: Update translation templates
150+
* incusd/apparmor: Don’t use abi4.0
151+
* incusd/config: Fix import shadowing
152+
* Translated using Weblate (Portuguese)
153+
* Fix typo and add clarity for project param
154+
* incusd/instance/lxc: Avoid issues with nested containers and ping group range
155+
* doc: Mention nft in Docker part of firewall doc
156+
* doc: Tweak Docker recommendations
157+
* incusd/instance/qemu: Ensure cdrom is always read-only
158+
* incusd/instance/qmp: Use USB block transport to handle CD-ROM
159+
* incusd/instance/qemu: Fix USB CDROM handling
160+
* incus/dhcp: run DHCP on all container interfaces and aggregate DNS from all leases
161+
* incusd/storage: Restrict setting description to global record
162+
* incusd/main_forknet: Fix gofumpt
163+
* incusd/network: Restrict setting description to global record
164+
* incusd/networks: Set the description when completing the record
165+
* incusd/project: Don’t empty global default profile on force deletion
166+
* doc/requirements: Document minimum OVS/OVN versions
167+
* lxd-to-incus: Handle typo in trigger name
168+
* incus/dhcp: default routes and multiple DHCP clients for OCI containers
169+
* incusd/instance_exec: Relax connection timeout
170+
* incusd/network: Fix logic for UsedByInstanceDevices
171+
* incusd/network/ovn: Support for directional port groups
172+
* incusd/network/acl: Support for directional port groups
173+
* Makefile: Bump Go to 1.24.0
174+
* gomod: Update dependencies
175+
* github: Disable go-swagger on Go 1.25+
176+
* github: Disable Linstor tests for now
177+
* incusd/instance/utils: Don’t fail instance startup due to incomplete CPU baseline
178+
* incusd/patches: Migrate port groups to directional
179+
* incusd/device/disk: Add tmpfs support for disk devices
180+
* gomod: Update dependencies
181+
* incusd/auth/tls: Don’t spam with warnings
182+
* incusd/fsmonitor: Fix handler issue when flooded
183+
* incusd/device/nic: Don’t apply MTU if none detected
184+
* incusd/ip/tuntap: Fix handling of Master property
185+
* incusd/network/ovn: Fix behavior when ACL name is used as match source
186+
* incusd/network/acl: Fix behavior when ACL name is used as match source
187+
* api: container_disk_tmpfs
188+
* doc/device: Add documentation for tmpfs disk
189+
* tests: Add test for tmpfs disk
190+
* doc/installing: Update Debian install instructions
191+
* shared/api: Add missing Description field to InstanceSnapshots
192+
* incusd: Correctly fill in the instance snapshot description
193+
* doc/rest-api: Refresh swagger YAML
194+
* incusd/cluster: Don’t use the proxy for internal connections
195+
[/details]
196+
197+
# Documentation
198+
199+
The Incus documentation can be found at:
200+
201+
https://linuxcontainers.org/incus/docs/main/
202+
203+
# Packages
204+
205+
There are no official Incus packages as Incus upstream only releases regular release tarballs. Below are some available options to get Incus up and running.
206+
207+
## Installing the Incus server on Linux
208+
209+
Incus is available for most common Linux distributions. You’ll find detailed installation instructions in our documentation.
210+
211+
https://linuxcontainers.org/incus/docs/main/installing/
212+
213+
## Homebrew package for the Incus client
214+
215+
The client tool is available through HomeBrew for both Linux and MacOS.
216+
217+
https://formulae.brew.sh/formula/incus
218+
219+
## Chocolatey package for the Incus client
220+
221+
The client tool is available through Chocolatey for Windows users.
222+
223+
https://community.chocolatey.org/packages/incus/6.16.0
224+
225+
## Winget package for the Incus client
226+
227+
The client tool is also available through Winget for Windows users.
228+
229+
https://winstall.app/apps/LinuxContainers.Incus
230+
231+
# Support
232+
233+
Monthly feature releases are only supported up until the next release comes out. Users needing a longer support length and less frequent changes should consider using Incus 6.0 LTS instead.
234+
235+
Community support is provided at: https://discuss.linuxcontainers.org
236+
Commercial support is available through: https://zabbly.com/incus
237+
Bugs can be reported at: https://github.com/lxc/incus/issues

0 commit comments

Comments
 (0)