I've tried converting the custom_http_endpoint.py example into a plugin and that goes 'partially started' too.
I've disabled apparmor in /opt/dsf/conf/plugins.json, just so it can't interfere - my goal would be to put it back on when I've figured out what's going on.
I've set up a 'test_plugin' that comprises only the custom_http_endpoint.py in folder dsf, and a plugin.json:
{
"id": "TestPlugin",
"name": "Test Plugin",
"author": "achrn",
"version": "1.0.1",
"license": "MIT",
"dwcVersion": "3",
"sbcDsfVersion": "3",
"sbcRequired": true,
"sbcExecutable": "custom_http_endpoint.py",
"sbcExecutableArguments": null,
"sbcOutputRedirected": false,
"sbcPermissions": ["fileSystemAccess","launchProcesses","registerHttpEndpoints"]
}
If I install that plugin it seems to go in OK, in that it appears as an external plugin in the web page, but if I start it, it goes to status 'partially started', and if I then try to access the endpoint (using wget) I get a zero length response. If I try and access the endpoint when the plugin is stopped (ie not even partially started) I get a 500 internal server error.
/run/dsf/custom/getIt-GET.sock does exist, dsf:dsf and permissions srwxrwxr-x
So I'm still flummoxed.