Skip to content

Catalog Registration

Use catalog.entity.register when a mold should add the created service to the Shoehorn catalog.

Registers or updates a catalog entity.

steps:
- id: register-entity
name: Register in catalog
action: catalog.entity.register
if: "${{ inputs.registerCatalog }}"
inputs:
service_id: "${{ inputs.name }}"
name: "${{ inputs.name }}"
type: service
description: "${{ inputs.description }}"
lifecycle: experimental
owner: "${{ inputs.team }}"
tags:
- golang
- service
links:
- name: Repository
url: "${{ steps.create-repo.output.html_url }}"
icon: GitHub

Inputs:

InputRequiredDescription
service_idYesStable catalog ID
nameYesDisplay name
typeYesEntity type, such as service
descriptionNoDescription shown in the catalog
lifecycleNoLifecycle value, such as experimental or production
ownerNoOwning team or user
tagsNoCatalog tags
linksNoRelated links shown on the entity

If registration is optional in the form, add if: "${{ inputs.registerCatalog }}" to the step. Without the condition, Forge runs the step even when the form field is unchecked.

The catalog expects at least one owner when an entity is registered. Make the owner/team field required when catalog registration is always enabled.