Getting started
Create, build, and install your first plugin.
Requirements: same OS and CPU architecture as the FeatherFly binary (e.g. linux x86_64 musl build needs a musl-linked plugin).
[lib]
crate-type = ["cdylib"]
[dependencies]
featherfly-plugin-sdk = { path = "../featherfly-plugin-sdk" }
serde_json = "1"
featherfly plugin build ./my-plugin
featherfly plugin install ./my-plugin # copies .so to plugins dir
featherfly plugin ship ./my-plugin # build + install
make plugin-ship PLUGIN=plugins/hello
Paths
- Production config:
/etc/featherfly/config.yml - Debug (
--debugordebug: true):./config.ymlin the working directory - Plugins:
system.plugins_directory(default/var/lib/featherfly/plugins/*.so) - Config:
system.plugins_directory,plugins.enabled
Version mismatch: if descriptor.api_version ≠ daemon API version, the plugin is skipped with a warning.
Reference plugin
After install, inspect plugins/hello/src/lib.rs — it registers every v7 hook type. View hello plugin ↗