12-Factor app support in Charmcraft and Rockcraft

Charmcraft and Rockcraft natively support a simple way to deploy and operate 12-Factor web applications.

This support makes it easy to utilize existing Canonical products, such as databases, ingress and observability, in web applications. Flask, Django, FastAPI and Go are currently supported with additional frameworks coming soon.

With a few simple commands, you can set up a fully integrated and observable Kubernetes environment for your web application. These commands create production-ready container images for your web application compliant with the Open Container Initiative (OCI), along with software operators wrapped around the container images. From there, you can deploy your web application, connect it to a database, add ingress and observability and much more.

The solution is aimed at developers who create applications based on the 12-factor methodology. Web developers and operators can take advantage of the solution to quickly containerize their application, prepare their projects for deployment, and connect their application to the features that they need for full-scale production.

In this documentation

Tutorial

Get started with a hands-on introduction to the tooling

Tutorials
How-to guides

Step-by-step guides covering key operations and common tasks

How-to guides
Reference

Technical information about the tooling

Reference
Explanation

Discussion and clarification of key topics

Explanation

Since the tooling is natively part of the Rockcraft and Charmcraft products, additional documentation is available in their respective documentation sites under the sections for tutorials, how-to guides, and reference material:

  1. Rockcraft: Documentation related to the OCI image containers

  2. Charmcraft: Documentation related to the software operators (charms)

Contributing to this documentation

Documentation is an important part of this project, and we take the same open-source approach to the documentation as the code. As such, we welcome community contributions, suggestions and constructive feedback on our documentation. Our documentation is hosted on Read The Docs to enable easy collaboration. Please use the “Contribute to this page” links at the top of each documentation page to either directly change something you see that’s wrong, ask a question, or make a suggestion about a potential change.

If there’s a particular area of documentation that you’d like to see that’s missing, please file a bug.

Project and community

12-Factor web support in Charmcraft and Rockcraft is a member of the Ubuntu family. This is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.

Get in touch

Do you have a project or setup where you want to employ this solution? Reach out to share your use case and get started!