Currently, obtaining files from a simulated FS involves a bit of boilerplate:
out = ctx.run(ctx.on.update_status(), state)
# Currently, need both ctx and container to obtain fs
container = out.get_container("grafana")
fs = container.get_filesystem(ctx)
# Collect files
dashboards_dir = fs / "etc" / "grafana" / "provisioning" / "dashboards"
dashboard_files = list(dashboards_dir.glob("juju_*.json"))
dashboards = {f.name: f.read_text() for f in dashboard_files}
It would be handy if we could for example
dashboards = container.read_glob(ctx, "/etc/grafana/provisioning/dashboards", "juju_*.json")