The main tool to build, upload, and develop in general the Juju charms.
What is charmcraft?
Charmcraft provides a streamlined, powerful, opinionated, and flexible tool to develop, package, and manage the lifecycle of Juju charm publication, focused particularly on charms written within the Operator Framework.
It is still in heavy, initial development and so a lot is still To Be Done. However it is already useful, and already simplifies the life of the charmer.
What can it do for me today?
It can build your charm! No need for git submodules nor pesky hook symlinks, you
can concentrate on your charm being pure python code (plus the required juju
charmcraft will fill in the boring bits for you.
For example, given a charm that consists exclusively of
my-charm ├── metadata.yaml ├── requirements.txt └── src/ └── charm.py
ops is in
requirements.txt), then running
will produce a charm that looks like
my-charm ├── dispatch ├── hooks │ ├── install -> ../dispatch │ ├── start -> ../dispatch │ └── upgrade-charm -> ../dispatch ├── metadata.yaml ├── src/ │ └── charm.py └── venv/ ├── ops/ │ ├── ... └── yaml/ └── ...
which should be all you need to
juju deploy the charm!
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size charmcraft-0.3.1-py3-none-any.whl (52.4 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size charmcraft-0.3.1.tar.gz (41.5 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for charmcraft-0.3.1-py3-none-any.whl