Skip to content

RHIDP-6566: Rename Create with Self-service #1077

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ The Keycloak backend plugin, which integrates Keycloak into {product-short}, has
* Synchronization of Keycloak users in a realm.
* Synchronization of Keycloak groups and their users in a realm.

== For administrators

=== Installation
== Installation

The Keycloak plugin is pre-loaded in {product-short} with basic configuration properties. To enable it, set the `disabled` property to `false` as follows:

Expand All @@ -23,7 +21,7 @@ global:
disabled: false
----

=== Basic configuration
== Basic configuration
To enable the Keycloak plugin, you must set the following environment variables:

* `KEYCLOAK_BASE_URL`
Expand All @@ -36,7 +34,7 @@ To enable the Keycloak plugin, you must set the following environment variables:

* `KEYCLOAK_CLIENT_SECRET`

=== Advanced configuration
== Advanced configuration

.Schedule configuration
You can configure a schedule in the `app-config.yaml` file, as follows:
Expand Down Expand Up @@ -140,7 +138,7 @@ When using client credentials, the access type must be set to `confidential` and
* `query-users`
* `view-users`

=== Limitations
== Limitations

If you have self-signed or corporate certificate issues, you can set the following environment variable before starting {product-short}:

Expand All @@ -152,29 +150,3 @@ If you have self-signed or corporate certificate issues, you can set the followi
The solution of setting the environment variable is not recommended.
====

== For users

=== Import of users and groups in {product-short} using the Keycloak plugin

After configuring the plugin successfully, the plugin imports the users and groups each time when started.

[NOTE]
====
If you set up a schedule, users and groups will also be imported.
====

After the first import is complete, you can select *User* to list the users from the catalog page:

image::rhdh-plugins-reference/users.jpg[catalog-list]

You can see the list of users on the page:

image::rhdh-plugins-reference/user-list.jpg[user-list]

When you select a user, you can see the information imported from Keycloak:

image::rhdh-plugins-reference/user2.jpg[user-profile]

You can also select a group, view the list, and select or view the information imported from Keycloak for a group:

image::rhdh-plugins-reference/group1.jpg[group-profile]
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,11 @@ After configuring the plugin successfully, the plugin imports the users and grou
If you set up a schedule, users and groups will also be imported.
====

After the first import is complete, you can select *User* to list the users from the catalog page:

image::rhdh-plugins-reference/users.jpg[catalog-list]

You can see the list of users on the page:

image::rhdh-plugins-reference/user-list.jpg[user-list]

When you select a user, you can see the information imported from Keycloak:

image::rhdh-plugins-reference/user2.jpg[user-profile]

You can also select a group, view the list, and select or view the information imported from Keycloak for a group:

image::rhdh-plugins-reference/group1.jpg[group-profile]
.Procedure
. in {product}, go to the *Catalog* page.
. Select *User* from the entity type filter to display the list of imported users.
. Browse the list of users displayed on the page.
. Select a user to view detailed information imported from Keycloak.
. To view groups, select *Group* from the entity type filter.
. Browse the list of groups shown on the page.
. From the list of groups, select a group to view the information imported from Keycloak.
2 changes: 1 addition & 1 deletion assemblies/assembly-configuring-the-global-header.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
As an administrator, you can configure the {product} global header to create a consistent and flexible navigation bar across your {product-short} instance.
By default, the {product-short} global header includes the following components:

* *Create* button provides quick access to a variety of templates, enabling users to efficiently set up services, backend and front-end plugins within {product-short}
* *Self-service* button provides quick access to a variety of templates, enabling users to efficiently set up services, backend and front-end plugins within {product-short}
* *Support* button that can link an internal or external support page
* *Notifications* button displays alerts and updates from plugins and external services
* *Search* input field allows users to find services, components, documentation, and other resources within {product-short}
Expand Down
Binary file removed images/rhdh-plugins-reference/group1.jpg
Binary file not shown.
Binary file removed images/rhdh-plugins-reference/user-list.jpg
Binary file not shown.
Binary file removed images/rhdh-plugins-reference/user2.jpg
Binary file not shown.
Binary file removed images/rhdh-plugins-reference/users.jpg
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
= Customizing your {product} global header

You can use the `red-hat-developer-hub.backstage-plugin-global-header` dynamic plugin to extend the global header with additional buttons and customize the order and position of icons and features. Additionally, you can create and integrate your custom dynamic header plugins using the mount points provided by this new header feature, allowing you to further tailor to suit your needs.
For more information on enabling dynamic plugins, see link:{installing-and-viewing-dynamic-plugins-url}[{installing-and-viewing-dynamic-plugins-title}].
For more information about enabling dynamic plugins, see link:{installing-and-viewing-plugins-book-url}[{installing-and-viewing-plugins-book-title}].

.Default global header configuration

