Spinnaker Plugin (PF4J-based) that is a custom pipeline stage.
The pf4jStagePlugin creates a custom pipeline stage that waits a random number of seconds before signaling success.
This plugin implements the SimpleStage PF4J extension point in Orca.
The plugin consists of a random-wait-orca Kotlin server component and a random-wait-deck React UI component that uses the rollup.js plugin library.
This is for demo only and not meant to be used in a production environment.
| Plugin | Spinnaker Platform |
|---|---|
| 1.0.x | 1.19.x |
| 1.1.x | 1.20.x |
- Run
./gradlew releaseBundle - Put the
/build/distributions/<project>-<version>.zipinto the configured plugins location for your service. - Configure the Spinnaker service. Put the following in the service yml to enable the plugin and configure the extension:
spinnaker:
extensibility:
plugins:
Armory.RandomWaitPlugin:
enabled: true
extensions:
armory.randomWaitStage:
enabled: true
config:
defaultMaxWaitTime: 60
Or use the examplePluginRepository to avoid copying the plugin .zip artifact.
To debug the random-wait-orca server component inside a Spinnaker service (like Orca) using IntelliJ Idea follow these steps:
- Run
./gradlew releaseBundlein the plugin project. - Copy the generated
.plugin-reffile underbuildin the plugin project submodule for the service to thepluginsdirectory under root in the Spinnaker service that will use the plugin . - Link the plugin project to the service project in IntelliJ (from the service project use the
+button in the Gradle tab and select the plugin build.gradle). - Configure the Spinnaker service the same way specified above.
- Create a new IntelliJ run configuration for the service that has the VM option
-Dpf4j.mode=developmentand does aBuild Projectbefore launch. - Debug away...
Plugging into the UIvideo walkthroughPlugging into Spinnaker Servicesvideo walkthroughPlugin Build and Releasevideo walkthroughPlugin Deliveryvideo walkthrough