Skip to content

fix: DynamoDB Table Template not visible in Backstage Create page #727

Description

@csantanapr

Problem

The DynamoDB Table Template ACK with KRO (ddb-table-template-ack-kro) never appears in the Backstage Create page after participants follow the lab instructions in Module 1 Section 4 (Generate Backstage Templates for DynamoDB).

The lab instructs participants to register the template via Backstage's catalog import UI by providing the URL to platform/backstage/customtemplates/catalog-info.yaml. The Analyze step appears to succeed (the entity is shown), but clicking Import silently fails — no new Location entity is created in the catalog, and the template never appears.

Confirmed by checking /backstage/catalog?filters[kind]=location — after 8+ hours and multiple import attempts, no Location entity pointing to customtemplates/catalog-info.yaml was ever created.

Root Cause Analysis

The Backstage catalog import UI submits a /blob/main/... GitLab URL. The frontend Analyze step works because it makes a direct HTTP request. However, the backend catalog processor silently fails to store the Location entity and cannot resolve the relative target path (./ddb-table/template.yaml) from the GitLab blob URL.

All other working Location entities in this workshop (S3, Rust CI/CD, Java CI/CD) were created via Backstage scaffold actions that use the configured GitLab integration directly — not via the manual import UI. The manual import path is not reliable for this GitLab instance.

Proposed Fix

Add ../customtemplates/ddb-table/template.yaml directly to the existing working Location entity in platform/backstage/templates/catalog-info.yaml. This file is already continuously polled by Backstage's catalog processor, so the template will be picked up automatically on the next poll cycle (~1-2 min after deploy).

# platform/backstage/templates/catalog-info.yaml
spec:
  targets:
    # ... existing targets ...
    - ./platform-entities.yaml
    - ../customtemplates/ddb-table/template.yaml  # add this line

Verification

Fix tested end-to-end in workshop environment:

  • Template loads at /backstage/create/templates/default/ddb-table-template-ack-kro
  • Template submitted with Table Name: peeks-table, Environment: dev
  • All 7 Backstage stages completed (GitLab repo created, ArgoCD app created) ✅
  • peeks-table DynamoDB table confirmed in aws dynamodb list-tables

Affected File

platform/backstage/templates/catalog-info.yaml

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions