What is a Charm anyway?


I’m new to Juju and I don’t really understand what a Charm is. What does it do? How do they work?


A charm in its most simplistic sense is a piece of code that encapsulates an application. It knows how to install that application and how to configure the relevant parts. They also help with relations so that when 1 charm is connected to another charm, the two applications know how to configure themselves in the relevant fashion.