Add init documentation for a gentle introduction to the charm operator
Metadata
Current evaluation
Merged in commit 7bce42bb, adding charmcraft init documentation linking to a Charmhub Discourse beginner guide for operator-framework development.
Resolution: closed resolved
Reason: PR charmcraft#242 was approved and merged as commit 7bce42bb, resolving the documentation request with an external Charmhub Discourse guide.
Evaluated by: mr-cal-bot
No scores available.
Issue body
So I have recently worked on creating a new charm [operator for Redis](https://github.com/edumucelli/redis-operator). As someone new to Juju and with some knowledge on K8s I ended up struggling a bit to find where were the documentation, examples and even how to set up my local environment to make things work. Consider it as someone new to the whole context: I even searched for the instructions as someone from the outside, looking on Google for documentation -- which mostly took me to the reactive operator.
@mthaddon took some time today to discuss with me and gather some feedback about how the process was to understand where things were easy and where the main roadblocks were. One thing I have mentioned is that the skeleton command `charmcraft init` was great to give something that was already in the expected format -- thanks for that. However, from there I was mostly lost. It took me around 10 days to get the Redis operator working, but I think that having the right links this can be way faster.
One thing @mthaddon suggested was if the `init` command had some more documentation or pointers where to go, or what to do after you are there.
This PR takes most of my notes and some links I have found during the process that could have been useful for someone starting writing a charm with the operator framework. Things that really helped me were the existing up-to-date charms such as the MongoDB (thanks @balbirthomas) one and the discussion with many people here and there that materialized with some stuff I have did in the Redis one, usage of the, e.g., [resource-oci-image](https://github.com/juju-solutions/resource-oci-image) library (thanks @johnsca) as I would have found nowhere suggesting me to use it.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in commit 7bce42bb, adding charmcraft init documentation linking to a Charmhub Discourse beginner guide for operator-framework development. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in commit 7bce42bb, adding an init documentation link to a Charmhub Discourse wiki for beginners developing charms with the operator framework. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged PR adding starter docs to charmcraft init. Reviewer requested moving content to a Charmhub discourse wiki and linking it. Contributor adapted the change, and the PR was merged with the external link integrated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Added beginner documentation for charmcraft init. Per reviewer feedback, embedded text was replaced with a link to a Charmhub Discourse wiki post to enable easier maintenance. External documentation now guides new developers. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2748 docs: improve charm naming docs, with links to detailed guidance | charmcraft | merged | Docs PR #2748 merged (commit 0389aeb4): rewrote charm naming guidance in the charmcraft.yaml reference and manage-charms how-to, replacing inline best-practice notes with links to the Ops docs. Fixes #2582; relied on canonical/operator#2610. | |
| #161 Add a link to the online documentation in the help summary | charmcraft | closed | Added the Charmhub documentation link to Charmcraft’s help output in merged PR #188 (ffc44697). | |
| #91 First pass at 'charmcraft init' | charmcraft | merged | Merged PR #91 delivered the first non-interactive charmcraft init scaffolding implementation; README improvements, extra options, and prompts were deferred (commit 0ebd9f87). | |
| #471 config: add charm part to documentation (CRAFT-356) | charmcraft | merged | Merged PR #471 via commit e0b18661, documenting the charm part in the configuration schema for CRAFT-356. |