Red Hat Developer Hub 2.1

Streamline software development and management in Red Hat Developer Hub

Automating the development lifecycle, improving code quality, monitoring deployments, and managing services by using tools and plugins in Red Hat Developer Hub (RHDH)

Red Hat Customer Content Services

Abstract

As a developer, you can use the platform integrated tools and services to create component catalogs, enforce code standards, manage security, and automate the software development and management workflow in Red Hat Developer Hub (RHDH).

Preface

As a developer, you can use the platform integrated tools and services to create component catalogs, enforce code standards, manage security, and automate the software development and management workflow in Red Hat Developer Hub (RHDH).

Chapter 1. Import your team’s codebase from Git

Red Hat Developer Hub can automate GitHub repositories onboarding and track their import status.

Important

These features are for Technology Preview only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information on Red Hat Technology Preview features, see Technology Preview Features Scope.

1.1. Enable and authorize Bulk Import capabilities in Red Hat Developer Hub

Enable Bulk Import plugins and configure RBAC permissions to allow users to import multiple GitHub repositories and GitLab projects into the catalog.

Prerequisites

Important

Bulk Import requires user OAuth tokens for all repository and organization listing operations. Deployments without user authentication configured will receive HTTP 401 Unauthorized errors when accessing the Bulk Import feature.

Procedure

  1. The Bulk Import plugins are installed but disabled by default. To enable the ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic and ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import plugins, edit your dynamic-plugins.yaml with the following content:

    plugins:
      - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic
        disabled: false
      - package: ./dynamic-plugins/dist/red-hat-developer-hub-backstage-plugin-bulk-import
        disabled: false

    See Installing and viewing plugins in Red Hat Developer Hub.

  2. Configure the required bulk.import RBAC permission for the users who are not administrators as shown in the following code:

    rbac-policy.csv fragment

    p, role:default/bulk-import, bulk.import, use, allow
    g, user:default/<your_user>, role:default/bulk-import

    Note that only Developer Hub administrators or users with the bulk.import permission can use the Bulk Import feature. See Permission policies in Red Hat Developer Hub.

Verification

  1. The sidebar displays a Bulk Import option.
  2. The Bulk Import page shows a list of added GitHub repositories and GitLab projects.

1.2. Import multiple GitHub repositories

Select and import multiple GitHub repositories that you can access into the Red Hat Developer Hub catalog, automatically creating pull requests with required catalog-info.yaml files.

Note

The Bulk Import feature displays only repositories that your GitHub user account can access and that are not already imported into the Developer Hub catalog. Repository visibility is determined by your GitHub permissions, not the Developer Hub GitHub App configuration.

Procedure

  1. Click Bulk Import in the Developer Hub left sidebar.
  2. If your RHDH instance has multiple source control tools configured, select GitHub from the Source control tool list.

    The interface displays GitHub repositories that your authenticated user account can access, excluding repositories already present in the catalog.

  3. Select the repositories to import, and click Add.

    Developer Hub creates a pull request in each selected repository to add the required catalog-info.yaml file using your GitHub credentials.

  4. For each repository to import, click PR to review and merge the changes in GitHub.

Verification

  1. Click Bulk Import in the Developer Hub left sidebar.
  2. Verify that each imported GitHub repository in the Selected repositories list has the status Waiting for approval or Imported.
  3. For each Waiting for approval repository, click the pull request link to review and merge the catalog-info.yaml file in the corresponding repository.

    The pull request is created using your GitHub user account, ensuring proper attribution in the repository history.

1.3. Manage imported repositories

You can oversee and manage the Git repositories that are imported to Developer Hub.

Prerequisites

Procedure

  • Click Bulk Import in the left sidebar to display all the current GitHub repositories and GitLab projects that are being tracked as Import jobs, along with their status.

    Added
    The Git repository is added to the Developer Hub catalog after the import pull request is merged or if the Git repository already contained a catalog-info.yaml file during the bulk import. It can take a few minutes for the entities to be available in the catalog.
    Waiting for approval
    There is an open pull request or merge request adding a catalog-info.yaml file to the GitHub repository or GitLab project. You can:
  • Click pencil icon on the right to see details about the pull request or merge request. You can use the detailed view to edit the request content right from Developer Hub.
  • Delete the Import job, this action closes the import pull request or merge request as well.
  • To move the Import job to the Added state, merge the import pull request or merge request from the Git repository.

    Empty

    Developer Hub is unable to determine the import job status because the Git repository is imported from other sources but does not have a catalog-info.yaml file and lacks any import pull or merge request adding it.

    Note
    • After an import pull request or merge request is merged, the import status is marked as Added in the list of Added entities, but it might take a few seconds for the corresponding entities to appear in the Developer Hub Catalog.
    • A location added through other sources (for example, statically in an app-config.yaml file, dynamically when enabling GitHub discovery, or registered manually using the "Register an existing component" page) might show up in the Bulk Import list of Added Repositories if the following conditions are met:

      • The location URL points to a catalog-info.yaml file at the root of the Git repository default branch.
      • For GitHub only: The target repository is accessible from the configured GitHub integrations.

