sanity-runner
sanity-runner copied to clipboard
Extract 3rd Party Integrations into plugin system
Is your feature request related to a problem? Please describe.
Fullstory, datadog, slack, pagerduty are all baked into the code. This makes sanity-runner very specific to Top Hat's tech stack. We should build a plugin system so these integrations are optional add-ons.
Describe the solution you'd like A clear and concise description of what you want to happen.
A plugin system similar to how we do it in monodeploy (e.g. tappable). Fullstory/datadog etc can be first-party plugins we maintain in the sanity-runner monorepo.
I've pulled out the 3rd party integrations into "plugins", however they're still hardcoded in the service at the moment.
TODO:
- Support dynamic loading of plugins.
- Move reporting plugins from service to client? Create both service and client plugins.
Unanswered questions:
- How do plugins interact with each other?