Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1002 commits
Select commit Hold shift + click to select a range
545bb58
incusd/storage: Fix migration error due to rounding
stgraber Apr 30, 2025
4af1734
incusd: add missing err handling for transactions
The127 Apr 30, 2025
c441e51
incusd: rename variable `mux` to `router` so it does not collide with…
The127 Apr 30, 2025
6205dce
cmd/incus-agent: rename variable `mux` to `router` so it does not col…
The127 Apr 30, 2025
d515bb5
incusd: rename all instances of sha256.New() to hash256 so they dont …
The127 Apr 30, 2025
e36aff6
client: rename all instances of sha256.New() to hash256 so they dont …
The127 Apr 30, 2025
08bfe08
incusd/storage/zfs: Optimize snapshot deletion
stgraber Apr 30, 2025
134722b
cmd/incus-migrate: add missing switch case with explicit comment
The127 Apr 30, 2025
14a6264
incusd: internalize the default case into the switch so it covers all…
The127 Apr 30, 2025
5a566ed
internal/filter: internalize the default case into the switch so it c…
The127 Apr 30, 2025
2437495
incusd: add more ErrorList tests for error formatting
The127 Apr 28, 2025
44bf5f9
incusd: refactor Error implementation of ErrorList
The127 Apr 28, 2025
f3d9585
incusd: make all functions on ErrorList take a pointer receiver
The127 Apr 28, 2025
9cc05f6
incusd: rename Error struct and make it private
The127 Apr 28, 2025
0fec5aa
incusd: remove redundant size 0 initialization for maps
The127 May 1, 2025
6652129
cmd/generate-config: remove redundant size 0 initialization for maps
The127 May 1, 2025
49ad58f
cmd/lxc-to-incus: remove redundant size 0 initialization for maps
The127 May 1, 2025
a860b5d
internal/dnsutil: remove unused package dnsutil
The127 May 1, 2025
7ee1ee4
incusd/instance/drivers: Rewrite QEMU config override logic
bensmrs May 1, 2025
78b1690
incusd/instance/drivers: Adapt the tests to the new override logic
bensmrs May 1, 2025
632ff44
incusd/instance/drivers: Drop old RegEx parser and return proper errors
bensmrs May 1, 2025
f7ae9e7
incusd/instance/drivers: Update tests
bensmrs May 1, 2025
f7503dc
tools: Add govulncheck
breml May 1, 2025
b25232a
incusd/dnsmasq: refactor DHCPValidIP condition checks
The127 Apr 28, 2025
57c1572
incusd: rename instanceActionToOptype to instanceActionToOpType
The127 May 1, 2025
822aab4
internal/iprange: add tests for the iprange.Range struct
The127 May 1, 2025
befbf7e
incusd/network/macvlan: Add gendoc comments
kmxtn Apr 30, 2025
98e2802
doc: Update configs
kmxtn Apr 30, 2025
9e59954
doc: Use gendoc for macvlan
kmxtn Apr 30, 2025
1661db4
incusd/certificates: Properly handle PEM encoding on POST
stgraber May 2, 2025
bafa564
lint: Exclude generated docs from codespell
breml May 1, 2025
716ad2e
lint: Exclude generated manpages from codespell
breml May 1, 2025
821953b
incusd/instance/qemu: Don't allow QEMU RSS to exceed memory limit
stgraber May 2, 2025
51dc13b
incusd/network/macvlan: Run gofumpt
stgraber May 2, 2025
339d1b9
client: Add server-side filtering for certificates
allisoncchen May 2, 2025
eab7a44
incus/config_trust: Use server-side filtering
allisoncchen May 2, 2025
9eaa998
incus-migrate: introduce Migrator interface with separate structs
presztak May 1, 2025
5caf031
incus-migrate: Add support for additional disks
presztak May 1, 2025
9943df5
incusd/dns: Restart DNS server on failure
gwenya Apr 28, 2025
7687759
incusd/network/sriov: Port to gendoc
cory-chang May 2, 2025
9865196
doc: Use gendoc for network sriov
cory-chang May 2, 2025
82fff8e
doc: Update configs
cory-chang May 2, 2025
1817f45
cmd/generate-database/lex: Support pluralizing entities ending in y
masnax May 2, 2025
6b2fac0
cmd/generate-database/db: Support multi-word association tables
masnax May 2, 2025
2bc7fc7
cmd/generate-database/db: Don't duplicate join statements
masnax May 2, 2025
c33da22
api: instance_publish_split
stgraber May 2, 2025
f91e1f1
shared/api: Add field for image type to ImagePost struct
saahirN Apr 28, 2025
21bb8c5
incusd/instance: Change instance interface to add support for exporti…
saahirN Apr 28, 2025
2d4b4a2
incusd/instance/lxc: Add support for publishing split images for cont…
saahirN Apr 28, 2025
f373e4e
incusd/instance/qemu: Add support for publishing split images for VMs
saahirN Apr 28, 2025
fc3bca8
incusd/images: Add support for publishing split images
saahirN Apr 28, 2025
9a68392
incus/publish: Add new flag to publish command for split images
saahirN Apr 28, 2025
4921db5
tests: Add test for publishing split images
saahirN Apr 28, 2025
1e6609e
i18n: Update translation templates
stgraber Apr 30, 2025
e59a2e6
doc/rest-api: Refresh swagger YAML
stgraber Apr 30, 2025
389f451
shared/cliconfig: Added DefaultSettings to Config Struct
arojas2003 Apr 30, 2025
742fa9d
incus: Added defaultListFormat helper function
arojas2003 Apr 30, 2025
8d8232c
incus: Added Default List Format calls in List Commands
arojas2003 Apr 30, 2025
ef122a6
incusd/instance/qemu: Limit memory hotplug slots to 8
stgraber May 2, 2025
ccbbfac
incusd/device/sriov: Handle cards without configurable spoof checking
stgraber May 3, 2025
6f31840
incusd/firewall/nftables: disable UDP checksum validation for packets…
MaheshPunjabi May 4, 2025
5674930
cmd/generate-database/db: Use snake case entity names for ID column n…
masnax May 5, 2025
cc34497
api: init_preseed_certificates
stgraber May 6, 2025
4b9c401
client: Add certificate handling to ApplyServerPreseed
DinglyCoder May 5, 2025
73a8d07
shared/api: Add Certificates to InitLocalPreseed
DinglyCoder May 5, 2025
91ad8fe
doc/rest-api: Refresh swagger YAML
DinglyCoder May 5, 2025
66676f7
incusd/db/network_acls: Move to generated functions
Aryan470 Apr 30, 2025
7b6f0f9
incusd: Switch to new GetNetworkACLs
stgraber May 6, 2025
63b50ea
incusd: Switch to new GetNetworkACLsAllProjects
stgraber May 6, 2025
7b35651
shared/api: Add URL function on NetworkACL
stgraber May 6, 2025
b294f19
incusd: Switch to new GetNetworkACLURIs
stgraber May 6, 2025
fe788d2
incusd: Switch to new DeleteNetworkACL
stgraber May 6, 2025
70802c7
incusd: Switch to new RenameNetworkACL
stgraber May 6, 2025
e161c09
incusd: Switch to new CreateNetworkACL
stgraber May 6, 2025
52b7c97
incusd: Switch to new GetNetworkACLNameAndProjectWithID
stgraber May 6, 2025
c0621a7
incusd: Switch to new GetNetworkACLIDsByNames
stgraber May 6, 2025
b3f734d
incusd: Move remaining network ACLs DB functions
stgraber May 6, 2025
f80ce46
client: Fix required extension for GetNetworkAddressSetsAllProjects
breml May 6, 2025
a59064c
incusd: Move cluster resource caching logic
janetkimmm May 6, 2025
f39e6e8
incusd/main_forknet: Implement stateful DHCPv6
rahafjrw May 2, 2025
39fd0e0
incusd/main_forknet: Add delay to wait for IPv6 link-local
stgraber May 6, 2025
246534b
incusd/main_forknet: Add stateless DHCPv6 support
stgraber May 6, 2025
471a148
gomod: Update dependencies
stgraber May 7, 2025
4fa1a05
lint/govulncheck: Don't test stdlib
stgraber May 7, 2025
ef90609
incus: Move sshfs helpers to utils
stgraber May 7, 2025
7d7392b
incusd/response: Move SFTPResponse
stgraber May 7, 2025
5b60efb
api: custom_volume_sftp
stgraber May 6, 2025
1387808
incusd/storage_volumes: Add SFTP endpoint
Aryan470 May 3, 2025
84f291f
client: Add GetStoragePoolVolumeFileSFTPConn
Aryan470 May 3, 2025
9391abd
incus: Add incus storage volume file mount
Aryan470 May 3, 2025
e8f5f75
i18n: Update translation templates
stgraber May 6, 2025
45df352
doc/rest-api: Refresh swagger YAML
stgraber May 7, 2025
1699626
incus/remote: Add "get-client-certificate" and "get-client-token"
stoven2k17 May 7, 2025
ff036bd
i18n: Update translation templates
stgraber May 7, 2025
56edc1f
CONTRIBUTING: Clearly ban LLMs
stgraber May 7, 2025
44d788c
doc/wordlist: Extend acronyms
stgraber May 7, 2025
a35fd3e
incus-migrate: Add support for .OVA import
presztak May 6, 2025
6a0cb34
incus: Add add aliases to incus commands
May 1, 2025
06c0d18
incus: Add create aliases to add commands
May 1, 2025
360dd74
incus: Add delete and rm aliases to remove commands
May 1, 2025
6f1b11b
incus: Add remove aliases to delete commands
May 1, 2025
aecc684
incus-agent: Skip /dev/incus on Windows
stgraber May 9, 2025
7043154
incusd/instance/qemu: Don't block on Windows agent
stgraber May 9, 2025
2ebb5dc
internal/util: Add Incus OS detection
stgraber May 9, 2025
1459469
incusd: Use IsIncusOS
stgraber May 9, 2025
13cfb92
incusd/metrics: Include OS metrics on Incus OS
stgraber May 9, 2025
83910a4
tests/storage/truenas: remove previously added echo comment
May 12, 2025
282a2b8
incusd/storage/truenas: rename revert -> reverter
May 12, 2025
422c869
incusd/storage/truenas: now use implicitly deactivation in DeleteVolume
May 13, 2025
339d5c2
incusd/storage/truenas: ignore "cannot shrink" zvol errors from middl…
May 13, 2025
ade11d1
incusd/storage/truenas: add CacheVolumeSnapshots
May 13, 2025
930f550
test/storage/truenas: re-enable project limits tests
May 13, 2025
5da1a3e
incusd/storage/truenas: fix passing lock by value
May 13, 2025
a4fd47a
incusd/storage/truenas: remove nfs support code
May 13, 2025
9ce5c31
incusd/storage/truenas: stripped DeleteVolumeSnapshotOld
May 13, 2025
701a323
incusd/storage/truenas: remove SetVolumeQuotaOld
May 15, 2025
436f5af
incusd/storage/truenas: enable remote driver functionality
May 15, 2025
df7eae2
incusd/storage/truenas: add truenas.force_reuse property
May 15, 2025
237702a
incusd/storage/truenas: refactor properties, add support for tool v0.…
May 20, 2025
dc39c2b
incusd/storage/truenas: disable --allow-shrink
May 20, 2025
eed26e3
docs/storage/truenas: add current props docs
May 21, 2025
275d938
incusd/storage/truenas: add support for v0.6.1 `locate --create`
May 21, 2025
6f9dc60
incusd/storage/truenas: replace zfs.* props with truenas.* props
May 22, 2025
d978d02
incusd/storage/truenas: replace shorthand flags with longhand versions
May 22, 2025
7d2aa3b
incusd/storage/truenas: simplified Update(changedConfig)
May 22, 2025
4f56683
incusd/storage/truenas: add --allow-shrink
May 22, 2025
bab03dc
incusd/storage/truenas: allow-shrink -> allow-shrinking
May 23, 2025
398815f
incusd/storage/truenas: removed truenas.block_mode
May 23, 2025
7adc9fb
incusd/storage/truenas: stripped block_mode=false support
May 23, 2025
a3cba11
incusd/storage/truenas: truenas.blocksize now only refers to volblock…
May 23, 2025
150acca
incusd/storage/truenas: remove truenas.reserve_space
May 23, 2025
20ea75b
incusd/storage/truenas: remove needsRecursion
May 23, 2025
860b8aa
incusd/storage/truenas: snapshot rename now calls tool directly
May 26, 2025
09b9840
test/storage/truenas: disabled flaky test
May 26, 2025
62c1bac
incusd/storage/truenas: remove TODO
May 26, 2025
59e8f17
typo: TrueBAS -> TrueNAS
May 26, 2025
c05ff86
incusd/storage/truenas: add support for `locate` statuses
May 27, 2025
f82347c
incusd/storage/truenas: optimize snapshot name handling
May 27, 2025
7bca8ff
incusd/storage/truenas: replace calls to fmt.Errorf with errors.New w…
May 27, 2025
cdafc36
incusd/instance/lxc: Refactor inheritInitPidFd
gwenya May 10, 2025
a7c0534
Removed useless else in Makefile
nanjj May 14, 2025
ad2a298
incusd/main_forknet: Don't touch resolv.conf when no leases
stgraber May 14, 2025
d7247b3
incusd/storage/ceph: Fix parent tracking for VMs
stgraber May 15, 2025
41b85d2
incusd/storage/ceph: Fix typo in parseParent
stgraber May 15, 2025
a6e981e
tests: Switch clustering test subnet
stgraber May 17, 2025
a1b1dcf
incus: Simplify code by using modern constructs
nanjj May 13, 2025
1cf630d
incusd: Simplify code by using modern constructs
nanjj May 13, 2025
d21e453
internal/util: Simplify code by using modern constructs
nanjj May 17, 2025
1c86949
internal/linux: Simplify code by using modern constructs
nanjj May 17, 2025
06736cc
internal/filter: Simplify code by using modern constructs
nanjj May 17, 2025
9b5dbd7
shared/api: Simplify code by using modern constructs
nanjj May 17, 2025
5a746b5
shared/cliconfig: Simplify code by using modern constructs
nanjj May 17, 2025
0c8bca5
shared/idmap: Simplify code by using modern constructs
nanjj May 17, 2025
adcd329
shared/ioprogress: Simplify code by using modern constructs
nanjj May 17, 2025
55658db
shared/osarch: Simplify code by using modern constructs
nanjj May 17, 2025
5eeba12
shared/subprocess: Simplify code by using modern constructs
nanjj May 17, 2025
6e10d8e
test: Simplify code by using modern constructs
nanjj May 17, 2025
3efbb12
generate-config: Simplify code by using modern constructs
nanjj May 17, 2025
0083f80
generate-database: Simplify code by using modern constructs
nanjj May 17, 2025
7f45693
incus-agent: Simplify code by using modern constructs
nanjj May 17, 2025
aa54cbe
incus-benchmark: Simplify code by using modern constructs
nanjj May 17, 2025
e04683d
incusd: Simplify code by using modern constructs
nanjj May 17, 2025
1d54207
lxc-to-incus: Simplify code by using modern constructs
nanjj May 17, 2025
2e66669
Translated using Weblate (Spanish)
jorgeteixe May 17, 2025
8216c04
incusd/instances: Tweak storage migration errors
stgraber May 20, 2025
e1416c0
incusd/instance/qemu: Enable invtsc CPU extension when not migratable
nanjj May 20, 2025
e78e482
incusd/instance: Fix incorrect cluster.Connect call
stgraber May 21, 2025
619d4c6
incusd/instances_post: Prevent pointless device overrides
stgraber May 21, 2025
6966992
Makefile: Pin tablewriter (API breakage)
stgraber May 21, 2025
ad69cb7
client: Use the umoci Go package instead of the command
presztak Apr 2, 2025
28d727d
doc: Remove mentions of the umoci command
presztak Apr 2, 2025
f8208f5
gomod: Update dependencies
presztak Apr 2, 2025
67c3e3c
tests: Update godeps
stgraber May 21, 2025
ae67bbd
tests: Skip rootless-containers/proto/go-proto (Apache 2.0)
stgraber May 21, 2025
92e529f
internal/server/device: remove no-op rewriteHostAddr
cyphar May 22, 2025
2a0e62f
incusd/forkproxy: join the correct mntns for listen
cyphar May 22, 2025
6007f0e
tests: add tests for bind=container with proxy device
cyphar May 22, 2025
9c5be1c
client: Don't needlessly use format string functions
NathanChase22 May 23, 2025
6c801fc
tests: Don't needlessly use format string functions
NathanChase22 May 23, 2025
8c4942c
lxd-to-incus: Don't needlessly use format string functions
NathanChase22 May 23, 2025
5eabdc7
lxc-to-incus: Don't needlessly use format string functions
NathanChase22 May 23, 2025
4edac4a
incus-simplestreams: Don't needlessly use format string functions
NathanChase22 May 23, 2025
1c420e9
generate-config: Don't needlessly use format string functions
NathanChase22 May 23, 2025
fbc4ccf
generate-database: Don't needlessly use format string functions
NathanChase22 May 23, 2025
d9440ea
incus-agent: Don't needlessly use format string functions
NathanChase22 May 23, 2025
e1eae3b
fuidshift: Don't needlessly use format string functions
NathanChase22 May 23, 2025
062e21b
incus-user: Don't needlessly use format string functions
NathanChase22 May 23, 2025
d7a8195
incus-migrate: Don't needlessly use format string functions
NathanChase22 May 23, 2025
8e60e3a
incus: Don't needlessly use format string functions
NathanChase22 May 23, 2025
240c2bc
shared/validate: Don't needlessly use format string functions
NathanChase22 May 23, 2025
1645d21
shared/util: Don't needlessly use format string functions
NathanChase22 May 23, 2025
17acf5b
shared/tls: Don't needlessly use format string functions
NathanChase22 May 23, 2025
be8de53
shared/tcp: Don't needlessly use format string functions
NathanChase22 May 23, 2025
d436fa6
shared/subprocess: Don't needlessly use format string functions
NathanChase22 May 23, 2025
b25bb4d
shared/simplestreams: Don't needlessly use format string functions
NathanChase22 May 23, 2025
de7daa9
shared/logger: Don't needlessly use format string functions
NathanChase22 May 23, 2025
f231249
shared/ioprogress: Don't needlessly use format string functions
NathanChase22 May 23, 2025
814b204
shared/idmap: Don't needlessly use format string functions
NathanChase22 May 23, 2025
c433cdb
shared/cliconfig: Don't needlessly use format string functions
NathanChase22 May 23, 2025
38f1338
shared/cancel: Don't needlessly use format string functions
NathanChase22 May 23, 2025
f3ed4be
shared/ask: Don't needlessly use format string functions
NathanChase22 May 23, 2025
772938a
shared/archive: Don't needlessly use format string functions
NathanChase22 May 23, 2025
c7e2a79
shared/api: Don't needlessly use format string functions
NathanChase22 May 23, 2025
2072c65
internal/util: Don't needlessly use format string functions
NathanChase22 May 23, 2025
de66900
internal/usbid: Don't needlessly use format string functions
NathanChase22 May 23, 2025
5a1db88
internal/rsync: Don't needlessly use format string functions
NathanChase22 May 23, 2025
d27ce22
internal/netutils: Don't needlessly use format string functions
NathanChase22 May 23, 2025
89ea612
internal/migration: Don't needlessly use format string functions
NathanChase22 May 23, 2025
584ca01
internal/linux: Don't needlessly use format string functions
NathanChase22 May 23, 2025
5fb8465
internal/instance: Don't needlessly use format string functions
NathanChase22 May 23, 2025
09d3bcd
internal/filter: Don't needlessly use format string functions
NathanChase22 May 23, 2025
afe3fd8
internal/cmd: Don't needlessly use format string functions
NathanChase22 May 23, 2025
20aa264
incusd: Don't needlessly use format string functions
NathanChase22 May 23, 2025
09cdec4
incus-migrate: Prompt for cluster target
MaheshPunjabi May 19, 2025
64fea54
incus/instance/qmp: Implement our own QMP client
nanjj May 23, 2025
9f0d3f8
incusd/instance/qmp: Add tests for in-house QMP
nanjj May 23, 2025
1163bf5
incusd/instance/qmp: Switch to our own QMP client
nanjj May 23, 2025
288468f
gomod: Update dependencies
nanjj May 23, 2025
f16adf6
incusd/instance/qmp: Don't export internal QMP implementation
stgraber May 23, 2025
f4eb095
incusd/instance/qmp: if else if to switch case
nanjj May 24, 2025
5b66477
incusd/instance/qmp: Remove weird qemu qmp bug handling
nanjj May 24, 2025
fae6a7a
Make sure limits.memory <= root.size.state
nanjj May 23, 2025
5f2e8f0
incusd/instance/qmp: Refactor qmpWriteMsg
nanjj May 24, 2025
b68e0d3
api: network_ovn_external_nic_address
stgraber May 26, 2025
98e4f6d
incusd/device/nic_ovn: Added the two new nic options
OGCbn May 7, 2025
860eb0a
incusd/network/ovn: Add support for applying external address
OGCbn May 26, 2025
b8a4cfe
doc: Update config
stgraber May 17, 2025
61b778a
incus/storage: IsNfs support
May 27, 2025
7c3b7c2
incusd/storage/truenas: UnmountVolumeSnapshot now deletes and deactiv…
May 28, 2025
e7dc7cc
incusd/storage/truenas: temp snapshot volume names now include Server…
May 28, 2025
90a4f57
incusd/storage/truenas: retry deleting busy datasets
May 28, 2025
54e23c1
incusd/db/cluster: Update generated files
stgraber May 27, 2025
c01ca05
api: network_physical_gateway_hwaddr
stgraber May 27, 2025
c896d88
incusd/network/ovn: Bump base schema to 23.03.0
davidbockelman May 6, 2025
7147e14
incusd/network/physical: Add gateway hwaddr config
davidbockelman May 27, 2025
18f6569
incusd/network/ovn: Add StaticBinding functions
davidbockelman May 27, 2025
a8b4319
incusd/network/ovn: Add support for static MAC binding
davidbockelman May 7, 2025
e36ffea
doc: Update config
davidbockelman May 6, 2025
9257c37
incusd/storage: fix squashfs unpacking to NFS destinations
May 27, 2025
5a913fb
incusd/db/node: Add GetPendingNodeByName
presztak May 26, 2025
348b24b
incusd/cluster: Add support for pending nodes in Leave and Purge func…
presztak May 26, 2025
20f0b90
client: Add DeletePendingClusterMember
presztak May 27, 2025
27eee71
incusd: Remove cluster member on join failure
presztak May 26, 2025
1f7b1b2
incusd/instance/qmp: Associate request/reply with a command ID
nanjj May 24, 2025
2d42628
incusd/instance/qmp: Add command ID to runWithFile
nanjj May 24, 2025
58ab145
incusd/instance/qmp: Add command ID to RunJSON
nanjj May 24, 2025
73c0fba
incusd/launch.json: remove username
May 28, 2025
7ab188f
test/storage/truenas: re-enable storage test
May 28, 2025
c8cb15d
api: add storage_driver_truenas extension
May 29, 2025
855f7e5
test/storage/truenas: add stub truenas storage driver test
May 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .codespell-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
AtLeast
destOp
ECT
inport
renderD
requestor
5 changes: 5 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ RUN sed -r -i 's/^Components: main$/Components: main contrib/g' /etc/apt/sources
lxc-templates \
make \
man-db \
pipx \
pkg-config \
protoc-gen-go \
python3-matplotlib \
Expand All @@ -69,6 +70,9 @@ RUN sed -r -i 's/^Components: main$/Components: main contrib/g' /etc/apt/sources
# zfsutils-linux
xz-utils

