0.1.1 • Published 5 months ago

@falupi22/plugin-komodor v0.1.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
5 months ago

Komodor Plugin

Setup

  1. Run:
# From your Backstage root directory
yarn --cwd packages/app add @falupi22/plugin-komodor
yarn --cwd packages/backend add @falupi22/plugin-komodor-backend
yarn --cwd packages/app add @backstage/plugin-kubernetes
yarn --cwd packages/backend add @backstage/plugin-kubernetes-backend
  1. Add the plugin backend:

In a new file named komodor.ts under backend/src/plugins:

import { createRouter } from '@falupi22/plugin-komodor-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';

export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  return await createRouter({
    logger: env.logger,
    config: env.config,
  });
}

And then add to packages/backend/src/index.ts:

// In packages/backend/src/index.ts
import komodor from './plugins/komodor';
// ...
async function main() {
  // ...
  const komodorEnv = useHotMemoize(module, () => createEnv('komodor'));
  // ...
  apiRouter.use('/komodor', await komodor(komodorEnv));
  1. Add the plugin as a tab to your service entities:
// In packages/app/src/components/catalog/EntityPage.tsx
import { EntityKomodorContent } from '@falupi22/plugin-komodor';

const serviceEntityPage = (
  <EntityLayout>
    {/* other tabs... */}
    <EntityLayout.Route path="/komodor" title="Komodor">
      <EntityKomodorContent />
    </EntityLayout.Route>
  1. Follow the instructions for kubernetes plugin setup (notice that the installation of it has already been done). You don't have to make the plugin appear in the UI in order to make this plugin work.

  2. Follow the backend instructions which can be found in the README file of the backend project.

Run

In order to run the full system, run yarn dev from the root directory. In order to run the front end only, run yarn start. In order to run the back end only, run yarn start-backend.