Bundle Support
Charm bundles
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Medium
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Marco Ceppi
- Definition:
- Approved
- Series goal:
- Accepted for 1.1
- Implementation:
- Implemented
- Milestone target:
- 1.1.0
- Started by
- Marco Ceppi
- Completed by
- Marco Ceppi
Related branches
Related bugs
Bug #1222833: charm tools should proof bundles as well | Fix Released |
Bug #1222834: charm tools should support a bundle create helper | Triaged |
Sprints
Whiteboard
# General
To keep commands sane and promote a positive user experience, when possible a "bundle" command should be created as a juju plugin to alias any command that requires a --bundle flag. At the current time, only `juju charm create` requires a --bundle flag to distinguish between a charm template and a bundle template.
# Proofing
## Critical (E):
- JSON and YAML support (bundle.yaml or bundle.json)
- Proof against "bundle" directory
- If networking
- Verify configuration options against charm store API
- Verify relation data via charm store API
- Charm verification, in store, if using shortned or CS URL, verify if lp branch exists otherwise. No local files
## Warning (W):
- if no X/Y cords in annotations per service
- No README.md
# Promulgation
- No promulgation bundles for WARNIGS (W), like charms, unless forced (like charms)
- Promulgate to `lp:~charmers/charms/bundles/<NAME>/bundle
- Example: lp:~charmers/charms/bundles/wiki/bundle
- Live example: http://
# Create
- no icon.svg, README should have directions on how to use GUI, README should be in markdown format
- Possibly defer until later, opting to place "creating a bundle" in either the docs, the GUI help system, or both. This will remove the need to have a bundle juju plugin
# Network proofing response
The response object can be wrapped if it fits with the API, just need to be able to easily determine the (E)rror, (W)arning, and (I)nformation messages.
http://
```
{
"error": [
<String OR Objects, not both>
],
"warning": [
<Strings OR Objects, not both>
],
"Information": [
<Strings OR Objects, not both>
]
}
```
Work Items
Work items:
[marcoceppi] Create code to determine if directory is a bundle or charm: DONE
[marcoceppi] Create charmworld API abstraction library, package as python-
[marcoceppi] Implement proof logic: DONE
[marcoceppi] Implement promulgation logic: INPROGRESS
[marcoceppi] Implement create method: POSTPONED
[rharding] Create "online" bundle proof API in charmworld: DONE