1.4. Monitor Bulk Import actions using audit logs

Review Bulk Import backend plugin audit log events to monitor repository import operations, track API requests, and troubleshoot import issues.

Procedure

  1. Access your Developer Hub backend logs where audit log events are recorded.
  2. Review the following Bulk Import audit log events to monitor repository operations:

    BulkImportUnknownEndpoint
    Tracks requests to unknown endpoints.
    BulkImportPing
    Tracks GET requests to the /ping endpoint, which allows us to make sure the bulk import backend is up and running.
    BulkImportFindAllOrganizations
    Tracks GET requests to the /organizations endpoint, which returns the list of organizations accessible from all configured GitHub Integrations.
    BulkImportFindRepositoriesByOrganization
    Tracks GET requests to the /organizations/:orgName/repositories endpoint, which returns the list of repositories for the specified organization (accessible from any of the configured GitHub Integrations).
    BulkImportFindAllRepositories
    Tracks GET requests to the /repositories endpoint, which returns the list of repositories accessible from all configured GitHub Integrations.
    BulkImportFindAllImports
    Tracks GET requests to the /imports endpoint, which returns the list of existing import jobs along with their statuses.
    BulkImportCreateImportJobs
    Tracks POST requests to the /imports endpoint, which allows to submit requests to bulk-import one or many repositories into the Developer Hub catalog, by eventually creating import pull requests in the target repositories.
    BulkImportFindImportStatusByRepo
    Tracks GET requests to the /import/by-repo endpoint, which fetches details about the import job for the specified repository.
    BulkImportDeleteImportByRepo

    Tracks DELETE requests to the /import/by-repo endpoint, which deletes any existing import job for the specified repository, by closing any open import pull request that could have been created.

    Example audit log output:

    {
      "actor": {
        "actorId": "user:default/myuser",
        "hostname": "localhost",
        "ip": "::1",
        "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36"
      },
      "eventName": "BulkImportFindAllOrganizations",
      "isAuditLog": true,
      "level": "info",
      "message": "'get /organizations' endpoint hit by user:default/myuser",
      "meta": {},
      "plugin": "bulk-import",
      "request": {
        "body": {},
        "method": "GET",
        "params": {},
        "query": {
          "pagePerIntegration": "1",
          "sizePerIntegration": "5"
        },
        "url": "/api/bulk-import/organizations?pagePerIntegration=1&sizePerIntegration=5"
      },
      "response": {
        "status": 200
      },
      "service": "backstage",
      "stage": "completion",
      "status": "succeeded",
      "timestamp": "2024-08-26 16:41:02"
    }

Chapter 2. Centralize your software components in the Red Hat Developer Hub catalog

The Red Hat Developer Hub Software Catalog is a centralized system that gives you visibility into all the software across your ecosystem, including services, websites, libraries, and data pipelines.

The metadata for the components in your Software Catalog is stored as YAML files that live alongside your code in your version control system. The version control repositories can include one or many metadata files. Software Catalog organizes items as entities, which include Components, Resources, and APIs, and other related types. Each entity includes associated metadata such as its owner, type, and other relevant details.

By storing metadata in YAML files alongside the code, you allow Red Hat Developer Hub to process and display this information through a clear, visual interface. With the Software Catalog, you can manage and maintain your software, stay aware of all software available in your ecosystem, and take ownership of your services and tools.

The Overview page for a component provides key information such as links to the source code, documentation, dependencies, and ownership details. You can customize this page with plugins to suit specific needs.

2.1. Add new components to your Red Hat Developer Hub instance

You can add new components to expand your Developer Hub Software Catalog by registering them manually, creating them from Software Templates, or using bulk import.