# With pipx >= 1.5.0, we could use pipx --global instead.
RUN PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin pipx install codespell

# Add vscode user and add it to sudoers.
RUN groupadd -g 1000 $USERNAME && \
useradd -s /bin/bash -u $USER_UID -g $USER_GID -m $USERNAME && \
Expand All @@ -91,6 +95,7 @@ RUN go install -v github.com/google/go-licenses@latest && \
GOTOOLCHAIN="" go install -v golang.org/x/tools/gopls@latest && \
go install -v github.com/go-delve/delve/cmd/dlv@latest && \
go install -v golang.org/x/tools/cmd/goimports@latest && \
go install -v golang.org/x/vuln/cmd/govulncheck@latest && \
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin

# Make dependencies
Expand Down
37 changes: 0 additions & 37 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-reports.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Bug report
description: File a bug report.
type: bug
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: There is no existing issue for this bug
required: true

- type: checkboxes
attributes:
label: Is this happening on an up to date version of Incus?
description: Please make sure that your system has all updates applied and is running a current version of Incus or Incus LTS.
options:
- label: This is happening on a supported version of Incus
required: true

- type: textarea
attributes:
label: Incus system details
description: Output of `incus info`.
render: yaml
validations:
required: true

- type: textarea
attributes:
label: Instance details
description: If the issue affects an instance, please include the output of `incus config show NAME`.
validations:
required: false

