snap: add configure hook with support for provider (CRAFT-363)
Metadata
Current evaluation
Merged as bf350c68, adding a snap configure hook that reads the provider setting and rejects values other than lxd or multipass.
Resolution: closed resolved
Reason: PR charmcraft#473 was approved and merged into main as commit bf350c68, implementing provider configuration and validation with snap-helpers.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Enable (unused) configuration for 'provider', erroring if set to
anything other than multipass or lxd. Update requirements
to include snap-helpers.
Example error:
```
$ snap set charmcraft provider=invalid
error: cannot perform the following tasks:
- Run configure hook of "charmcraft" snap (run hook "configure":
Invalid snap configuration: provider 'invalid' is not supported.)
```
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged as bf350c68, adding a snap configure hook that reads the provider setting and rejects values other than lxd or multipass. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #473 via 65fd1f88, adding a Snap configure hook that validates provider as multipass or lxd and adds snap-helpers; provider selection remained future work. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged charmcraft#473 in commit bf350c68, adding a Snap configure hook that validates provider as lxd or multipass and adds snap-helpers. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged charmcraft#473 in commit bf350c68, adding a Snap configure hook that validates provider as multipass or lxd and adds snap-helpers. Provider selection remains future work. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Added a snap configure hook to validate the provider setting, restricting it to multipass or lxd. Updated requirements to include snap-helpers. Validation errors on invalid values but is reserved for future use. Approved by two reviewers. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds a snap configure hook to validate the provider configuration, accepting only multipass or lxd. Updates dependencies to include snap-helpers and defers actual provider usage to future work. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #183 feat: add configure hook | imagecraft | merged | PR #183 merged as b677710, adding a configure hook that validates the provider snap setting and fixes #182. | |
| #182 Add a `configure` snap hook | imagecraft | closed | Added snap configuration for provider selection and documented snap set imagecraft provider=multipass; fixed by canonical/imagecraft#183 in commit b677710. | |
| #3943 providers: use new craft-providers interface | snapcraft | merged | Merged into snapcraft main as commit 2980d145c: removed in-tree Provider/LXDProvider/MultipassProvider classes in favour of craft-providers, and moved snapcraft/providers/providers.py to snapcraft/providers.py (+65/-1173). | |
| #3660 providers: integrate craft-providers support | snapcraft | merged | PR #3660 by cmatsuoka integrated craft-providers into Snapcraft, running lifecycle commands in LXD/Multipass instances. Merged into the 7.0 line via merge commit 7c2ac0027 (squash commit 8a06cdbbd). | |
| #3903 providers: choose legacy default provider from snap config | snapcraft | merged | Merged in snapcore/snapcraft#3903 as 59bc024, adding snapd-configurable LXD or Multipass selection for the snapcraft_legacy default provider. | |
| #2621 build providers: support injection for LXD | snapcraft | merged | Merged as d59622a81, adding LXD snap injection through snapd's file API, replacing mount-based injection with file pushes, and refactoring provider concerns. |