← Back to issue list

providers: translate rockcraft base to provider base

View original Github issue

Metadata

Project
rockcraft
Number
#85
Type
pull request
State
merged
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #85 centralized base translation in craft-providers, adding configurable support for Ubuntu 18.04, 20.04, and 22.04.

Resolution: closed resolved

Reason: PR #85 was merged, moving Rockcraft-specific base translation out of the LXD and Multipass modules into craft-providers.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- ### Overview *craft applications have a concept of a "base". This base is translated a `craft-providers` base and is passed to `craft-providers` so it can choose which base image (OS and release) to use for the instance. ### Problem Currently, each application translates its own base inside `_lxd.py` and `_multipass.py`. This application-specific code needs to be removed from these files. ### Solution To support this, I created a list of what bases `craft-providers` can accept. Right now, `18.04`, `20.04`, and `22.04` are supported. Other OSs and releases can be added in the future without breaking backwards compatibility. The image below shows how an application can translates its base to a `craft-providers` base. It also shows `craft-providers` translating it to the specific name needed for LXD and Multipass to download the base image. ![image](https://user-images.githubusercontent.com/60674096/191814611-e05cfcbd-7cd3-45a7-b544-8580d4746b79.png) --- CRAFT-1382

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #85 centralized base translation in craft-providers, adding configurable support for Ubuntu 18.04, 20.04, and 22.04.
stealth/space-bunny-alpha — closed resolved Merged #85, centralizing base translation from Rockcraft’s LXD and Multipass modules into craft-providers with a configurable supported-bases list.
stealth/space-bunny-alpha — closed resolved Merged PR #85 centralized Rockcraft base translation in craft-providers, removing application-specific mapping from LXD and Multipass and supporting configurable 18.04, 20.04, and 22.04 bases.
qwen/qwen3.6-35b-a3b — — Merged. Centralized base translation from LXD and Multipass modules into craft-providers. Added a configurable supported bases list to decouple application definitions from provider image mapping. Approved by mr-cal.
qwen3.6-35b-a3b-mtp-q6 — — Merged refactoring that centralizes base translation logic from application-specific LXD and Multipass files into craft-providers. Added explicit support for Ubuntu 18.04, 20.04, and 22.04 bases, enabling future extensibility without breaking compatibility.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#120 providers: use new craft-providers interface rockcraft merged Merged as 3f887b70: replaced Rockcraft's local provider classes with craft-providers and moved providers.py.
71%
#127 feat(rock): support Rockcraft legacy base names craft-platforms merged Merged PR #127 (commit 5115c05) adding legacy Rockcraft base names "ubuntu:20.04"/"ubuntu:22.04" via _LEGACY_BASES_MAP in rock/_build.py; shipped in craft-platforms 0.8.0.
70%