- type: textarea
attributes:
label: Instance log
description: If the issue is related to an instance startup failure, please include `incus info --show-log NAME`.
validations:
required: false

- type: textarea
attributes:
label: Current behavior
description: A concise description of what you're experiencing.
validations:
required: false

- type: textarea
attributes:
label: Expected behavior
description: A concise description of what you expected to happen.
validations:
required: false

- type: textarea
attributes:
label: Steps to reproduce
description: Step by step instructions to reproduce the behavior.
placeholder: |
1. Step one
2. Step two
3. Step three
validations:
required: true
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Support question
url: https://discuss.linuxcontainers.org
about: Please ask and answer questions here.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-requests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Feature request
description: File a feature request.
type: feature
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the feature you'd like to see added.
options:
- label: There is no existing issue for this feature
required: true

- type: textarea
attributes:
label: What are you currently unable to do
description: A concise description of the problem you're trying to solve.
validations:
required: true

- type: textarea
attributes:
label: What do you think would need to be added
description: A concise description of what you think should be added to Incus.
validations:
required: false
71 changes: 67 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,13 @@ jobs:
libtool \
libudev-dev \
make \
pipx \
pkg-config \
shellcheck

python3 -m pip install flake8
# With pipx >= 1.5.0, we could use pipx --global instead.
PIPX_HOME=/opt/pipx PIPX_BIN_DIR=/usr/local/bin \
pipx install codespell flake8