Prerequisites

  • You have installed and configured the Red Hat Developer Hub instance.
  • If RBAC is enabled, you have a role with the following permissions: catalog.entity.create, catalog.location.create, bulk.import.

Procedure

  • Add components to your RHDH instance using the following methods:

    • Register components manually using the GUI or by using your app-config.yaml with the required permissions.
    • Create new components by using Software Templates.
  • Use the bulk import plugin with the required permissions. For more information, see Bulk importing GitHub repositories.

2.1.1. Create new components in your Red Hat Developer Hub instance

You can create new components in the Software Catalog in your RHDH instance. Red Hat Developer Hub automatically registers all components that developers or platform engineers create using Templates in the Software Catalog.

Prerequisites

  • You have installed and configured the Red Hat Developer Hub instance.
  • If RBAC is enabled, you have a role with the following permissions: catalog.entity.create, scaffolder.template.parameter.read, scaffolder.template.step.read, scaffolder.task.create.

Procedure

  1. In your Red Hat Developer Hub navigation menu, click Catalog.
  2. On the Catalog page, click Self-service.

2.1.2. Register components manually in your RHDH instance

To manually register components in your RHDH instance, create a catalog-info.yaml file and register it with your Red Hat Developer Hub instance.

Prerequisites

  • You have installed and configured the Red Hat Developer Hub instance.
  • If RBAC is enabled, you have a role with the following permissions: catalog.entity.create, catalog.location.create.

Procedure

  1. In the root directory of your software project, create a file named catalog-info.yaml.

    apiVersion: backstage.io/v1alpha1
    kind: Component
    metadata:
        name: _<your_software_component>_
        description: _<software_component_brief_description>_
        tags:
             - example
             - service
        annotations:
             github.com/project-slug: _<repo_link_of_your_component_to_register>_
    spec:
        type: _<your_service>_
        owner: _<your_team_name>_
        lifecycle: _<your_lifecycle>_
  2. Commit the catalog-info.yaml file to the root of your project source code repository.
  3. In your Red Hat Developer Hub navigation menu, go to Catalog > Self-service.
  4. On the Self-service page, click Register Existing Component.
  5. On the Register an existing component page, enter the full URL of the catalog-info.yaml file in your repository. For example: Artist lookup component.
  6. Complete the wizard instructions.

Verification

  • Your software component is listed in the Software Catalog. You can view its details and ensure all the metadata is accurate.

2.2. Update existing components in your Red Hat Developer Hub catalog

You can update components in the Software Catalog in your Red Hat Developer Hub instance.

Prerequisites

  • You have installed and configured the Red Hat Developer Hub instance.
  • If RBAC is enabled, you have a role with the following permission: catalog.entity.refresh.

Procedure

  1. In your Red Hat Developer Hub navigation menu, click Catalog.
  2. Find the software component that you want to edit, under Actions, click the Edit icon.

    Note

    This action redirects you to the YAML file on GitHub.

  3. On your remote repository UI, update your YAML file.

    Note

    After you merge your changes, the updated metadata in the Software Catalog is displayed after some time.

2.3. Find components by Kind in the Red Hat Developer Hub catalog

Filter the Software Catalog to display components by their type, such as Component, API, or Template.

Prerequisites

  • You are logged in to the RHDH instance.

Procedure

  1. In your Red Hat Developer Hub navigation menu, click Catalog.
  2. On the Catalog page, click the Kind drop-down list.
  3. Select the Kind you want to filter by, such as Component, API, or Template.

    Note

    The available filter lists change based on the Kind you select, showing options relevant to that entity type.

Verification

  • The Catalog updates to list only the components matching the selected Kind.

2.4. Filter components by text in the Red Hat Developer Hub catalog

Search and filter components by text in the Software Catalog to quickly locate specific services, libraries, or other entities.

Procedure

  1. In your Red Hat Developer Hub navigation menu, click Catalog.
  2. In the Search field, enter a component name, description, or keyword that you are looking for.

Verification

  • The Catalog list updates to display only components matching your search criteria.

2.5. Review the YAML configuration of your Red Hat Developer Hub Software Catalog

You can view the Software Catalog YAML file in your Red Hat Developer Hub instance to review the metadata for the components in your Software Catalog.

Procedure

  1. In your Red Hat Developer Hub navigation menu, click Catalog.
  2. Find the software component that you want to view, under Actions, click the View icon.

    Note

    These steps redirect you to the YAML file on your remote repository.

