Charm writing guide
Writing charms
- Getting started
 - Event cycle and reactive states
 - Charm layers and states
 - Writing a charm layer
 - Interface layers
 - Upgrading a charm
 - Juju terms
 - Juju metrics
 - Charm resources
 - Network primitives
 - Implementing leadership
 - Implementing actions
 - Implementing storage
 - Writing charm tests
 - Using Docker
 
Debugging charms
Charm authors
- Becoming a charm author
 - How hooks are run (Hook API)
 - Relations lifecycle
 - Implementing relations
 - Charm leadership
 - Hook errors
 - Subordinate applications