Edit Template
Modify the sample namespace template to create a new namespace template that suit the needs of the organization and developers.
- In Backstage, click Create.
 - Click the actions icon (upper-right), then select Template Editor.
 - Click Edit Template Form.
 - Click the Load Existing Template field, then select the Create Namespace template.
 - In the text editor, modify the settings for creating a namespace.
 - In the preview pane, test your modifications. For example, type a name and description for the namespace template. If the template has multiple steps, click Next Step.
 
Example Namespace TemplateΒΆ
parameters:
  - title: Component Details
    required:
      - name
      - description
    properties:
      name:
        title: Name
        type: string
        description: Unique name of the component
        ui:field: EntityNamePicker
        ui:autofocus: true
      description:
        title: Description
        type: string
        description: A description for the component
      owner:
        title: Owner
        type: string
        description: Owner of the component
        ui:field: OwnerPicker
        ui:options:
          allowedKinds:
            - Group
      project:
        title: Project
        type: string
        description: The project to be used
        default: 12345abcde
        enum:
          - 12345abcde
          - fghij67890
        enumNames:
          - demos
          - defaultproject
      clusters:
        title: Clusters
        type: array
        items:
          type: string
        description: Select the clusters where you wish to deploy your namespace
      labels:
        title: Cluster Labels
        type: array
        items:
          type: object
          properties:
            key:
              type: string
            value:
              type: string
        description: Select the cluster labels where you wish to deploy your namespace
  - title: Choose a location
    required:
      - repoUrl
    properties:
      repoUrl:
        title: Repository Location
        type: string
        ui:field: RepoUrlPicker
        ui:options:
          allowedHosts:
            - github.com
steps:
  - id: create-namespace
    name: Create Namespace
    action: rafay:create-namespace
    input:
      project: ${{ parameters.project }}
      name: ${{ parameters.name }}
      clusters: ${{ parameters.clusters }}
      labels: ${{ parameters.labels }}
  - id: fetch
    name: Template Skeleton
    action: fetch:template
    input:
      url: ./skeleton
      values:
        name: ${{ parameters.name }}
        description: ${{ parameters.description }}
        destination: ${{ parameters.repoUrl | parseRepoUrl }}
        owner: ${{ parameters.owner }}
        project: ${{ parameters.project }}
        clusters: ${{ parameters.clusters }}
  - id: publish
    name: Publish
    action: publish:github
    input:
      allowedHosts:
        - github.com
      description: This is ${{ parameters.name }}
      repoUrl: ${{ parameters.repoUrl }}
  - id: register
    name: Register
    action: catalog:register
    input:
      repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
      catalogInfoPath: /catalog-info.yaml
output:
  links:
    - title: Repository
      url: ${{ steps.publish.output.remoteUrl }}
    - title: Open in catalog
      icon: catalog
      entityRef: ${{ steps.register.output.entityRef }}