2.6. Star key components in the Software Catalog

You can add commonly used components to the Your Starred Entities card for quick access.

Procedure

  1. In the Red Hat Developer Hub navigation menu, select Catalog.
  2. Locate the components you want to add as a favorite.
  3. In the Actions column for that component, click the Add to favorites (star) icon.

Verification

  • Navigate to the Home page and verify that the Your Starred Entities card lists the component.

Chapter 3. Import and use an existing Software Template for faster development

To standardize and accelerate the creation of new software, use Software Templates in Red Hat Developer Hub (RHDH).

Each template uses a YAML definition to present a functional interface for inputting project metadata. Software Templates run a sequential series of actions, such as scaffolding code or creating repositories, which you can configure to run conditionally based on user input.

3.1. Create a software component using Software Templates

To ensure project consistency and reduce manual configuration time, use Software Templates to create new components.

Prerequisites

  • You log in to the Red Hat Developer Hub instance.
  • If RBAC is enabled, you have a role with the following permissions: scaffolder.template.parameter.read, scaffolder.template.step.read, scaffolder.task.create.

Procedure

  1. On the Red Hat Developer Hub navigation menu, click Catalog > Self-service or in the Global Header, click Create (+).
  2. On the Self-service page, locate the Templates you want to use and click Choose to start the scaffolding process.
  3. Follow the wizard instructions to enter the required project details.
  4. In the Review step, verify your parameters and click Create.

    The scaffolding process begins. You can monitor the progress in the logs or click Cancel to stop the operation.

Verification

  • If the system creates the component successfully, a success page is displayed.

    Successful template creation page

Troubleshooting

  • If the creation process fails, you must review the logs on the error page for specific failure details.
  • To retry, click Start Over; the system keeps your earlier entered values on the Self-service page.

    Failed template creation page

3.2. Search and filter Software Templates in your Red Hat Developer Hub instance

Search and filter the available Software Templates to quickly locate the correct configuration for your project.

Procedure

  1. In the Red Hat Developer Hub navigation menu, click Catalog > Self-service.
  2. In the Search field, enter the name for the Software Template.
  3. Optional: To refine the results, select a category from the Category list.

3.3. Import an existing Software Template

You can use the Catalog Processor to import an existing Software Template into your Red Hat Developer Hub instance.

Prerequisites

  • You have created a directory or repository that has at least one template YAML file or have access to such a directory or repository.
  • Optional: To use a template stored in GitHub, you have configured Developer Hub integration with GitHub.

Procedure

  1. Open your RHDH app-config.yaml configuration file.
  2. In the catalog.rules section, add a rule to allow Templates kinds, as shown in the following example:

    # ...
    catalog:
      rules:
        - allow: [Template]
      locations:
        - type: url
          target: https://<repository_url/template-name>.yaml
    # ...

    where:

    catalog.rules.allow
    Specify the Template rule to allow new Software Templates in the catalog.
    catalog.locations.type
    Specify the url type when importing templates from a repository (for example, GitHub or GitLab).
    catalog.locations.target
    Specify the full URL to the template file.

Verification

  1. In the Red Hat Developer Hub navigation menu, click Catalog.
  2. From the Kind list, select Template.
  3. Verify that the Template list displays your template.

3.4. Additional resources

Chapter 4. Author software templates with AI assistance

To produce convention-compliant Red Hat Developer Hub (RHDH) software templates, use the community rhdh-templates agent skill. You can convert existing code, author templates from scratch, and validate them before you publish to the catalog.

4.1. The rhdh-templates skill for AI-assisted authoring

To author golden-path Red Hat Developer Hub (RHDH) software templates with fewer errors, use the rhdh-templates skill. The skill encodes Scaffolder conventions, common gotchas, and parameter widgets so that new adopters produce convention-compliant templates.

Note

The rhdh-users-skill-pack is a community tool distributed under an open-source license. It does not require a Red Hat subscription.

The rhdh-templates skill is a community agent skill in the rhdh-users-skill-pack repository. It works with Claude Code, Cursor, Codex, and many other coding agents. You describe your goal in plain language, and the skill guides you through authoring and validating a Red Hat Developer Hub software template.

