Ozone Backstage Plugin

ozone

Welcome to the ozone plugin!

Setup

  1. Generate the service account token

    Create a role for your service account with the following permissions

    • Applications.List

    • Applications.Get

    • Pipelines.List

    • Pipelines.Get

    • Pipelines.Execute

    • Releases.List

    • Releases.Get

    • Releases.Execute

    • PipelineRun.List

    • PipelineRun.Get

    • ReleaseRun.List

    • ReleaseRun.Get

    • Registries.List

    • Registries.Get

    • Repositories.List

    • Repositories.Get

  1. Add the dependency for ozone plugin

# From your Backstage root directory
yarn add --cwd packages/app @ozonenpm/plugin-ozone
  1. Add proxy config

use the following proxy format to expose your api token

proxy:
  ### Example for how to add a proxy endpoint for the frontend.
  ### A typical reason to do this is to handle HTTPS and CORS for internal services.
  # '/test':
  #   target: 'https://example.com'
  #   changeOrigin: true
  '/ozone':
    target: '<ozone-api-url>'
    headers:
      'authorization': '<your auth-token>'
    allowedHeaders:
      - x-workspace-id

Usage

PipelineRun List plugin

Add the EntityOzonePipelineRunContent extension to the entity page in your app:

// In packages/app/src/components/catalog/EntityPage.tsx
import {EntityOzonePipelineRunContent} from '@ozonenpm/plugin-ozone';

// For example in the CI/CD section
const cicdContent = (
  <EntitySwitch>
    <EntitySwitch.Case if={isozonePluginAvailable}>
      <EntityOzonePipelineRunContent />
    </EntitySwitch.Case>

Screenshots

Ozone Resource Plugin

Ozone plugin outside the catalog

  • This will be dependent on the workspace selection

  • This component will have Tabs of Microservice, Repository, Registry, pipelines

  • On click of tabs will route to the lists accordingly

Screenshots

Features

  • Lists all the Builds,microservices,registry,repository for particular workspace

  • Dive into one build to see the tasks and steps

  • logs

Last updated

#141:

Change request updated