← Back to issue list

Multiple files for packing a bundle is confusing

View original Github issue

Metadata

Project
charmcraft
Number
#373
Type
issue
State
closed
Author
knkski
Labels
—
Created
Updated
Closed

Current evaluation

Proposal to fold bundle.yaml into charmcraft.yaml was declined: sergiusens (2021-09-06) called bundle.yaml a legacy concept slated for replacement by stacks, keeping charmcraft.yaml build-only. Bundles were later deprecated (#2227) and removed in Charmcraft 4.0 (#2320).

Resolution: closed not a bug

Reason: Closed by maintainer comment rather than a code change: sergiusens explained the design decision that bundle.yaml is legacy to be replaced by stacks and that charmcraft.yaml would remain dedicated to build definitions, so merging the files was out of scope. Bundle support itself was later deprecated in PR #2227 (8b2a2bb2) and removed for Charmcraft 4.0 in PR #2320 (2cb4db71).

Evaluated by: mr-cal-bot

No scores available.

Issue body

Right now, if I want to upload a bundle to charmhub.io, I have to take a `bundle.yaml` file, add a `name` field (that's currently undocumented, see https://bugs.launchpad.net/juju/+bug/1931140), and then also create a separate `charmcraft.yaml` file that contains only the string `type: bundle`. It's kind of awkward and confusing to have those be two separate files. I understand that we'll want `charmcraft.yaml` going forward as an analogue to `snapcraft.yaml`, and it will contain arbitrary build steps. So we don't want to get rid of `charmcraft.yaml`. However, would it be possible to have the contents of `bundle.yaml` contained in `charmcraft.yaml`? That would eliminate the extra file.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed not a bug Proposal to fold bundle.yaml into charmcraft.yaml was declined: sergiusens (2021-09-06) called bundle.yaml a legacy concept slated for replacement by stacks, keeping charmcraft.yaml build-only. Bundles were later deprecated (#2227) and removed in Charmcraft 4.0 (#2320).
stealth/space-bunny-alpha — closed not a bug Proposal to fold bundle.yaml into charmcraft.yaml rejected: maintainer @sergiusens (2021-09-06) called bundle.yaml a legacy concept slated for replacement by stacks, keeping charmcraft.yaml build-only. Closed by maintainer answer.
stealth/space-bunny-alpha — closed not a bug Merging bundle.yaml into charmcraft.yaml was rejected: bundle.yaml is legacy and planned for replacement by stacks, while charmcraft.yaml remains dedicated to build definitions.
qwen3.6-35b-a3b-mtp-q6 — — Request to merge bundle.yaml into charmcraft.yaml was rejected. bundle.yaml is legacy and being replaced by stacks. charmcraft.yaml remains strictly for build-time definitions. Users should construct bundles using the parts syntax with the bundle plugin instead.
qwen/qwen3.6-35b-a3b — — Rejected. bundle.yaml is legacy and being replaced by stacks. charmcraft.yaml handles build definitions, not metadata. Users should construct bundles using the parts syntax with the bundle plugin instead of merging files.
qwen/qwen3.6-35b-a3b — — Rejected. bundle.yaml is legacy and being replaced by stacks. charmcraft.yaml handles build definitions. Bundles are now constructed using the parts syntax within charmcraft.yaml, eliminating the need for a separate metadata file.
qwen/qwen3.6-35b-a3b — — Merging bundle.yaml into charmcraft.yaml was rejected. bundle.yaml is a legacy format being replaced by stacks. charmcraft.yaml handles build definitions separately, and bundles are now constructed using parts syntax with the bundle plugin.
qwen3.6-35b-a3b-mtp-q6 — — Rejected. bundle.yaml is legacy and will be replaced by stacks. charmcraft.yaml remains separate for build definitions. Bundles can instead be constructed using the parts syntax.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/charmcraft#2227 (confidence 90%)

    Merged commit 8b2a2bb2 marking bundles deprecated, consistent with the stated legacy status of bundle.yaml

  • Related To: canonical/charmcraft#2320 (confidence 88%)

    Merged commit 2cb4db71 removing bundle features in Charmcraft 4.0, so bundle.yaml packing no longer exists

  • Related To: canonical/charmcraft#1858 (confidence 70%)

    Track issue for removal of bundle commands, the downstream outcome of the legacy path discussed here

Related issues

Issue Project State Summary Similarity
#2341 Packing a bundle produces a zip that is rejected by charmhub charmcraft open Charmcraft 3.4.6 packs bundles with metadata.yaml instead of bundle.yaml, causing Charmhub rejection. Bundle features removed in Charmcraft 4.0; maintainer requested charmcraft.yaml with no response.
78%
#374 Handling multiple bundles in one repo charmcraft closed Closed without a code fix; maintainers advised placing each bundle in a separate subdirectory with its own charmcraft.yaml instead of supporting multiple bundle files in one directory.
74%