Install pebble via implicit part
Metadata
Current evaluation
Merged. Adds an implicit pebble part to install Pebble as the ROCK entrypoint using the standard Go plugin. CI issues were resolved, and the code was updated to block user overrides, ensuring spec compliance. Approved and merged.
Suggested action: —
No scores available.
Issue body
Since Pebble will be the entrypoint for all ROCKs, we must have it installed for all ROCKs too.
Similar to what Kerncraft is doing at https://github.com/canonical/kerncraft/pull/22/files#diff-a5aa2c8752af7f6a4943ee8761dd913a6a7662e7d5e7b4c80602e225070617d2, also in Rockcraft we must add a part for building and installing Pebble into the ROCK.
The difference between this PR and the Kerncraft implementation is that 1) the Pebble part is implicit (always there), and 2) there's no need for a custom Pebble plugin, since Pebble is just a Go application, so we can just use the already existing Go plugin from craft-cli.
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds an implicit pebble part to install Pebble as the ROCK entrypoint using the standard Go plugin. CI issues were resolved, and the code was updated to block user overrides, ensuring spec compliance. Approved and merged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged implementation adding an implicit Pebble part for all ROCKs using the standard Go plugin. Updated to block user overrides, ensuring Pebble remains the mandatory entrypoint. Resolved CI failures and merge conflicts. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Implements an implicit Pebble part for all ROCKs using the standard Go plugin. Addressed CI failures and refactored to reject user-defined Pebble parts, ensuring Pebble remains the mandatory entrypoint. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #144 project: use isolated go to build pebble | rockcraft | merged | Merged. Replaces system Go with an isolated version in rockcrafter to build pebble, resolving #128 and enabling flexible Go version management. Approved and CI passed. | |
| #763 fix: accept a 'pebble' part if its the same as ours | rockcraft | merged | Merged fix resolving a duplicate pebble part conflict during expand-extensions packing. Rockcraft now accepts an existing pebble part if its contents match the default, resolving issue #749. Approved by two reviewers and passed CI. |