Skip to content

[plugins] decouple framework from core #195

Open
@migmartri

Description

@migmartri

Currently we offer a way to extend Chainloop via a core plugins SDK.

This mechanism has the limitation that it requires the plugin to be added to Chainloop's Control Plane source code and released with it. In other words, you can not develop a plugin on your end, and test it out in an existing instance of Chainloop.

We want to change that as next step, we'd like to

  • Allow users to develop plugins on their own outside of Chainloops source code.
  • Being able to dynamically load such plugins by dropping them in a configurable directory.

To implement this, there are different options, but the one we've aiming to implement in our original design is the use of https://github.com/hashicorp/go-plugin

### Tasks
- [x] Evaluate what changes are required to be done in the SDK and existing plugins
- [x] Move one plugin to the new mode and test it. This will require us to have a separate build-system for the plugin and add them to the final container image
- [x] bundle dependency-track plugin
- [x] bundle discord plugin
- [x] bundle smtp plugin
- [ ] bundle guac plugin
- [ ] bundle oci-registry
- [ ] bundle slack-plugin

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions