I’ve started to dig in on educational material for juju charming.
I’ve created two charms (bash + python) - serving as the intended starting point for the material - probably a tutorial.
Here is the draft: https://github.com/erik78se/Tutorial-Build-a-quick-charm/blob/master/quick-charm.md
The focus is on “hooks”.
I want to discuss how the implementation of these “hooks only” charms could be made more “typical” and “best practice” to good charming.
The challenge is to keep it extremely minimal to assist in the learning process. Possibly leading into the reactive framework further down, but not to the expense of adding too much complexity.
I would like to fire off a discussion around how to actually implement the hooks to be:
- Minimal
- Best practice or at least typical.
- “Just enough” introduction to other concepts outside of “hooks”. Hook contexts, configuration validation, juju eventloop etc.
- Ideally, making the code also “OS agnostic” - not relying on Ubuntu to get juju basic concepts going.
https://jujucharms.com/new/u/erik-lonroth/tiny-python
https://jujucharms.com/new/u/erik-lonroth/tiny-bash
If done right, I hope we can help people getting even easier into juju charming.
So, what are your thoughts! Fork and code.
Some other tutorials helpful in learning of juju charming:
https://discourse.jujucharms.com/t/tutorial-understanding-kubernetes-charms/