mounts: /repo: resource: ram?Plain memory, mounted as a directory with the same POSIX semantics as every other mount. mode: EXEC /secret: resource: ram?Plain memory, mounted as a directory with the same POSIX semantics as every other mount. mode: READ /tmp: resource: opfs?The browser's own storage, mounted at /tmp. Real files in this tab, kept across a reload. root: .mirage/tmp mode: WRITE /bin: resource: ram?Plain memory, mounted as a directory with the same POSIX semantics as every other mount. mode: EXEC /github: resource: github?A GitHub repository, read over the API and mounted as a directory. No clone. token: owner: strukto-ai repo: mirage mode: READ /redis: resource: redis?An Upstash database over its REST api, since a page cannot open a socket. Keys become paths. url: mode: WRITE runtimes:?The engines a line can run on: monty takes python and python3, quickjs takes node and js. Both are sandboxed, so their file I/O only reaches the mounts above. The builtin command engine is always present, so it is not listed. - { name: monty, captures: [python, python3] } - quickjs clis:?A command installed under a name, the way git is. It is not a file on any mount, so the shell cannot change it, and only this workspace has it. simple: script: simple.js?The program, run on the engine named beside it. runtime: quickjs profiles: admin: commands: allow: [cd, pwd, ls, cat, echo, touch, mkdir, sed, python3, python, history] user: commands: allow: [cd, pwd, ls, cat, touch, python3, python, simple] policy:?A program the gate runs before every command this profile runs. It sees the command's context and reads the filesystem, and answers allow, ask or deny. script: ask_curl.py?The program, run on the engine named beside it. runtime: monty mounts: /tmp: mode: read paths: hide:?Completely hidden, not merely unreadable. The unix tools neither list nor open these paths, and a program on any runtime cannot reach them either: for this profile the path is not there. - /secret - /github?Built on the real @struktoai/mirage-browser. Every command runs Mirage in your browser.
A real Mirage virtual terminal, running in browser?Built on the real @struktoai/mirage-browser. Every command runs Mirage in your browser.
Start the terminal to see the gate's answer to a command.