Skip to main content

The main tool to build, upload, and develop in general the Juju charms.

Project description

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 metadata), and 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

(and assuming ops is in requirements.txt), then running charmcraft build 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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

charmcraft-0.3.1.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

charmcraft-0.3.1-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

Details for the file charmcraft-0.3.1.tar.gz.

File metadata

  • Download URL: charmcraft-0.3.1.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for charmcraft-0.3.1.tar.gz
Algorithm Hash digest
SHA256 09cc652076da01eca60933e5dd2cb5c22b90e517e2f62d87c6c7544fee9f43f6
MD5 ba539e7fd4d48c795c4798194ae1a91a
BLAKE2b-256 306c5139f7298ae97fb30003367c830441445b6b6409291e3f138e58afc27890

See more details on using hashes here.

File details

Details for the file charmcraft-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: charmcraft-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 52.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for charmcraft-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 879fc5a2127fac897d44e05fd02625af84024407cc745c37202f0fe1e4d9fbe4
MD5 0136e8b8b025cb8fc2665ce0001f908f
BLAKE2b-256 470f8ac0f85d02877e6863850dec77f22168aeb0c63b3769e7ed49a4fdbea428

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page