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 is for adding plugins to Spinnaker. This assumes that Spinnaker is already setup and configured. Currently this is only support in 1.16 version of Spinnaker or later. This also requires version 1.23.0 of Halyard 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
To enable plugins for Spinnaker run the following command
hal plugins enable
This will enable plugins to be loaded if the individual plugin(s) are enabled.
Adding A Plugin
To add a plugin to Spinnaker, the plugin manifest location needs to be known. Adding the plugin is as easy as:
hal plugins add plugin-name --enabled \ --manifest-location="https://path/to/plugin/manifest.yml"`
--enabled is to automatically enable the plugin. Plugins by default are disabled, unless the
--enabled flag is passed when adding the plugin.
Anytime things via Halyard change, the command
hal deploy apply needs to be ran to send the configuration off to Spinnaker. Plugins are no different. After modifying any plugin remember to run
hal deploy apply for the changes to be passed to Spinnaker.
Controlling Plugin Downloading
If Spinnaker is deployed to Kubernetes, Halyard has to enable Spinnaker to download the plugin resources. To do that, run the following command to enable plugin downloading:
hal plugins enable-downloading
If Spinnaker is deployed to something else besides Kubernetes, plugin resources will have to be manually added to the correct locations.
To modify an existing plugin, the
hal plugins edit command is where we recommend to start. Add the plugin name that needs to be modified to the command and then the manifest location can be modified.
For example, to disable a plugin, run the following command
hal plugins edit plugin-name
Remember to run
hal deploy apply after running any modifications
To delete a plugin, run the
hal plugins delete plugin-name command
Remember to run
hal deploy apply after running any deletions
Listing All Plugins Configured
hal plugins list to see what plugins are currently configured for Spinnaker