Announcing the Spinnaker Plugin Framework: Spinnaker Extensibility Made Simple
– Joe Duffy, CEO of Pulumi
Since Spinnaker is largely comprised of Java microservices, the Plugin Framework was built using PF4J to create extension points within Spinnaker. This allows developers to create plugins that interface with Spinnaker’s respective microservices.
Typically plugins fall within four categories:
- datadogEventListener (which extends EventListener ) showcases how plugins offer more control over events sent to a downstream events aggregator (Datadog, in this case), so you can add filtering and transformation logic
- this observability plugin enables customizing the Micrometer registry and exposes an OpenMetrics endpoint for the Micrometer/Spectator metrics, which allows tools such as Prometheus or the New Relic OpenMetrics integration to work without the Spinnaker Monitoring Daemon
- integrations with notification systems (those which don’t appear in the notifications drop-down in the stage configuration) can be enabled via a plugin like this one
How Do I Get Started Building Or Using A Plugin?
To get started building a plugin, check out this video tutorial on building a plugin using the plugin framework.
Interested in partnering with us on building a plugin? Reach out to us!
If you’re interested in browsing Spinnaker Plugins, check out a few popular ones here.
What’s Next For The Plugin Framework?
Currently Spinnaker 1.20.6 and 1.21+ support plugins via the Plugin Framework, with both server and frontend components.
In the meantime, we are continuing to invest in the Plugin Framework to continue to make lean core Spinnaker a reality. While the Plugin Framework is community-owned, Armory is still dedicated towards enhancing Spinnaker iteratively, and we deeply appreciate your feedback. Issues and PRs are very welcome!