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.1.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

charmcraft-0.1.2-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: charmcraft-0.1.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2

File hashes

Hashes for charmcraft-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6002ff5c74063418c87cf1390541bc3e0cfc7dca74b75eecc719872324311c24
MD5 b731d619c5c099db0d1c77b8475ead61
BLAKE2b-256 8b59f5e7b9f16f5cd25fd781d6487b077de82fe1b1a10c92d134b68b575b6bf7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: charmcraft-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2

File hashes

Hashes for charmcraft-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3b504500031ecf60c4ffc0461d626ef51b45c83d5b37a2995e20073220cf5779
MD5 5c1bfef23357ff4e6afc72d430f795f3
BLAKE2b-256 dde45f1eef9585e3adee1317e8226fefac7bb4989ce5dd6adb28d2b00ee34379

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