12-Factor app charm

A 12-Factor app charm is a charm that has been created using certain coordinated pairs of Rockcraft and Charmcraft profiles designed to give you most of the content you will need to generate a rock^ for a charm, and then the charm itself, for a particular type of workload (e.g., an application developed with Flask).

Did you know? The OCI images produced by the 12-Factor-app-geared Rockcraft extension are designed to work standalone and are also well integrated with the rest of the Flask framework tooling.

When you initialise a rock with a 12-Factor-app-charm-geared profile, the initialisation will generate all the basic structure and content you’ll need for the rock, including a rockcraft.yaml^ prepopulated with an extension matching the profile. Similarly, when you initialise a charm with a 12-Factor-app-charm-geared profile, that will generate all the basic structure content you’ll need for the charm, including a charmcraft.yaml pre-populated with an extension matching the profile as well as a src/charm.py pre-loaded with a library (paas_charm) with constructs matching the profile and the extension.

At present, there are four pairs of profiles:


Contributors: @econley, @jdkandersson, @javierdelapuente, @tmihoc