Plugins are an early alpha feature that is under active development and will likely change.
This guide is for adding existing plugins to Spinnaker. For information about how to develop a new plugin, see Plugin Creators Guide.
To use plugins, ensure that the following requirements are met:
- Your Spinnaker deployment must be version 1.16 or later
- You must use Halyard 1.23.0 or later
- You can redeploy Spinnaker with Halyard to apply changes
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 plugins 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 running the following command:
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 due to a Halyard change, the command
hal deploy apply needs to be ran to apply the configuration 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 have to be manually added to the correct locations.
To modify an existing plugin, we recommend using the
hal plugins edit command. Add the plugin name that needs to be modified to the command. The command allows you to modify parameters like the manifest location.
For example, the following command disables a plugin named
hal plugins edit puppy-facts
Remember to run
hal deploy apply after modifying a plugin.
To delete a plugin, run the
hal plugins delete plugin-name command.
For example, the following command deletes a plugin named
hal plugins delete puppy-facts
Remember to run
hal deploy apply after deleting a plugin.
Listing All Plugins Configured
hal plugins list to see which plugins are currently configured for Spinnaker.