Module 3: Software Templates and Developer Experience

Overview

Software Templates in Red Hat Developer Hub enable your team(s) to create Components and - through the use of "actions" provided by plugins - create resources in other systems such as your GitLab and OpenShift GitOps instances. Each Template is stored as an Entity, meaning you can import them similar to any other Entity.

Platform engineers will typically be the authors of Templates, and use them to create "golden paths" that follow best-practices and use approved processes and tooling. Development teams will be the consumers of Templates to create new software. Using Templates reduces cognitive load on the development teams by allowing them to focus on development tasks, while platform concerns are addressed by the template.

Templates are defined using YAML, but are rendered as a rich form in the Red Hat Developer Hub UI when used by development teams.

Module Objectives

  • Create a Template (as the Platform Engineer)

  • Register the Template in the Software Catalog

  • Create a new Component, GitLab Repository, and GitOps Application from the Template (as a Developer)

Workshop Environment

Your workshop environment has been preconfigured with the following software and platform components:

  • Red Hat Build of Keycloak

  • OpenShift GitOps

  • OpenShift Pipelines

  • GitLab

For the purposes of this workshop, we’ll assume that your organization has standardized on these tools, and it’s your objective as the platform engineer to integrate them with Red Hat Developer Hub.

For convenience, Red Hat Developer Hub has been predeployed via OpenShift GitOps using the official Red Hat Developer Hub Helm Chart. Specifically, a backstage-bootstrap Application has been configured to deploy the official Red Hat Developer Hub Helm Chart along with a set prerequisite Secrets and ConfigMaps.