Source of the official OpsKat extensions.
Each extension is a WASM guest built on the extension SDK that ships with OpsKat
(github.com/opskat/opskat/pkg/extsdk). For how to write one — manifest, asset
types, tools, policies, pages, testing — read
extensions/README.md
in the OpsKat repository; it is not repeated here.
extensions/<name>/
go.mod # its own Go module: github.com/opskat/extensions/<name>
main.go ... # the guest; registrations live in init()
*_test.go # unit tests, driven through opskat.TestHost
manifest.json # name, version, hostABI, capability grants
SKILL.md # what the model reads about the extension (optional)
locales/ # en.json, zh-CN.json
frontend/ # page sources (optional)
Makefile # `build` produces dist/, `test` runs the tests
dist/ # build output, git-ignored
Current extensions: elasticsearch.
make build EXT=elasticsearch # -> extensions/elasticsearch/dist/
make test EXT=elasticsearchBuilding needs Go with GOOS=wasip1 support, and Node.js with pnpm for an extension
that has a frontend/. dist/ is a complete extension directory: main.wasm,
manifest.json, SKILL.md when present, locales/, and the built page under frontend/
when the extension has one.
Either use "Install from directory" in the app's extension settings and pick
extensions/<name>/dist, or from a terminal:
opsctl ext dev "$PWD/extensions/elasticsearch/dist"Re-running make build and opsctl ext dev again hot-reloads the extension.
Released artifacts and the extension index are handled by the extension store, not by this repository.