Expand Down Expand Up @@ -42,7 +42,7 @@ For more information on enabling dynamic plugins, see link:{installing-and-viewi
config:
priority: 90
props:
title: Create...
title: Self-service
icon: add
to: create
- mountPoint: global.header/component
Expand Down Expand Up @@ -76,7 +76,7 @@ For more information on enabling dynamic plugins, see link:{installing-and-viewi
----
<1> *search*: Hides the *Search* modal in the sidebar menu. Change it to `true` to display the *Search* modal in the sidebar.
<2> *settings*: Hides the *Settings* button in the sidebar menu. Change it to `true` to display the *Settings* button in the sidebar.
<3> `default.main-menu-items`: Hides the *Create* button from the sidebar menu. Remove this field to display the *Create* button in the sidebar.
<3> `default.main-menu-items`: Hides the *Self-service* button from the sidebar menu. Remove this field to display the *Self-service* button in the sidebar.
<4> *position*: Defines the position of the header. Options: `above-main-content` or `above-sidebar`.

To extend the functionality of the default global header, include any the following attributes in your global header entry:
Expand All @@ -91,16 +91,16 @@ The `red-hat-developer-hub.backstage-plugin-global-header` package (enabled by d

- **`SearchComponent`**: Adds a search bar (enabled by default).
- **`Spacer`**: Adds spacing in the header to position buttons at the end. Useful when you disable `SearchComponent`.
- **`HeaderIconButton`**: Adds an icon button. By default, the *Create* icon button remains enabled.
- **`HeaderIconButton`**: Adds an icon button. By default, the *Self-service* icon button remains enabled.
- **`SupportButton`**: Adds a *Support* icon button, allowing users to configure a link to an internal or external page. Enabled by default but requires additional configuration to display.
- **`NotificationButton`**: Adds a *Notifications* icon button to display unread notifications in real time and navigate to the *Notifications* page. Enabled by default (requires the notifications plugin).
- **`Divider`**: Adds a vertical divider. By default, a divider appears between the profile dropdown and other header components.
- **`ProfileDropdown`**: Adds a profile dropdown showing the logged-in user's name. By default, it contains two menu items.
- **`MenuItemLink`**: Adds a link item in a dropdown menu. By default, the profile dropdown includes a link to the *Settings* page.
- **`LogoutButton`**: Adds a logout button in the profile dropdown (enabled by default).
- **`CreateDropdown`**: Adds a *Create* dropdown button (disabled by default). The menu items are configurable.
- **`SoftwareTemplatesSection`**: Adds a list of software template links to the *Create* dropdown menu (disabled by default). You must enable `CreateDropdown`.
- **`RegisterAComponentSection`**: Adds a link to the *Register a Component* page in the *Create* dropdown menu (disabled by default). You must enable `CreateDropdown`.
- **`CreateDropdown`**: Adds a *Self-service* dropdown button (disabled by default). The menu items are configurable.
- **`SoftwareTemplatesSection`**: Adds a list of software template links to the *Self-service* dropdown menu (disabled by default). You must enable `CreateDropdown`.
- **`RegisterAComponentSection`**: Adds a link to the *Register a Component* page in the *Self-service* dropdown menu (disabled by default). You must enable `CreateDropdown`.

`config.position`::
Specifies the position of the header. Supported values are `above-main-content` and `above-sidebar`.
Expand Down
4 changes: 2 additions & 2 deletions modules/customizing-templates/proc-creating-templates.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ You can create a template by using the Template Editor.
+
image::rhdh/template-editor.png[Template Editor]
** Open the URL `\https://<rhdh_url>/create/edit` for your {product} instance.
** Click *Create...* in the navigation menu of the {product} console, then click the overflow menu button and select *Template editor*.
** Click *Self-service* in the navigation menu of the {product} console, then click the overflow menu button and select *Template editor*.
. Click *Edit Template Form*.
. Optional: Modify the YAML definition for the parameters of your template. For more information about these parameters, see <<Creating a template as a YAML file>>.
. In the *Name ** field, enter a unique name for your template.
. In the *Name* field, enter a unique name for your template.
. From the *Owner* drop-down menu, choose an owner for the template.
. Click *Next*.
. In the *Repository Location* view, enter the following information about the hosted repository that you want to publish the template to:
Expand Down
4 changes: 2 additions & 2 deletions modules/customizing-templates/ref-creating-templates.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ spec:
# ...
----
<1> Specify a name for the template.
<2> Specify a title for the template. This is the title that is visible on the template tile in the *Create...* view.
<3> Specify a description for the template. This is the description that is visible on the template tile in the *Create...* view.
<2> Specify a title for the template. This is the title that is visible on the template tile in the *Self-service* view.
<3> Specify a description for the template. This is the description that is visible on the template tile in the *Self-service* view.
<4> Specify the ownership of the template. The `owner` field provides information about who is responsible for maintaining or overseeing the template within the system or organization. In the provided example, the `owner` field is set to `backstage/techdocs-core`. This means that this template belongs to the `techdocs-core` project in the `backstage` namespace.
<5> Specify the component type. Any string value is accepted for this required field, but your organization should establish a proper taxonomy for these. {product} instances may read this field and behave differently depending on its value. For example, a `website` type component may present tooling in the {product} interface that is specific to just websites.
+
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ dynamicPlugins:
to: learning-paths
priority: 60
default.create:
title: Create
title: Self-service
icon: add
to: create
priority: 50
Expand Down