Skip to content

Better plugin system #3

@markovejnovic

Description

@markovejnovic

Currently, the plugin system is just a stabby dylib. This makes it really easy and fast to develop plugins, but has some problems:

  • Users need to be careful to use the injected tokio handles, otherwise they can block the core app.
  • Plugins need to be compiled for all supported architectures. This is annoying and slow.
  • Trust is really bad now — dylibs can do whatever, so there's no real sandboxing, which we really should have.
  • We often duplicate code — each plugin may have its own fs implementation and so on, which means that each plugin will pull its own fs2 copy, instead of reusing the functions available in the core runtime.

I am envisioning that this will need quite a lot of work, and can perhaps be an open-source library that is actually more generic than just harmont-cli:

  • Support for manifests
  • Support for FS ops
  • Support for async
  • Etc etc

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions