Welcome to the Juju documentation!

Do you have any questions or want to contribute to this project? Juju is open-source and welcomes all new community members and users. You can ask questions in the forum or just say “hi” in the chat!

The menu on the left guides you through setting up and using Juju with your applications.

What’s new?

What’s Juju?

Juju is an open source Charmed Operator Framework. It helps you move from configuration management to application management and has two main components:

If you are looking to deploy and manage applications... If you are looking to charm your application...
Charmed Operator Lifecycle Manager (OLM) is a hybrid-cloud application management and orchestration system for Day 0 to Day 2 operations. Deploy, configure, scale, integrate, maintain and manage Kubernetes native, container-native and VM-native applications - and the relations between them.

Charmed Operators, packaged as “Charms”, are software that encapsulate a single application and all the code and know-how it takes to operate it.

Get started by visiting the full OLM documentation.

The Charmed Operator SDK is a Python framework to assist in the development of Charmed Operators. It features strong abstractions around the components of an application deployed using the Juju OLM.

To get started developing a Charmed Operator, visit the SDK documentation

Model-driven operations is a simple way of describing what software should actually do, specified from the top down (services and how they relate) rather than built from the bottom up, enabling a clean and portable expression of intent rather than a complicated recipe. Juju delivers the tools to describe your model and then to turn it into reality in a repeatable fashion on any cloud or computing resource.

Why Juju?

Juju transforms your ability to integrate fast-moving open source components into large, complex deployments. The move to micro-services and the explosion in open source have conspired to make modern operations incredibly complex and dependent on very rare skills. Model-driven operators solve two key problems - application operations domain knowledge is encapsulated in reusable packages, and dynamic model discovery allows reuse of those packages in widely different settings.

Content Guide

Deploy your application
Charm your application
Basic concepts
Hello, world
Other Juju sites

Last updated a day ago.