Skip to content

Commit 74f4dbb

Browse files
authored
RHIDP-3393-1 - Document how users can access Plugin Marketplace in RHDH (redhat-developer#1015)
* RHIDP-3393-1 - Document how users can access Plugin Marketplace in RHDH * RHIDP-3393-1 - Document how users can access Plugin Marketplace in RHDH * RHIDP-3393-1 - Document how users can access Plugin Marketplace in RHDH
1 parent e5018db commit 74f4dbb

9 files changed

+275
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[id="rhdh-extensions-plugins_{context}"]
2+
= Extensions in {product}
3+
4+
include::{docdir}/artifacts/snip-technology-preview.adoc[]
5+
6+
:context: rhdh-extensions-plugins
7+
8+
{product} ({product-very-short}) includes the Extensions feature which is preinstalled and enabled by default. Extensions provides users with a centralized interface to browse and manage available plugins
9+
10+
You can use Extensions to discover plugins that extend {product-very-short} functionality, streamline development workflows, and improve the developer experience.
11+
12+
// The feature is a first read-only version of the extensions plugin
13+
// (previously called marketplace)
14+
// It can show Plugins (a display name, icon, highlights, description) and
15+
// Packages (npm package names and versions) in RHDH under
16+
// Administration > Extensions
17+
// The data are stored in the Software Catalog
18+
// There are default Plugins for all Dynamic plugin.
19+
// Customers can add their own.
20+
// There is no option to install a Plugin in 1.5.
21+
22+
23+
// Viewing Extensions
24+
include::../modules/dynamic-plugins/proc-catalog-viewing.adoc[leveloffset=+1]
25+
26+
// Viewing installed plugins
27+
include::../modules/dynamic-plugins/proc-viewing-installed-plugins.adoc[leveloffset=+1]
28+
29+
// Searching and filtering Extensions
30+
include::../modules/dynamic-plugins/con-catalog-searching-and-filtering.adoc[leveloffset=+1]
31+
32+
// Viewing a plugin
33+
include::../modules/dynamic-plugins/ref-catalog-plugin.adoc[leveloffset=+2]
34+
35+
// Disabling Extensions
36+
include::../modules/dynamic-plugins/proc-extensions-disabling.adoc[leveloffset=+1]
37+
38+
// Managing the extensions plugin entries - For 1.6+
39+
//include::../modules/dynamic-plugins/proc-extensions-managing.adoc[leveloffset=+1]
40+
41+
// Creating the extensions plugin metadata - For 1.6+
42+
//include::../modules/dynamic-plugins/proc-extensions-creating.adoc[leveloffset=+1]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
= Search and filter the plugins
2+
3+
== Search by plugin name
4+
You can use the search bar in the header to filter the Extensions plugin cards by name. For example, if you type “A” into the search bar, Extensions shows only the plugins that contain the letter “A” in the Name field.
5+
6+
Optionally, you can use the search bar in conjunction with a filter to filter only plugins of the selected filter by name. For example, you can apply the *Category* filter and then type a character into the search bar to view only Openshift plugins that contain the typed character in the name.
7+
8+
The following filters are available:
9+
10+
* Category
11+
* Author
12+
* Support type
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[id="rhdh-extensions-plugins-viewing_{context}"]
2+
= Viewing available plugins
3+
4+
You can view plugins available for your {product} application on the *Extensions* page.
5+
6+
.Procedure
7+
8+
. Open your {product-short} application and click *Administration* > *Extensions*.
9+
. Go to the *Catalog* tab to view a list of installed plugins and related information.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
[id="rhdh-extensions-plugins-creating_{context}"]
2+
= Adding your own plugin metadata to Extensions
3+
You can add your own plugin metadata to Extensions.
4+
5+
.Prequisites
6+
7+
.Procedure
8+
. Update plugin metadata file, as follows:
9+
+
10+
[source,yaml]
11+
----
12+
# yaml-language-server: $schema=https://raw.githubusercontent.com/redhat-developer/rhdh-plugins/refs/heads/main/workspaces/marketplace/json-schema/plugins.json
13+
apiVersion: extensions.backstage.io/v1alpha1
14+
kind: Plugin
15+
metadata:
16+
name: github-issues
17+
namespace: rhdh
18+
title: GitHub Issues
19+
description: 'Based on the well-known GitHub slug annotation associated with the Entity, it renders the list of Open issues in GitHub'
20+
annotations:
21+
extensions.backstage.io/pre-installed: 'true'
22+
tags:
23+
- issue-tracker
24+
links:
25+
- title: Homepage
26+
url: https://red.ht/rhdh
27+
- title: Bugs
28+
url: https://issues.redhat.com/browse/RHIDP
29+
- title: Documentation for Red Hat Developer Hub
30+
url: https://docs.redhat.com/en/documentation/red_hat_developer_hub
31+
- title: Source Code
32+
url: https://github.com/backstage/community-plugins/tree/main/workspaces/github-issues/plugins/github-issues
33+
spec:
34+
categories:
35+
- Issue tracker
36+
37+
icon: data:image/svg+xml;base64,
38+
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjgg
39+
MTI4Ij48ZyBmaWxsPSIjMTgxNjE2Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVs
40+
ZT0iZXZlbm9kZCIgZD0iTTY0IDUuMTAzYy0zMy4zNDcgMC02MC4zODggMjcuMDM1LTYwLjM4OCA2
41+
MC4zODggMCAyNi42ODIgMTcuMzAzIDQ5LjMxNyA0MS4yOTcgNTcuMzAzIDMuMDE3LjU2IDQuMTI1
42+
LTEuMzEgNC4xMjUtMi45MDUgMC0xLjQ0LS4wNTYtNi4xOTctLjA4Mi0xMS4yNDMtMTYuOCAzLjY1
43+
My0yMC4zNDUtNy4xMjUtMjAuMzQ1LTcuMTI1LTIuNzQ3LTYuOTgtNi43MDUtOC44MzYtNi43MDUt
44+
OC44MzYtNS40OC0zLjc0OC40MTMtMy42Ny40MTMtMy42NyA2LjA2My40MjUgOS4yNTcgNi4yMjMg
45+
OS4yNTcgNi4yMjMgNS4zODYgOS4yMyAxNC4xMjcgNi41NjIgMTcuNTczIDUuMDIuNTQyLTMuOTAz
46+
IDIuMTA3LTYuNTY4IDMuODM0LTguMDc2LTEzLjQxMy0xLjUyNS0yNy41MTQtNi43MDQtMjcuNTE0
47+
LTI5Ljg0MyAwLTYuNTkzIDIuMzYtMTEuOTggNi4yMjMtMTYuMjEtLjYyOC0xLjUyLTIuNjk1LTcu
48+
NjYyLjU4NC0xNS45OCAwIDAgNS4wNy0xLjYyMyAxNi42MSA2LjE5QzUzLjcgMzUgNTguODY3IDM0
49+
LjMyNyA2NCAzNC4zMDRjNS4xMy4wMjMgMTAuMy42OTQgMTUuMTI3IDIuMDMzIDExLjUyNi03Ljgx
50+
MyAxNi41OS02LjE5IDE2LjU5LTYuMTkgMy4yODcgOC4zMTcgMS4yMiAxNC40Ni41OTMgMTUuOTgg
51+
My44NzIgNC4yMyA2LjIxNSA5LjYxNyA2LjIxNSAxNi4yMSAwIDIzLjE5NC0xNC4xMjcgMjguMy0y
52+
Ny41NzQgMjkuNzk2IDIuMTY3IDEuODc0IDQuMDk3IDUuNTUgNC4wOTcgMTEuMTgzIDAgOC4wOC0u
53+
MDcgMTQuNTgzLS4wNyAxNi41NzIgMCAxLjYwNyAxLjA4OCAzLjQ5IDQuMTQ4IDIuODk3IDIzLjk4
54+
LTcuOTk0IDQxLjI2My0zMC42MjIgNDEuMjYzLTU3LjI5NEMxMjQuMzg4IDMyLjE0IDk3LjM1IDUu
55+
MTA0IDY0IDUuMTA0eiIvPjxwYXRoIGQ9Ik0yNi40ODQgOTEuODA2Yy0uMTMzLjMtLjYwNS4zOS0x
56+
LjAzNS4xODUtLjQ0LS4xOTYtLjY4NS0uNjA1LS41NDMtLjkwNi4xMy0uMzEuNjAzLS4zOTUgMS4w
57+
NC0uMTg4LjQ0LjE5Ny42OS42MS41MzcuOTF6bTIuNDQ2IDIuNzI5Yy0uMjg3LjI2Ny0uODUuMTQz
58+
LTEuMjMyLS4yOC0uMzk2LS40Mi0uNDctLjk4My0uMTc3LTEuMjU0LjI5OC0uMjY2Ljg0NC0uMTQg
59+
MS4yNC4yOC4zOTQuNDI2LjQ3Mi45ODQuMTcgMS4yNTV6TTMxLjMxMiA5OC4wMTJjLS4zNy4yNTgt
60+
Ljk3Ni4wMTctMS4zNS0uNTItLjM3LS41MzgtLjM3LTEuMTgzLjAxLTEuNDQuMzczLS4yNTguOTct
61+
LjAyNSAxLjM1LjUwNy4zNjguNTQ1LjM2OCAxLjE5LS4wMSAxLjQ1MnptMy4yNjEgMy4zNjFjLS4z
62+
My4zNjUtMS4wMzYuMjY3LTEuNTUyLS4yMy0uNTI3LS40ODctLjY3NC0xLjE4LS4zNDMtMS41NDQu
63+
MzM2LS4zNjYgMS4wNDUtLjI2NCAxLjU2NC4yMy41MjcuNDg2LjY4NiAxLjE4LjMzMyAxLjU0M3pt
64+
NC41IDEuOTUxYy0uMTQ3LjQ3My0uODI1LjY4OC0xLjUxLjQ4Ni0uNjgzLS4yMDctMS4xMy0uNzYt
65+
Ljk5LTEuMjM4LjE0LS40NzcuODIzLS43IDEuNTEyLS40ODUuNjgzLjIwNiAxLjEzLjc1Ni45ODgg
66+
MS4yMzd6bTQuOTQzLjM2MWMuMDE3LjQ5OC0uNTYzLjkxLTEuMjguOTItLjcyMy4wMTctMS4zMDgt
67+
LjM4Ny0xLjMxNS0uODc3IDAtLjUwMy41NjgtLjkxIDEuMjktLjkyNC43MTctLjAxMyAxLjMwNi4z
68+
ODcgMS4zMDYuODh6bTQuNTk4LS43ODJjLjA4Ni40ODUtLjQxMy45ODQtMS4xMjYgMS4xMTctLjcu
69+
MTMtMS4zNS0uMTcyLTEuNDQtLjY1My0uMDg2LS40OTguNDIyLS45OTcgMS4xMjItMS4xMjYuNzE0
70+
LS4xMjMgMS4zNTQuMTcgMS40NDQuNjYzem0wIDAiLz48L2c+PC9zdmc+
71+
72+
73+
author: Backstage Community
74+
support: tech-preview # production, tech-preview, dev-preveiw
75+
lifecycle: active
76+
publisher: Red Hat
77+
highlights:
78+
- Show GitHub issues for your entities
79+
80+
description: |
81+
82+
Based on the [well-known GitHub slug annotation](https://backstage.io/docs/features/software-catalog/well-known-annotations#githubcomproject-slug) associated with the Entity, it renders the list of Open issues in GitHub.
83+
The plugin will attempt to determine the source code location using the [well-known Source location slug annotation](https://backstage.io/docs/features/software-catalog/well-known-annotations/#backstageiosource-location) or [Managed by location slug annotation](https://backstage.io/docs/features/software-catalog/well-known-annotations/#backstageiomanaged-by-location) associated with the Entity.
84+
If no configured Github provider will match, the first one will be used.
85+
86+
The plugin is designed to work with four Entity kinds, and it behaves a bit differently depending on that kind:
87+
88+
- Kind: Group/User: plugin renders issues from all repositories for which the Entity is the owner.
89+
- Kind: API/Component: plugin renders issues from only one repository assigned to the Entity
90+
91+
**Issues are sorted from the recently updated DESC order (the plugin might not render all issues from a single repo next to each other).**
92+
93+
## Adding The Plugin To Red Hat Developer Hub
94+
95+
See the [Red Hat Developer Hub documentation](https://docs.redhat.com/en/documentation/red_hat_developer_hub)
96+
for further instructions on how to add, enable, configure, and remove plugins in your instance.
97+
98+
## Configuring The Plugin ##
99+
100+
Plugins often need additional configuration to work correctly - particularly those that integrate with other
101+
systems. See the original source code repository, the software vendor, or the [Red Hat Developer Hub documentation](https://docs.redhat.com/en/documentation/red_hat_developer_hub)
102+
for further details regarding the configuration required.
103+
104+
packages:
105+
- backstage-community-plugin-github-issues
106+
----
107+
108+
.User facing attributes
109+
[%header,cols=3*]
110+
|===
111+
|*Attribute* |*Type* |*Description*
112+
// |3scale |`https://npmjs.com/package/@backstage-community/plugin-3scale-backend/v/3.0.3[@backstage-community/plugin-3scale-backend]` |3.0.3
113+
// |`./dynamic-plugins/dist/backstage-community-plugin-3scale-backend-dynamic`
114+
115+
// `THREESCALE_BASE_URL`
116+
117+
// `THREESCALE_ACCESS_TOKEN`
118+
119+
120+
121+
| `metadata.description` | `string` | Short description that is shown on the cards (text).
122+
| `spec.author` | `string` | A single author name, this attribute is automatically converted to authors if specified.
123+
| `spec.authors` | `{ name: string, url?: string }[]` | Authors array if a plugin is developed by multiple authors.
124+
| `spec.categories` | `string[]` | Categories are displayed directly as filter and labels.
125+
| `spec.highlights` | `string[]` | Highlights for the details page.
126+
| `spec.description` | `string` | Full description that is shown on the details page (markdown).
127+
| `spec.installation` | `string` | Full installation description that is shown later on the install page (markdown).
128+
| `spec.icon` | `string` | Icon URL
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[id="rhdh-extensions-plugins-disabling_{context}"]
2+
= Removing Extensions
3+
The Extensions feature plugins are preinstalled in {product} ({product-very-short}) and enabled by default. If you want to remove Extensions from your {product-very-short} instance, you can disable the relevant plugins.
4+
5+
.Procedure
6+
. To disable the the Extensions feature plugins, edit your `dynamic-plugins.yaml` with the following content.
7+
+
8+
.`dynamic-plugins.yaml` fragment
9+
[source,yaml]
10+
----
11+
plugins:
12+
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace
13+
disabled: true
14+
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-catalog-backend-module-marketplace-dynamic
15+
disabled: true
16+
- package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-marketplace-backend-dynamic
17+
disabled: true
18+
----
19+
20+
[NOTE]
21+
If you disable the Extensions feature plugins, the *Catalog* and *Installed* tabs will also be removed. You can still view installed plugins by clicking on *Administration* > *Extensions*.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[id="rhdh-extensions-plugins-managing_{context}"]
2+
= Managing Extensions plugin metadata in {product}
3+
4+
You must add the Extensions catalog entities to your {product-very-short} container image by updating your `app-config.yaml` file,
5+
6+
.Prerequisites
7+
* You have installed the `marketplace` plugin.
8+
9+
.Procedure
10+
. Update the `catalog.locations` definition in your `app-config.yaml` file, as follows:
11+
+
12+
[source,yaml]
13+
----
14+
appConfig:
15+
catalog:
16+
rules:
17+
- allow: [Component, System, API, Resource, Location, PluginCollection, Plugin, Package]
18+
locations:
19+
- type: file
20+
target: /marketplace/catalog-entities/plugins/all.yaml
21+
rules:
22+
- allow: [Location, Plugin]
23+
- type: file
24+
target: /marketplace/catalog-entities/packages/all.yaml
25+
rules:
26+
- allow: [Location, Package]
27+
----

modules/dynamic-plugins/proc-viewing-installed-plugins.adoc

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ Using the Dynamic Plugins Info front-end plugin, you can view plugins that are c
1111

1212
.Procedure
1313

14-
. Open your {product-short} application and click *Administration*.
15-
. Go to the *Plugins* tab to view a list of installed plugins and related information.
14+
. Open your {product-short} application and click *Administration* > *Extensions*.
15+
. Go to the *Installed* tab to view a list of installed plugins and related information.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
= Plugin cards
2+
For each plugin card, the following details are displayed:
3+
4+
Badge:: The following badges are defined:
5+
* Certified by Red Hat: Plugins that are produced and supported by Red Hat's partners.
6+
* Verified by Red Hat: Production ready plugins that are supported by Red Hat
7+
* Custom plugin: Plugins are created and added by the customer.
8+
+
9+
[NOTE]
10+
No badge is displayed if a plugin does not match any of these definitions.
11+
12+
Icon:: The plugin icon (base64).
13+
Name:: The plugin name.
14+
Author(s):: A single author name or multiple author names if a plugin is developed by multiple authors.
15+
Category:: The categories that are displayed in the filter and labels. Only one category is shown on the card but any other categories that you select will apply when you use the category filter.
16+
Short description:: Short description that is shown on the cards (text).
17+
Read more link:: Clickable link to open the plugin details page.
18+
19+
= Plugin details
20+
When you click on the *Read more* link on a plugin card, the following details are displayed:
21+
22+
Icon:: The plugin icon (base64).
23+
Name:: The plugin name.
24+
Author(s):: A single author name or multiple author names if a plugin is developed by multiple authors.
25+
Highlights:: A list of plugin features.
26+
Install button:: Button to install the plugin (disabled).
27+
Long description:: Full description of the plugin (Markdown).
28+
Links:: Clickable links providing additional information about the plugin.
29+
Versions:: Displays the plugin's name, version, role, supported version, and installation status based on the plugin's plugin's package name.

titles/plugins-rhdh-install/master.adoc

+5-2
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,8 @@ include::assemblies/dynamic-plugins/assembly-third-party-plugins.adoc[leveloffse
1717
//Install RHDH container image plugins
1818
include::modules/dynamic-plugins/proc-enable-plugins-rhdh-container-image.adoc[leveloffset=+1]
1919

20-
// Viewing installed plugins
21-
include::modules/dynamic-plugins/proc-viewing-installed-plugins.adoc[leveloffset=+1]
20+
// Viewing installed plugins - moved to Extensions
21+
//include::modules/dynamic-plugins/proc-viewing-installed-plugins.adoc[leveloffset=+1]
22+
23+
// Extensions (marketplace) plugins
24+
include::assemblies/dynamic-plugins/assembly-extensions-plugins.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)