I was just thinking, it seems like it could be useful to have a hook tool for letting the charm scale itself. Now, as the operator deploying a charm, I think I would want that to be an opt-in feature because I would want charms to go willy-nilly spinning up server resources that I have to pay for. If we did allow charms to scale themselves we might want to make the user consent required somehow.
I haven’t spent a lot of time justifying that idea yet but I thought I’d put it down.
Another related thought was that if I wanted to have a charm of mine connect to the Juju API to do things like scaling my charm or other charms, it could be useful to have a built-in relation of sorts that I could use to connect to the Juju API. So Juju itself would provide like a
juju-controller relation that my charm could require. That way you would get all of the advantages of relations such as not needing to provide credentials manually and such.