Resource limits are modelled as constraints.
Just as with vm (non k8s) charms, constraints are applied at deploy time using --constraints, eg
juju deploy foo --constraints "mem=100M cpu-power=100"
There has been discussion at various times about allowing charms to specify minimum resource requirements, but from memory that’s not been progressed to the point where it’s become something that Juju models.