Charmcraft¶
Charmcraft is the command-line tool for initializing, packaging, and publishing Juju charms.
When initializing a project, Charmcraft generates all the necessary files, which can be further catered to an application by modifying the YAML and Ops-powered Python in the pre-populated template content. For Django, FastAPI, Flask, and Go applications, Charmcraft’s extensions simplify this process further by only requiring minor YAML changes after initialization. With just a few simple commands, charm authors can then use Charmcraft to package a charm and publish it to Charmhub.
Charmcraft simplifies every step of the charming process, enabling charm authors to bypass boilerplate steps and focus on the contents of their charms. Additionally, Charmcraft’s integration with tools and platforms such as Ops and Charmhub provides charm authors with a complete charm development experience.
Charmcraft offers an efficient and straightforward way for anyone to charm an application for their Juju deployment, regardless of that application’s complexity or scope.
In this documentation¶
Get started - a hands-on introduction to Charmcraft for new users
Step-by-step guides covering key operations and common tasks
Technical information, including commands, extensions, and project files
Project and community¶
Charmcraft is a member of the Canonical family. It’s an open source project that warmly welcomes community projects, contributions, suggestions, fixes, and constructive feedback.