In the past, there’s been discussions about constructing a curated view of the model and having that available on request when executing a hook. A charm already has access to charm config, relation data, network information. But maybe if a charm is responsible for managing an application stack it might need to see what’s happening with other applications also, for example. This is not something for this current cycle though.
For the question about model admins, that sounds like it could be done as simply charm config. Right now, there’s quite limited options available other than to manually set a scalar value. There’s been requests to implement a richer config schema, including things like secrets, collections etc; we’re sort of waiting to see what happens in the snap world first so we can pick up what’s done there. It might be worth considering the idea of a “derived” config attribute based on a script or formula, eg @model.users(acl=admin).email. But there’s no immediate plans in this area.
To get unit information from an action, are you talking about being able to run hook commands like config-get or relation-get? Juju creates a “/usr/bin/juju-run” on the host machine which allows an script to execute inside a hook context, and thus call any hook command just as a hook would.
eg from a ssh session on a machine
juju-run mariadb/0 config-get