Commit Graph

41676 Commits

Author SHA1 Message Date
Stéphane Graber
e46720cb6d
incusd/instance: Confine OCI network writes to instance root
Also rejects line breaks in the oci.dns.domain and oci.dns.search values
which are written to the generated resolv.conf.

This addresses GHSA-7fj9-65v4-rp7h (CVE pending)

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 09:45:33 -04:00
Stéphane Graber
4d64535046
internal/instance: Prevent line breaks in NVIDIA config values
This addresses GHSA-m3j6-p3v3-qmjv (CVE pending)

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 09:45:32 -04:00
Stéphane Graber
041269ff26
incusd/project: Restrict volume creation options in restricted projects
A user in a restricted project could set block.create_options to inject
arguments into the filesystem creation command run as root. Restrict such
projects to the pool's configured default for that option.

This addresses CVE-2026-62867

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 09:45:31 -04:00
Stéphane Graber
9f3557760c
Merge pull request #3745 from stgraber/fixes
Some checks are pending
Tests / System (dir, stable, ubuntu-24.04-arm, cluster) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_container) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_core) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_network) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_storage) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_container) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_core) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_network) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, cluster) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_container) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_core) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_network) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_storage) (push) Waiting to run
Tests / System (linstor, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (linstor, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (lvm, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (lvm, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (random, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (random, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (zfs, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (zfs, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / Client (oldstable, macos-latest) (push) Waiting to run
Tests / Client (oldstable, ubuntu-latest) (push) Waiting to run
Tests / Client (oldstable, windows-latest) (push) Waiting to run
Tests / Client (stable, macos-latest) (push) Waiting to run
Tests / Client (stable, ubuntu-latest) (push) Waiting to run
Tests / Client (stable, windows-latest) (push) Waiting to run
Tests / Documentation (push) Waiting to run
incusd/firewall/nftables: Fix template race in applyNftConfig
2026-07-30 07:43:28 -04:00
Benjamin Somers
8bb9e6ef38
incusd/instances: Fix capitalization
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-30 06:31:32 -04:00
Benjamin Somers
9e3463d204
i18n: Update translation templates
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 06:31:31 -04:00
Benjamin Somers
7cac94fc05
incus/low-level: Add rebuild-nvram to the list of repair actions
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 06:31:30 -04:00
Benjamin Somers
6d8cbaf086
api: instance_nvram (updated)
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 06:31:29 -04:00
Benjamin Somers
6f98fd1a33
incusd/instance: Add ResetNVRAM
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-30 06:31:28 -04:00
Benjamin Somers
31a37dca07
incusd/instances: Add NVRAM rebuild as a repair action
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 06:31:27 -04:00
Stéphane Graber
8598d964c6
incusd/db: Port instance config and device fill to generated queries
This also fixes devices without any config keys being missed when
loading instances.

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:35 -04:00
Stéphane Graber
6514bb1339
incusd/scriptlet: Scope instance device query
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:32 -04:00
Stéphane Graber
9611986c8c
incusd/project: Scope config queries to project resources
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:28 -04:00
Stéphane Graber
3a7ce78347
incusd/backup: Only load referenced profile data
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:25 -04:00
Stéphane Graber
001e0d9bca
incusd: Only load referenced profile data
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:21 -04:00
Stéphane Graber
5fbe0b52bf
incusd/db/cluster: Scope profile queries in Instance.ToAPI
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:17 -04:00
Stéphane Graber
9b9440e8ba
incusd/db: Only load referenced profiles when filling instances
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:14 -04:00
Stéphane Graber
25706fb75c
incusd/db/cluster: Add referenced profile query helpers
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:10 -04:00
Stéphane Graber
8d761ba9f9
incusd/db/cluster: Update generated code
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:07 -04:00
Stéphane Graber
e18e63c38e
incusd/db: Add ReferenceID filtering to Config and Device
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:53:03 -04:00
Stéphane Graber
ab062097ff
generate-database: Add ReferenceID filtering for reference tables
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:52:52 -04:00
Stéphane Graber
42d9d15249
incusd: Fix goroutine leak when cluster instance list times out
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:52:49 -04:00
Stéphane Graber
f42e292f60
incusd/operations: Remove operation from map on DB registration failure
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:52:45 -04:00
Stéphane Graber
f956046e91
incusd/instance/qemu: Release operation lock on snapshot size failure
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Sponsored-by: https://webdock.io
2026-07-30 05:52:40 -04:00
Stéphane Graber
17aa57626b
Merge pull request #3746 from stgraber/cli
Add bitmap operations and instance repair actions to the CLI
2026-07-30 03:45:36 -04:00
Stéphane Graber
8665c9f696
Merge pull request #3744 from bensmrs/work
Add NVRAM setters
2026-07-30 00:57:38 -04:00
Stéphane Graber
ba83978f4c
i18n: Update translation templates
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:33 -04:00
Stéphane Graber
dfb97c68cb
incus/storage_volume: Add bitmap subcommand
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:33 -04:00
Stéphane Graber
5465a49133
client: Add GetStorageVolumeBitmap
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:32 -04:00
Stéphane Graber
99d66fa419
incus/low-level: Add repair subcommand
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:31 -04:00
Stéphane Graber
ad9d42436a
incus/low-level: Add bitmaps subcommand
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:30 -04:00
Stéphane Graber
99792b5556
client: Add RepairInstance
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:29 -04:00
Stéphane Graber
593775c736
incusd: Fix repair endpoint swagger method
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:43:28 -04:00
Stéphane Graber
fc6bce092e
incusd/firewall/nftables: Fix template race in applyNftConfig
Clone the common table template per call rather than mutating the
shared parse tree, which could corrupt rendered rules when two
firewall operations ran concurrently.

Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
2026-07-30 00:38:39 -04:00
Stéphane Graber
f6c9c51126
Merge pull request #3733 from tapiab/feat-list-all-remotes
Some checks are pending
Tests / System (dir, stable, ubuntu-24.04-arm, cluster) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_container) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_core) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_network) (push) Waiting to run
Tests / System (dir, stable, ubuntu-24.04-arm, standalone_storage) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_container) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_core) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_network) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, cluster) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_container) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_core) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_network) (push) Waiting to run
Tests / System (dir, tip, ubuntu-24.04-arm, standalone_storage) (push) Waiting to run
Tests / System (linstor, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (linstor, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (lvm, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (lvm, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (random, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (random, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / System (zfs, stable, ubuntu-24.04, cluster) (push) Waiting to run
Tests / System (zfs, stable, ubuntu-24.04, standalone_storage) (push) Waiting to run
Tests / Client (oldstable, macos-latest) (push) Waiting to run
Tests / Client (oldstable, ubuntu-latest) (push) Waiting to run
Tests / Client (oldstable, windows-latest) (push) Waiting to run
Tests / Client (stable, macos-latest) (push) Waiting to run
Tests / Client (stable, ubuntu-latest) (push) Waiting to run
Tests / Client (stable, windows-latest) (push) Waiting to run
Tests / Documentation (push) Waiting to run
incus/list: Add --all-remotes
2026-07-29 23:46:58 -04:00
Stéphane Graber
51fe1d408b
Merge pull request #3743 from jochumdev/pigz
incusd: Improve pgzip/pigz support
2026-07-29 23:13:13 -04:00
Benjamin Somers
143c4c7ab5
i18n: Update translation templates
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:52:29 -04:00
Benjamin Somers
ff3641dc9f
api: instance_nvram (updated)
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:10 -04:00
Benjamin Somers
0f614c25f8
incus/low-level: Add nvram edit subcommand
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:09 -04:00
Benjamin Somers
52f88ddc16
incus/low-level: Add nvram set subcommand
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:08 -04:00
Benjamin Somers
b010421942
incus/usage: Add AsSingleton
This allows using function like kvToMap on a non-list atom.

Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:07 -04:00
Benjamin Somers
fa0809fde0
incus/usage: Add MakeKV
This allows building KV-like atoms.

Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:06 -04:00
Benjamin Somers
1d967dc872
incus: Modify argument order in flag helpers
This allows making default values optional where needed.

Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:05 -04:00
Benjamin Somers
ddc228f427
doc/rest-api: Refresh swagger YAML
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:04 -04:00
Benjamin Somers
3e774be90e
incusd/instances: Add NVRAM variable update
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:03 -04:00
Benjamin Somers
65dfe674f3
shared/uefi: Add some OVMF formatting primitives
This also fixes a few oddities in the code.
This leaves boot entries, device paths, and keyboard shortcuts
unformatted, as those require too much time to consider including in
Incus 7.3.

Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:02 -04:00
Benjamin Somers
5eaad262c2
shared/api: Add InstanceNVRAMVariablePut struct
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:01 -04:00
Benjamin Somers
982b10a111
incusd/instances: Diverse fixes
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:01 -04:00
Benjamin Somers
49e9bffc02
client: Add NVRAM variable update
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:51:00 -04:00
Benjamin Somers
3b74d3cc41
incusd/instances: Add ETag on NVRAM variable getter
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2026-07-29 22:50:59 -04:00