← Back to issue list

Allow snapcraft to use remote lxd instances.

View original Github issue

Metadata

Project
snapcraft
Number
#4454
Type
issue
State
open
Author
jat-canonical
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed
—

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.
75%
#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.
74%
#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.
71%
#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.
70%
#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.
70%