Allow snapcraft to use remote lxd instances.
Metadata
Current evaluation
Triaged enhancement to build on remote LXD instances from macOS and other non-Linux hosts; implementation remains pending in craft-providers.
Suggested action: keep open
Reason: The issue has a valid enhancement label and Status: Triaged label, and a maintainer explicitly linked it to the still-open craft-providers#508. Snapcraft currently constructs LXDProvider without remote-selection configuration, while details such as the user interface, remote project lifecycle, and file-transfer behavior still require design work.
Evaluated by: mr-cal-bot
Impact:
45
Quick Win:
7
Complexity:
74
Confidence:
94
Actionability:
58
Issue body
### What needs to get done
Since snap builds only require a linux system container (LXD Container), could we look into making use of a remote LXD instance and relying on locally configured `lxc` configuration to reach out to the LXD instance to build snaps?
### Why it needs to get done
I use a mac for my local development and run a remote lxd instance which can be reached using `lxc` to interact with the instance. Currently snapcraft looks for a local installation of lxd which is not possible on a mac. My current workaround is to to have dedicated linux vm for building snaps, have my local directory mounted in the vm and always login to the instance first to start building the snap.
This might prove useful for any user not running linux as a daily driver host os but trying to develop snaps.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
7
Complexity:
74
Confidence:
94
Actionability:
58
|
keep open | Triaged enhancement to build on remote LXD instances from macOS and other non-Linux hosts; implementation remains pending in craft-providers. | |
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
5
Complexity:
75
Confidence:
72
Actionability:
45
|
keep open | Enhancement request (Triaged, open since 2022) to let snapcraft build against a remote LXD instance via locally configured `lxc` remotes, instead of requiring a local LXD install (for macOS users). Work was handed off to canonical/craft-providers#508. | |
| qwen/qwen3.6-35b-a3b |
Impact:
60
Quick Win:
11
Complexity:
70
Confidence:
70
Actionability:
60
|
keep open | Enhancement to allow snapcraft to use remote LXD instances for macOS and non-Linux hosts. Still open, pending implementation in craft-providers. | |
| qwen/qwen3.8-27b |
Impact:
60
Quick Win:
18
Staleness:
55
Complexity:
70
Confidence:
70
Support Request:
10
|
keep open | Feature request to let snapcraft build against a remote LXD instance (via lxc remote config) instead of requiring a local LXD install, enabling snap development on macOS/Windows. Triaged and tracked in Jira (CRAFT-2554); follow-up discussion moved to craft-providers#508, which remains open. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
90
Complexity:
60
Confidence:
80
Support Request:
10
|
keep open | Enhancement to support remote LXD instances for snap builds, enabling non-Linux hosts. Triaged and referenced in craft-providers #508, currently inactive for over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
55
Confidence:
75
Support Request:
10
|
close stale | Enhancement request to allow snapcraft to connect to remote LXD instances instead of requiring local LXD, primarily for non-Linux hosts. Triaged but inactive for over a year with no implementation progress. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-providers#508
(confidence 99%)
A maintainer directed the 2024 follow-up there; that issue tracks the remaining remote-LXD support and remains open.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3300 [wip] remote lxd / cross-arch support | snapcraft | closed | WIP PR adding remote LXD / cross-arch support to snapcraft was closed unmerged by sergiusens on 2020-12-15 so the work could move to the new craft-providers package; remote support later landed in craft-providers#55. | |
| #1896820 Snapcraft can't be run against a local or remote LXD project | snapcraft (launchpad) | open | Support user-selected local and remote LXD projects is still pending; Snapcraft hard-codes its own local LXD project, while remote-instance work is tracked separately. | |
| #1599578 Snapcraft cloudbuild | snapcraft (launchpad) | closed | Remote building was implemented by merged PR canonical/snapcraft#1121 (commit 834c24bb6), adding cleanbuild --remote for LXD hosts; PR #2500 later added Launchpad remote builds. | |
| #1364 lxd: Inject snapcraft and core snaps into the container | snapcraft | merged | Merged PR #1364 as 99f5598ac, injecting the host's Snapcraft and core snaps into LXD containers so builds no longer use a mismatched Xenial archive version. | |
| #1912 lxd: unset SNAP to work-around LXD deb thinking it's a snap | snapcraft | closed | The SNAP-unset workaround for LP #1746612 was rejected and PR #1912 was closed unmerged; no Snapcraft fix landed. |