Setting up Software Templates

45 MINS

Anatomy of a Software Template

There are two elements of a Software Template - a template.yaml definition file and a skeleton directory containing all the necessary files and directories.

The template.yaml file is where all metadata about the template is defined like its name, inputs to ask from the user, steps involved in templating, location to the skeleton files and directories, etc.

For a Software Template to be registered in Backstage, the location of template.yaml needs to be tracked by the Software Catalog. After creating your Backstage instance using @backstage/create-app script, you might find some of the default templates already added via app-config.yaml, like this:

catalog:
  locations:
    # Backstage example templates
    - type: url
      target: https://github.com/backstage/software-templates/blob/main/scaffolder-templates/react-ssr-template/template.yaml
      rules:
        - allow: [Template]

Explore existing templates

Go to https://github.com/backstage/software-templates to find the Software Templates hub where the community has submitted different types of templates. This can be useful when writing your own software templates for your organization.