Manage a 12-factor app charm¶
These guides walk you through all ways you can manage 12-factor app charms, from initialization to usage.
Extensions add customized elements to a charm for specific web app frameworks. While the overall basic logic is the same as managing a charm, the following guides are about the 12-factor app charm workflow.
Initialization¶
You will need a rock for your 12-factor app charm. Prepare a 12-factor app rock with Rockcraft.
Once you have a rock, use charmcraft init and specify the relevant profile:
charmcraft init --profile django-framework
charmcraft init --profile expressjs-framework
charmcraft init --profile fastapi-framework
charmcraft init --profile flask-framework
charmcraft init --profile go-framework
charmcraft init --profile spring-boot-framework
These profiles use Ubuntu 24.04 LTS by default. To initialize a profile for Ubuntu
26.04 LTS, add --base ubuntu@26.04 to the command.
Charmcraft automatically creates a charmcraft.yaml project file, a
pyproject.toml file and source code for the charm in your current directory.
Ubuntu 24.04 LTS profiles also include a requirements.txt file.
Configuration¶
Once your 12-factor app charm has been set up, you can customize many aspects of it using Juju.
Integration¶
Once deployed, your 12-factor app can be integrated into nearly anything in the Juju ecosystem.
Usage¶
Now that you’ve initialized and configured your 12-factor app charm, you’re ready to use it.