Dynamic plugin example { #dynamic-plugin-example_{context} }¶
Before working through the example, verify that the plugin is working by following the steps in the Dynamic plugin development documentation.
Add a tab to the pods page¶
There are different customizations you can make to the OpenShift Container Platform web console. The following procedure adds a tab to the Pod details page as an example extension to your plugin.
Note
The OpenShift Container Platform web console runs in a container connected to the cluster you have logged into. See "Dynamic plugin development" for information to test the plugin before creating your own.
Procedure
-
Visit the
console-plugin-templaterepository containing a template for creating plugins in a new tab.Warning
Custom plugin code is not supported by Red Hat. Only Cooperative community support is available for your plugin.
-
Create a GitHub repository for the template by clicking Use this template → Create new repository.
-
Rename the new repository with the name of your plugin.
-
Clone the new repository to your local machine so you can edit the code.
-
Edit the
package.jsonfile, adding your plugin’s metadata to theconsolePlugindeclaration. For example:"consolePlugin": { "name": "my-plugin", "version": "0.0.1", "displayName": "My Plugin", "description": "Enjoy this shiny, new console plugin!", "exposedModules": { "ExamplePage": "./components/ExamplePage" }, "dependencies": { "@console/pluginAPI": "/*" } }where:
consolePlugin.name.my-plugin- Update the name of your plugin.
consolePlugin.version.0.0.1- Update the version.
consolePlugin.displayName.My Plugin- Update the display name for your plugin.
consolePlugin.description.Enjoy this shiny, new console plugin!- Update the description with a synopsis about your plugin.
-
Add the following to the
console-extensions.jsonfile: -
Edit the
package.jsonfile to include the following changes: -
Write a message to display on a new custom tab on the Pods page by creating a new file
src/components/ExampleTab.tsxand adding the following script: -
Install a Helm chart with the name of the plugin as the Helm release name into a new namespace or an existing namespace as specified by the
-ncommand-line option to deploy your plugin on a cluster. Provide the location of the image within theplugin.imageparameter by using the following command:$ helm upgrade -i my-plugin charts/openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin.image=my-plugin-image-locationNote
For more information on deploying your plugin on a cluster, see "Deploy your plugin on a cluster".
Verification
- Visit a Pod page to view the added tab.
Additional resources