← Back to issue list

Create a generic craft LXD profile

View original Github issue

Metadata

Project
craft-providers
Number
#684
Type
issue
State
open
Author
dilyn-corner
Labels
Type: Enhancement
Created
Updated
Closed
—

Current evaluation

A dedicated craft LXD profile is proposed to isolate build containers from user-edited defaults; the open enhancement still needs a decision on shared versus per-user profiles.

Suggested action: needs triage

Reason: The launcher still creates project profiles through create_with_default_profile(), and no alternate-profile implementation or resolving commit was found. The only follow-up is the author's per-user suggestion, leaving profile ownership, naming, defaults, and migration unresolved; craft-providers#213 separately covers alternate profiles.

Evaluated by: mr-cal-bot

Impact: 58 Quick Win: 13 Complexity: 55 Confidence: 91 Actionability: 50

Issue body

### What needs to get done Craft tools should adopt the default profile created by users when initializing LXD and then seed that profile with good defaults for the build environment to use. ### Why it needs to get done Currently, craft tools like snapcraft use LXD to create and manage a build environment. LXD creates a default profile which users can freely modify (`lxc profile edit default`). Whenever a craft tool creates a managed container to perform builds in, that container is created using the default profile. This means that any user-specific additions beyond what a managed container requires (root disk, networking) can infect the build environment, potentially impacting build reproducibility or even ability. Doing this will protect managed containers from adverse (and potentially unintended) interactions, while still preserving the ability of users to impact the environment tools like snapcraft do their work in. This could also potentially simplify the config invocations tools like snapcraft use to create the container or the behavior of certain flags (such as `--bind-ssh`), as that information could be kept within the profile.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 58
Quick Win: 13
Complexity: 55
Confidence: 91
Actionability: 50
needs triage A dedicated craft LXD profile is proposed to isolate build containers from user-edited defaults; the open enhancement still needs a decision on shared versus per-user profiles.
stealth/space-bunny-alpha
Impact: 60
Quick Win: 20
Complexity: 50
Confidence: 88
Actionability: 65
needs triage LXD build containers inherit the user-editable default profile, risking build non-reproducibility. A dedicated craft profile is proposed, but the shared-versus-per-user design needs maintainer triage.
qwen3.6-35b-a3b-mtp-q6
Impact: 60
Quick Win: 27
Staleness: 85
Complexity: 55
Confidence: 60
Support Request: 15
needs triage Enhancement to create a generic craft LXD profile to protect managed containers from user-specific profile modifications affecting build reproducibility. Open 694 days with no maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 45
Complexity: 60
Confidence: 85
Support Request: 10
needs triage Enhancement request to create a generic craft LXD profile for build environments, preventing user-specific profile modifications from affecting reproducibility.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 30
Confidence: 85
Support Request: 10
needs triage Enhancement request to create a dedicated LXD profile for craft tools to isolate build environments from user-specific LXD settings and improve reproducibility.

Update history

No update history recorded yet.

Related work

  • Related To: craft-providers#213 (confidence 94%)

    Alternate LXD profile support overlaps with selecting a dedicated craft profile, but remains a separate open enhancement.

Related issues

Issue Project State Summary Similarity
#213 Use alternate lxd profiles craft-providers open Enhancement request (by maintainer cmatsuoka) to allow alternate LXD profiles, e.g. CRAFT_PROVIDERS_LXD_PROFILE(S), for devs with multiple pools. mr-cal replied with design questions (plural list, global vs per-app) still unanswered; no code implements profiles.
75%