- name: Fix repository permissions
run: |
Expand Down Expand Up @@ -137,6 +140,7 @@ jobs:
- lvm
- zfs
- ceph
- linstor
- random
os:
- ubuntu-22.04
Expand Down Expand Up @@ -388,6 +392,48 @@ jobs:
sudo microceph.ceph status
sudo rm -f /snap/bin/rbd

- name: Setup LINSTOR
if: ${{ matrix.backend == 'linstor' }}
run: |
set -x

# As with Ceph, we hope for a spare disk.
if [ "$(stat -c '%d' /)" = "$(stat -c '%d' /mnt)" ]; then
echo "FAIL: rootfs and ephemeral part on the same disk, aborting"
exit 1
fi

sudo add-apt-repository ppa:linbit/linbit-drbd9-stack -y

# Install everything required to compile DRBD and run LINSTOR tools.
sudo apt-get install --no-install-recommends -y \
drbd-dkms \
linstor-client \
linstor-controller \
linstor-satellite \
linux-headers-generic \
python3-setuptools

# Enable DRBD.
sudo modprobe -r drbd
sudo modprobe drbd

# Get the runner IP.
runner_ip="$(hostname -I | cut -d' ' -f1)"

# Create a single local node.
sudo linstor node create local "${runner_ip}" --node-type combined

