Shellaro extensibility (0.7)
Shellaro 0.7 can be extended in three ways:
| Kind | What it is | Code | Permissions |
|---|---|---|---|
| Extension | JavaScript that adds commands and sidebar views and uses the Extension API | yes, isolated | declared, approved at install |
| Command Pack | Curated commands and runbooks as JSON, shown in the Runbooks sidebar | no | none |
| Lab Pack | A hands-on lab: setup that breaks something on a cluster you choose, tasks, checks (labs) | no | none |
All three are distributed as one file format, .shellaro-ext, and installed from the Marketplace (title bar, Ctrl+Shift+X), from a file, or with the developer CLI.
Documents
- Architecture: how the Extension Host, workers and the Marketplace fit together
- Tutorial: Hello World: your first extension in five minutes
- Manifest:
manifest.jsonreference - Permissions: what each permission allows, and risk levels
- Extension API: every API call, event and type
- Developer Mode: load, reload and debug extensions
- CLI:
shellaro ext create | dev | build | validate | install | publish | keygen - Packaging and signing: the
.shellaro-extformat, integrity and signatures - Command Packs:
pack.jsonformat - Lab Packs:
lab.json; doing and writing labs in ../labs.md - Sources: bundled catalog,
index.json, folders, the Marketplace API - Marketplace API v1: the HTTP contract for a hosted Marketplace
- Security model: isolation, what extensions can and cannot reach, honest limits
- Compatibility and versioning
Shellaro's own updates are described in ../updater.md; the one-click local Kubernetes cluster in ../local-cluster.md.
First-party content
Built into the installer's offline catalog:
kubernetes/: the Kubernetes extension (Working)samples/hello-world/: the smallest extension (Sample)packs/: eight Command Packs: Kubernetes, Docker, Linux, systemd, Network, Git, Helm, PostgreSQL (Working)labs/: four Kubernetes labs (Working; see ../labs.md)catalog.json: status labels, featured items and planned entries