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

Uploaded Source

Built Distribution

charmcraft-0.1.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: charmcraft-0.1.0.tar.gz
  • Upload date:
  • Size: 9.3 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.0.tar.gz
Algorithm Hash digest
SHA256 bbbf7b4f58eab620f1f6b5d26ece26b80a76c288a0f1d70de5eb5440543c45a8
MD5 2adbea7aa48dbccd4c88bed8360a652f
BLAKE2b-256 0c779fd0f876d1475df7888f9b87f41cedc01b1b209de9f78896a7a1a3d2dd69

See more details on using hashes here.

File details

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

File metadata

  • Download URL: charmcraft-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 449bfc1dc05fa6dddf00f46078b2d39c0efadd00a65fb6ff2ab3db4c2a693453
MD5 80bd2cd515be1f85d12e9636cb070751
BLAKE2b-256 18e4e82f0852a6aa3cf0612cb254bf8cf6423acdb3503e5c82eb82e199c8ce93

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