A software template is a kind: Template entity that the Scaffolder processes. Each template combines the following artifacts:

  • template.yaml: metadata, the parameter form (spec.parameters), the actions to run (spec.steps), and outputs (spec.output).
  • skeleton/: the files copied into the generated repository, with Nunjucks placeholders in place of substituted values.
  • location.yaml: a kind: Location entity at the repository root that registers your templates for catalog import.

With AI guidance, you can perform the following tasks:

  • Convert an existing codebase into a parameterized template.
  • Author a template from scratch.
  • Add parameters, steps, and skeleton files incrementally.
  • Validate a template locally before you confirm Scaffolder execution against a running instance.

4.2. Install the rhdh-templates skill

To give your coding agent Red Hat Developer Hub template expertise, install the rhdh-templates skill from the community skill pack. After installation, the agent loads the skill automatically when you ask it to author or validate a template.

Note

The rhdh-users-skill-pack is a community tool distributed under an open-source license. It does not require a Red Hat subscription.

Prerequisites

  • You have a supported coding agent installed, such as Claude Code, Cursor, or Codex.
  • You have Node.js and npx available in your environment.

Procedure

  1. Optional: To see the skills available in the pack before you install, run the following command:

    npx skills add redhat-developer/rhdh-users-skill-pack --list
  2. To install only the rhdh-templates skill, run the following command:

    npx skills add redhat-developer/rhdh-users-skill-pack --skill rhdh-templates

    To install the full skill pack, omit the --skill flag.

  3. Optional: To target a specific agent, add the -a flag. For example:

    npx skills add redhat-developer/rhdh-users-skill-pack -a claude-code

Verification

  • In your agent, ask it to use the skill. For example: Use the rhdh-templates skill to validate my template.yaml. The agent loads the skill and prompts you for the next step.

Additional resources

4.3. Set up a template authoring environment

To author templates in the layout that Red Hat Developer Hub expects, set up a repository first. The init command checks your tools, scaffolds a starter template, and creates the root location.yaml.

Prerequisites

  • You have installed the rhdh-templates skill.
  • git is available in your environment.

Procedure

  1. Ask your agent to run the init command from your target directory to check your tools, scaffold the template repository layout, and create the root location.yaml.
  2. Optional: Ask your agent to also check connectivity to a running instance, and provide the instance URL.
  3. Review the reported results, including any missing tools, the scaffolded paths, and the connectivity status.

    Note

    For the recommended development loop, install djlint so that local validation can lint Nunjucks in skeleton files. If a running instance is unreachable, local authoring and validation still work.

Verification

  1. The templates/ directory exists and has at least one template folder.
  2. A root location.yaml exists with the target ./templates/**/template.yaml.
  3. The init script exits with code 0 (ready) or 1 (layout created, but optional tools or RHDH are unavailable).

Additional resources

4.4. Convert a codebase into a software template

To reuse a working project as a golden path, convert it into a parameterized software template instead of writing one from scratch. The templatize workflow analyzes your code, proposes the values to parameterize, and builds the template only after you confirm the mapping.

Prerequisites

  • You have installed the rhdh-templates skill and set up a template repository.
  • You have a local copy of the source codebase to convert.

Procedure

  1. Ask your agent to templatize the codebase, specifying the source path. The skill runs a deterministic analyzer to detect the project type and candidate literals.
  2. Review the candidate table that the skill presents. For each value, choose to parameterize it, keep it literal, or skip it. Parameterize identity values such as component name and owner; keep framework defaults literal.
  3. Confirm the parameter mapping. Only after your confirmation does the skill create the skeleton/ directory, copy your source files, and replace confirmed values with ${{ values.<param> }} placeholders.
  4. Confirm that the skill generates template.yaml with your parameters and a typical fetch:template, publish, and catalog:register step sequence.
  5. Ask your agent to register the template by generating or updating the root location.yaml.

Verification

  1. The templates/<name>/ directory has template.yaml and a skeleton/ directory, and the root location.yaml registers the template.
  2. Skeleton files reference ${{ values.* }}, not ${{ parameters.* }}.
  3. Local validation reports zero critical findings. See Validate a software template locally.

Additional resources

4.5. Create a software template from scratch

When no reference codebase exists, create a software template from scratch with AI guidance on Red Hat Developer Hub conventions. The create workflow gathers your intent, suggests reference examples, and builds a minimal but complete template that passes validation.

Prerequisites

  • You have installed the rhdh-templates skill and set up a template repository.

