Machine Charms
For machines, two types of charms are available, namely Principal Charms and Subordinate Charms.
These charms may be implemented either as Operator Charms, Reactive Charms, or Legacy Charms, where a clear preference is given to operator charms.
Kubernetes Charms
For Kubernetes, two paradigms exist, namely Sidecar Charms and PodSpec Charms, where the second one has been deprecated.