# Repurpose the ephemeral disk for LINSTOR physical storage.
sudo swapoff /mnt/swapfile
ephemeral_disk="$(findmnt --noheadings --output SOURCE --target /mnt | sed 's/[0-9]\+$//')"
sudo umount /mnt
sudo wipefs -a "${ephemeral_disk}"
sudo linstor physical-storage create-device-pool --storage-pool incus --pool-name linstor-incus lvmthin local "${ephemeral_disk}"

# Update the runner env.
echo "INCUS_LINSTOR_CLUSTER=${runner_ip}" >> "$GITHUB_ENV"

- name: "Ensure offline mode (block image server)"
run: |
sudo nft add table inet filter
Expand All @@ -401,6 +447,7 @@ jobs:
INCUS_CEPH_CLUSTER: "ceph"
INCUS_CEPH_CEPHFS: "cephfs"
INCUS_CEPH_CEPHOBJECT_RADOSGW: "http://127.0.0.1"
INCUS_LINSTOR_LOCAL_SATELLITE: "local"
INCUS_CONCURRENT: "1"
INCUS_VERBOSE: "1"
INCUS_OFFLINE: "1"
Expand All @@ -410,7 +457,7 @@ jobs:
chmod +x ~
echo "root:1000000:1000000000" | sudo tee /etc/subuid /etc/subgid
cd test
sudo --preserve-env=PATH,GOPATH,GITHUB_ACTIONS,INCUS_VERBOSE,INCUS_BACKEND,INCUS_CEPH_CLUSTER,INCUS_CEPH_CEPHFS,INCUS_CEPH_CEPHOBJECT_RADOSGW,INCUS_OFFLINE,INCUS_SKIP_TESTS,INCUS_REQUIRED_TESTS, INCUS_BACKEND=${{ matrix.backend }} ./main.sh ${{ matrix.suite }}
sudo --preserve-env=PATH,GOPATH,GITHUB_ACTIONS,INCUS_VERBOSE,INCUS_BACKEND,INCUS_CEPH_CLUSTER,INCUS_CEPH_CEPHFS,INCUS_CEPH_CEPHOBJECT_RADOSGW,INCUS_LINSTOR_LOCAL_SATELLITE,INCUS_LINSTOR_CLUSTER,INCUS_OFFLINE,INCUS_SKIP_TESTS,INCUS_REQUIRED_TESTS, INCUS_BACKEND=${{ matrix.backend }} ./main.sh ${{ matrix.suite }}

client:
name: Client
Expand Down Expand Up @@ -439,20 +486,36 @@ jobs:
run: |
mkdir bin

- name: Build static x86_64 incus
- name: Build static incus (x86_64)
env:
CGO_ENABLED: 0
GOARCH: amd64
run: |
go build -o bin/incus.x86_64 ./cmd/incus

- name: Build static aarch64 incus
- name: Build static incus (aarch64)
env:
CGO_ENABLED: 0
GOARCH: arm64
run: |
go build -o bin/incus.aarch64 ./cmd/incus

- name: Build static incus-agent (x86_64)
if: runner.os == 'Linux' || runner.os == 'Windows'
env:
CGO_ENABLED: 0
GOARCH: amd64
run: |
go build -o bin/incus-agent.x86_64 ./cmd/incus-agent

- name: Build static incus-agent (aarch64)
if: runner.os == 'Linux' || runner.os == 'Windows'
env:
CGO_ENABLED: 0
GOARCH: arm64
run: |
go build -o bin/incus-agent.aarch64 ./cmd/incus-agent

- name: Build static incus-migrate
if: runner.os == 'Linux'
env:
Expand Down
Loading
Loading