3.8. Portal Service#
This section provides an overview of the Portal Service component in Nubus for Kubernetes. It describes the following Portal Service components in detail:
Fig. 3.31 shows the Portal Service components, their relationships among each other and to other functional components in Nubus. The upcoming sections add the behavior level for each of the components.
See also
- Portal Service in the interfaces section
for information about incoming and outgoing interfaces.
- Portal Service in the deployment view section
for information about Docker images, Kubernetes pods, and Helm Charts used for deployment.
- Portal Service in the functional components overview section
for more information about the purpose and tasks.
3.8.1. Portal Server#
The Portal Server is the core component of the Portal Service. It provides the following functionality, as shown in Fig. 3.32.
Manage portals and user group assignment to define which portal the Portal Service shows to which user group.
Evaluate groups of the user to determine which portal entries to show to the user.
Read the portal configuration for the Portal Server, such as configuration information, categories for tiles, and portal tiles.
User session handling so that users see the content designated for them.
The S3-compatible storage contains the User group cache for Portal Service and the Portal Service configuration for fast retrieval. Other functionality, described later, stores the information in there.
3.8.2. Portal Frontend#
The Portal Frontend consists of the following parts, as shown in Fig. 3.33.
- Portal Frontend
The Portal Frontend is a Kubernetes pod that delivers the frontend as single web page application to the user’s web browser. It consists of HTML, CSS, and JSON files.
- Portal Frontend in the User Browser
The Portal Frontend in the User Browser is the single web page application that runs in the user’s browser. It also contains UI elements for the End User Self Service. From there, the frontend loads the icons for the tiles from the S3-compatible storage. The Portal Service stores the tile icons in the S3-compatible storage.
3.8.3. Portal Consumer#
The Portal Consumer is responsible for writing the icons for the tiles, the portal configuration, and the group cache to the S3-compatible storage. During Nubus deployment, the Portal Service registers the Portal Consumer as a consumer in the Provisioning Service.
The Portal Consumer provides the following behavior, as shown in Fig. 3.34:
Read tiles, images and write to S3-storage
Write Portal configuration
React on user group membership change
Recreate user group cache
- From Directory Service through Provisioning Service to Portal Consumer
A portal administrator creates portals with portal entries and assigns user groups through the Portal Server. The Portal Server stores the information in the Identity Store and Directory Service. The Directory Service notifies about changes to directory objects and triggers the data transformation and messaging process in the Provisioning Service. The Portal Consumer receives a message from the Consumer Messages HTTP REST API to React on user group membership change.
- User group cache
Triggered by the Provisioning Service, the application function Read user group cache receives the Event object containing the changes to user groups and portals. To create the user group cache, it queries the Directory Service directly for the affected user groups, nested groups, and their user account memberships. With this data, it builds a mapping to resolve a username to its direct and indirect or nested group memberships. It stores the resulting mapping in the S3-compatible storage for the Portal Server.
- Icons for tiles
Read tiles, images, and write to S3 storage reads the tiles and tile images through the UDM HTTP REST API and stores the information in the S3-compatible storage.
- Portal configuration
Write Portal configuration writes the configuration for the Portal Service to the S3-compatible storage. Changes to Portals and Portal Entries in the directory service trigger the Provisioning Service to notify the Portal Consumer.
3.8.4. Portal Announcement#
The Portal Announcement component shows announcements in the portal to a predefined group of users or all users. For example, administrators can inform users about an upcoming maintenance, or a recent update of a service.
Portal Announcement provides a UMC module to Manage announcements. It runs in the UMC Server in the Management UI. Fig. 3.35 shows the behavior of the Portal Announcement together with data flow of the associated information. UMC Server stores the announcement settings in the LDAP Server. This change triggers the Provisioning Service and passes the information to the Portal Consumer which Write Portal configuration to the S3-compatible storage. The Portal Server reads the portal configuration and shows the announcement in the portal.
3.8.5. Notifications API#
The Notifications API provides an interface to applications to show messages in the portal to all users.
Fig. 3.36 shows the behavior of the Notifications API. Nubus application or Third-party applications not part of Nubus send their notifications to the Endpoint to notify users. The Notifications API takes the notification and passes it to the Endpoint of notification stream. The Endpoint of notification stream sends the message to the portal.
The Portal Frontend in the User Browser shows the notification. Notification are transient. The Notifications API doesn’t save them persistently.