Procedure

  1. Ask your agent to create a template. When prompted, provide the golden path the template enables, the target entity type, the required form fields, the steps to include, and your source control provider.
  2. Review the reference examples that the skill suggests for your stack. You can mirror an example’s step sequence or start from the bundled minimal template.
  3. Confirm that the skill builds the template directory with template.yaml, a skeleton/ directory, and an optional README.md. In skeleton files, values use the ${{ values.* }} prefix, which the fetch:template action requires.
  4. Ask your agent to register the template by generating or updating the root location.yaml.

Verification

  1. The template.yaml is a valid v1beta3 template with parameters, steps, and outputs appropriate to your use case.
  2. The skeleton/ directory has at least one templated file, and location.yaml lists the new template.
  3. Local validation and gotcha checks report zero critical findings. See Validate a software template locally.

Additional resources

4.6. Validate a software template locally

To catch template errors before they reach a running instance, validate locally with no Red Hat Developer Hub connection required. The validate command runs YAML schema, gotcha, and optional Nunjucks checks so you can fix issues early and avoid failed catalog imports.

Prerequisites

  • You have installed the rhdh-templates skill and authored a template.
  • Optional: djlint is installed for Nunjucks linting of skeleton files.

Procedure

  1. Ask your agent to validate your template directory, including the root location.yaml.
  2. Ask your agent to lint Nunjucks in the skeleton files.
  3. Ask your agent to auto-fix common issues, such as missing {% raw %} blocks or wrong action ID casing.
  4. Address any remaining findings manually, then ask your agent to validate the template again.

Verification

  1. Validation reports ok: true with a critical count of 0. Critical findings, such as a wrong apiVersion or invalid action casing, cause failures in the Template Editor.
  2. You reviewed all warnings and decided whether to fix them before merging.

Additional resources

4.7. Test a template against a running RHDH instance

To confirm that the Scaffolder runs your template correctly before you publish it, test it against a running Red Hat Developer Hub (RHDH) instance. Use list-actions to verify action IDs, then use dry-run to run the template without creating real resources.

Prerequisites

  • You have installed the rhdh-templates skill and validated the template locally with zero critical findings.
  • A running RHDH instance with the Scaffolder v2 API is reachable from your environment.
  • A bearer token is available through the RHDH_TOKEN environment variable or the --token flag.

Procedure

  1. Ask your agent to list the Scaffolder actions installed on your instance to confirm the exact action IDs used in your template.
  2. Create a JSON file of sample parameter values that match spec.parameters. Use fake data, not real tokens or production identifiers.
  3. Ask your agent to run a dry-run of the template against your instance, and provide the sample values.

Verification

  1. The dry-run completes with exit code 0.
  2. The log shows the expected steps, especially fetch:template, and reports the generated file count.

Troubleshooting

  • A 401 or 403 response indicates a missing or expired token. Supply a valid token.
  • An Action not found error indicates a wrong action ID. Re-run list-actions and correct the action field.
  • Empty skeleton output indicates a missing fetch:template step or wrong values wiring. Re-run local validation and fix the step.
Note

A dry-run simulates mutation steps such as publish and catalog:register. Full end-to-end verification still requires running the template in RHDH.

Additional resources

4.8. rhdh-templates skill commands

The rhdh-templates skill routes your request to a subcommand based on your goal. Each command maps to a task, from initial setup through local validation and remote testing.

Table 4.1. rhdh-templates skill commands

CommandDescription

init

Check required tools, scaffold the template repository layout, and optionally probe RHDH connectivity.

templatize

Convert an existing codebase into a parameterized template. This is the most common workflow.

create

Author a template from scratch when no reference code exists.

add-parameter

Add a parameter or parameter group to an existing template.yaml.

add-step

Add a Scaffolder step to an existing template.yaml.

add-skeleton

Add or parameterize skeleton files with Nunjucks.

create-location

Generate or update the root location.yaml for catalog registration.

fix-gotchas

Auto-fix common template mistakes, such as missing {% raw %} blocks or wrong action ID casing.

validate

Run local YAML schema, gotcha, and optional Nunjucks checks without a running instance.

list-actions

List the Scaffolder actions available on a running RHDH instance.

dry-run

Test template execution through the Scaffolder v2 dry-run API.

explain-action

Show the input schema for an action or the parameter schema for a template.

examples

Browse curated reference templates from the official library and bundled examples.

Legal Notice

Copyright © 2026 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.