Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] feat(marketplace): add marketplace providers #240

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

christoph-jerolimov
Copy link
Member

@christoph-jerolimov christoph-jerolimov commented Jan 6, 2025

Hey, I just made a Pull Request!

This PR is WIP and adds a first version of a Marketplace CLI and additional Providers to the catalog module.

CLI

You can run the CLI from the marketplace workspace:

./packages/marketplace-cli/bin/marketplace-cli extract quay.io/janus-idp/backstage-showcase:next
Extract quay.io/janus-idp/backstage-showcase:next
Extracting from OCI image quay.io/janus-idp/backstage-showcase:next

apiVersion: marketplace.backstage.io/v1alpha1
kind: Plugin
metadata:
  name: janus-idp/backstage-showcase
  title: janus-idp/backstage-showcase
  description: Minimal image for running Node.js 20 applications
spec:
  type: frontend-plugin
  lifecycle: unknown
  owner: author
  developer: Red Hat, Inc.
  description: Node.js 20 available as container is a base platform for running
    various Node.js 20 applications and frameworks. Node.js is a platform built
    on Chrome's JavaScript runtime for easily building fast, scalable network
    applications. Node.js uses an event-driven, non-blocking I/O model that
    makes it lightweight and efficient, perfect for data-intensive real-time
    applications that run across distributed devices.
./packages/marketplace-cli/bin/marketplace-cli extract @backstage-community/plugin-tekton      
Extract @backstage-community/plugin-tekton
Extracting from NPM package @backstage-community/plugin-tekton
Found version 3.17.0

apiVersion: marketplace.backstage.io/v1alpha1
kind: Plugin
metadata:
  name: "@backstage-community/plugin-tekton"
  title: "@backstage-community/plugin-tekton"
  links:
    - url: https://red.ht/rhdh
      title: Homepage
    - url: https://github.com/backstage/community-plugins/issues
      title: Bugs
      type: bug-tracker
spec:
  type: frontend-plugin
  lifecycle: unknown
  owner: author
  developer: Red Hat
  keywords:
    - support:production
    - lifecycle:active
    - kubernetes
    - tekton
    - backstage
    - plugin
  description: ""
  installation:
    markdown: |
      # Installation

      ```
      yarn install @backstage-community/plugin-tekton
      ```

Providers

Microsite

The incl. backstage app (yarn dev) currently imports all packages from the backstage repository (currently hard coded in plugins/catalog-backend-module-marketplace/src/providers/MarketplaceMicrositeProvider.ts, I will address that next)

image

OCI

WIP

NPM

WIP

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or Updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)

@rhdh-gh-app
Copy link

rhdh-gh-app bot commented Jan 6, 2025

Changed Packages

Package Name Package Path Changeset Bump Current Version
backend workspaces/marketplace/packages/backend none v0.0.0
@red-hat-developer-hub/marketplace-cli workspaces/marketplace/packages/marketplace-cli none v0.0.0
@red-hat-developer-hub/backstage-plugin-catalog-backend-module-marketplace workspaces/marketplace/plugins/catalog-backend-module-marketplace none v0.0.0
@red-hat-developer-hub/backstage-plugin-marketplace-backend workspaces/marketplace/plugins/marketplace-backend none v0.0.0
@red-hat-developer-hub/backstage-plugin-marketplace-common workspaces/marketplace/plugins/marketplace-common none v0.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant