Taking a step back -- as a user, the most expected thing to me by running this command was to download the bundle in the edge channel, as is, and deploy it, as is:
juju deploy --channel=edge <bundle>
Reasoning:
* As a developer, it's how I tested and crafted the bundle, as is, I then uploaded it to the edge channel and expected my users to be able to use it.
* As a developer, if I 'charm pull --channel=edge <bundle>', I get that bundle, not that bundle with all charm specs subbed out for their edge versions.
* As an operator, I have no clear way to determine what will happen if it applies --channel=edge to each charm inside the bundle.
The bundle is a tested qualified unit by itself, much as the charm is. To take it a step further, you wouldn't expect:
juju deploy --channel=edge <charm>
to get the edge version of the charm *and* the edge version of all snaps inside of it, would you?
Taking a step back -- as a user, the most expected thing to me by running this command was to download the bundle in the edge channel, as is, and deploy it, as is:
juju deploy --channel=edge <bundle>
Reasoning:
* As a developer, it's how I tested and crafted the bundle, as is, I then uploaded it to the edge channel and expected my users to be able to use it.
* As a developer, if I 'charm pull --channel=edge <bundle>', I get that bundle, not that bundle with all charm specs subbed out for their edge versions.
* As an operator, I have no clear way to determine what will happen if it applies --channel=edge to each charm inside the bundle.
The bundle is a tested qualified unit by itself, much as the charm is. To take it a step further, you wouldn't expect:
juju deploy --channel=edge <charm>
to get the edge version of the charm *and* the edge version of all snaps inside of it, would you?