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.

How do I install it?

The easiest way to install charmcraft is by doing

sudo snap install --beta charmcraft

(more options are available as per snap info charmcraft) but some people with more esoteric needs not covered by the snap might need to instead go via pip3 install --user charmcraft.

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

Uploaded Source

Built Distribution

charmcraft-0.4.0-py3-none-any.whl (54.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: charmcraft-0.4.0.tar.gz
  • Upload date:
  • Size: 44.0 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.4.0.tar.gz
Algorithm Hash digest
SHA256 e49885e15180d7e161f10b1623ceabc85d436cfd305c75ee160531e84ed397a1
MD5 c970e7dcc3df00e9686116fca179d78a
BLAKE2b-256 5a971f859502a654c6da69388d7eea2a9d1c41770c769518322c713d81db164e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: charmcraft-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 54.9 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bd3eb835d10523d8c7e2ee2b0aa54db33c2abf88f675e45b82e119371204efe
MD5 9b4420ef57668a099f23b9ff5ee43df3
BLAKE2b-256 e1ecff66a8a893ee57d83bb187a59e8c1b89a5147216658c1dfda633e947ea0d

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