Note that Plugins are currently in Early Release. The feature is working and installable, but some functionality is likely to be missing and a number of known and unknown issues are likely to surface.
This guide describes how to add plugins to Spinnaker so that Spinnaker users can include them in their pipelines. This assumes that Spinnaker is already setup and configured.
Currently, plugins have the following version requirements:
- Spinnaker version 1.16 or later
- Halyard version 1.23.0 or later
Note that adding a plugin to Spinnaker requires redeploying Spinnaker with Halyard.
Plugins come with a manifest file that specifies what is needed for the plugin to work. Here is an example of a possible manifest file for a plugin:
name: armory/s3copy description: Copies S3 files to different locations manifestVersion: plugins/v1 version: 1.2.3 options: s3: username: user password: pass resources: orca: - https://stage-plugin-test.s3-us-west-2.amazonaws.com/stage-plugin-0.0.1-SNAPSHOT.jar deck: - https://stage-plugin-test.s3-us-west-2.amazonaws.com/stage-plugin-ui-0.0.1-SNAPSHOT.js
Enabling Plugins for Spinnaker
To enable plugins for your Spinnaker deployment run the following command:
hal plugins enable
This enables plugins to be loaded if the individual plugin(s) are enabled.
Adding a Plugin
To add a specific plugin to your deployment, use the
add command and provide the plugin name and manifest location:
hal plugins add <plugin-name> --enabled \ --manifest-location="https://path/to/plugin/manifest.yml"`
--enabled flag automatically enables the plugin. Plugins, by default, are disabled, unless the
--enabled flag is passed when adding the plugin.
Controlling Plugin Downloads
If Spinnaker is deployed to Kubernetes, you must configure Spinnaker to download the plugin resources. To enable plugin downloads, run the following command:
hal plugins enable-downloading
If Spinnaker is deployed to something besides Kubernetes, plugin resources need to be added to the correct locations.
To modify an existing plugin, use the
hal plugins edit command command. Add the plugin name that needs to be modified to the command.
For example, to disable a plugin, run the following command:
hal plugins edit <plugin-name> --enabled false
To delete a plugin, run the following command:
hal plugins delete <plugin-name>
Listing All Plugins Configured
To see what plugins are currently configured, run the following command:
hal plugins list
Applying Configuration Changes
When configurations are changed using Halyard, you must run
hal deploy apply to send the configuration to your Spinnaker deployment. Plugins are no different.