0.1.13 • Published 8 months ago

@k3tech/backstage-plugin-frontend-addons v0.1.13

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
8 months ago

Entity Addons

With this plugin will able to filter and extend components capabilities with Addons concept.

alt text

Getting started

Config plugin

Update <backstage-home>/packages/app/src/components/catalog/EntityPage.tsx:

...
import { EntityAddonsContent } from '@k3tech/backstage-plugin-frontend-addons';
...
const defaultEntityPage = (
  <EntityLayout>
    ...
    <EntityLayout.Route path="/addons" title="Addons">
      <EntityAddonsContent variant="gridItem" />
    </EntityLayout.Route>
    
  </EntityLayout>
);

Config addons template bindings

Update an catalog-info.yaml:

...
metadata:
  annotations:
    backstage.io/template-origin: template:default/my-template-origin-name

Create new template like this:

apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  name: my-template-origin-name-addon
  title: My Addon
  description: My Addon
  annotations:
    backstage.io/addon-of: template:default/my-template-origin-name
spec:
  type: Service
  parameters:
    - title: Component
      required:
        - component_ref
        - domain_name
      properties:
        component_ref:
          title: Component
          type: string
          description: Filter only compatible components
          ui:field: EntityPicker
          ui:options:
            defaultNamespace: z # force to aways bind full entity ref {kind}:{namespace}/{name}
            allowedKinds:
              - Component
            catalogFilter:
              - kind: ['Component']
                'metadata.annotations.backstage.io/template-origin': 'template:default/my-template-origin-name'

        domain_name:
          title: Domain Name
          type: string
          ui:field: ChicInput
          description: |
            <b>{{domain_name | title | replace(r/[ _,]+/, '')}}</b>.cs <br/>
            Implementations/<b>{{domain_name  | title | replace(r/[ _,]+/, '')}}</b>Service.cs <br/>
            I<b>{{domain_name | title | replace(r/[ _,]+/, '')}}</b>Service.cs <br/>

  steps:
    - id: infos
      name: Carregando informações
      action: catalog:fetch
      input:
        entityRef: ${{ parameters.component_ref }}

    # see 
    # https://github.com/kode3tech/k3t-backstage-plugin-scaffolder-backend-module-plus/blob/HEAD/exemples.md#varsplus
    - id: vars
      name: Memo Vars
      action: vars:plus
      input:
        domain_name: ${{ parameters.domain_name }}
        pascal_name: ${{ parameters.domain_name | title | replace(r/[ _,]+/, '') }}
        repoUrl: ${{ steps.infos.output.entity.metadata.annotations["backstage.io/repo-url"] }}
        
    - id: debug:template:fields
      action: debug:log
      name: Debug Template Fields
      input: 
        vars: ${{ steps.vars.output.result }}

    # see
    # https://github.com/kode3tech/k3t-backstage-plugin-scaffolder-backend-module-azure-devops/blob/main/exemples.md#gitcloneazure
    - id: source
      name: 'Fetch Source'
      action: git:clone:azure
      input:
        defaultBranch: main
        repoUrl: ${{ steps.vars.output.result.repoUrl }}

    - id: fetch-template
      name: Fetch Template
      action: fetch:template
      input:
        url: ./skeleton
        targetPath: ./
        replace: true
        values: ${{ steps.vars.output.result }}

    # see
    # https://github.com/kode3tech/k3t-backstage-plugin-scaffolder-backend-module-azure-devops/blob/main/exemples.md#gitcommitazure
    - id: commit
      name: 'Commit and Push changes'
      action: git:commit:azure
      input:
        createBranch: false
        defaultBranch: "feat/domain-${{ steps['vars'].output.result.pascal_name }}"
        commitMessage: "feat: add domain ${{ steps['vars'].output.result.pascal_name }}"
        gitAuthorName: 'Backstage'


  output:
    links:
      - title: Repository
        url: ${{ steps.vars.output.result.repoUrl }}

      - title: Open in catalog
        icon: catalog
        entityRef: ${{ parameters.component_ref }}
0.1.13

8 months ago

0.1.12

8 months ago

0.1.11

8 months ago

0.1.10

8 months ago

0.1.9

8 months ago