Kubernetes GPT Analyzer logo

Backstage VeeCode Kubernetes GPT Analyzer Plugin

Created by VeeCode

VeeCode Kubernetes GPT Analyzer adds AI driven insight to your Kubernetes entities inside Backstage. It works with the Backstage Kubernetes plugin and the k8sgpt operator to scan resources tied to each catalog entity. The plugin looks for errors and common failure patterns. It explains what it finds in plain language and suggests ways to fix issues.

You get two views. A small status card shows how many errors the analyzer found for the current entity with a quick link to details. The full page lists each issue with context and suggested actions. You can open an item to see a focused analysis. The plugin can run checks on a schedule. The default cadence is about 16 minutes. Teams can adjust it to fit their needs.

Typical use is daily triage for services running on Kubernetes. During an incident, it helps you move from an alert to a likely cause with steps to try. During reviews, it helps you spot configuration problems across namespaces. For new services, it gives early feedback before issues reach production. The result is faster diagnosis inside the place you already use for ownership and docs. If you run a self hosted Backstage and want quick Kubernetes feedback in context, this plugin gives you that with clear, actionable output.

Installation Instructions

These instructions apply to self-hosted Backstage only.

Step 1 Install the package

If you use Yarn 3.x run

Copy
yarn workspace app add @veecode-platform/backstage-plugin-kubernetes-gpt-analyzer

If you use another Yarn version run

Copy
yarn add --cwd packages/app @veecode-platform/backstage-plugin-kubernetes-gpt-analyzer

Make sure your Backstage app already has the Kubernetes plugin configured and working. The cluster must run k8sgpt operator with your OpenAI API key set.

Step 2 Add the page and card to your app

Edit packages app src components catalog EntityPage.tsx. Import the components from the plugin. Then add the card to your overview. Add the page route under the Entity layout.

Imports

Copy
// packages/app/src/components/catalog/EntityPage.tsx
import React from 'react';
import { Grid } from '@material-ui/core'; // or from @mui/material based on your app
import { EntityLayout } from '@backstage/plugin-catalog';
import {
  isKubernetesAvailable,
  KubernetesGptAnalyzerCard,
  KubernetesGptAnalyzerPage,
} from '@veecode-platform/backstage-plugin-kubernetes-gpt-analyzer';

Place the card inside your overview content

Copy
// inside your existing overviewContent or a similar section
<Grid container spacing={3}>
  <Grid item md={7} sm={12}>
    <KubernetesGptAnalyzerCard />
  </Grid>
</Grid>

Add the page route under the entity layout

Copy
// inside your EntityPage component render
<EntityLayout>
  {/* your other routes */}
  <EntityLayout.Route
    if={isKubernetesAvailable}
    path="/kubernetes-gpt-analyzer"
    title="Kubernetes GPT"
  >
    <KubernetesGptAnalyzerPage />
  </EntityLayout.Route>
</EntityLayout>

Do not change the route path. Keep path set to /kubernetes-gpt-analyzer

Step 3 Grant Kubernetes RBAC to read k8sgpt results

Add these rules to the ClusterRole that Backstage uses for the Kubernetes plugin

Copy
- apiGroups:
  - core.k8sgpt.ai
  resources:
  - results
  verbs:
  - get
  - list

Step 4 Optional set the analysis interval

Both the card and the page accept an intervalsMs prop in milliseconds. The default is 1000000

Example shorter interval for the page

Copy
<EntityLayout.Route
  if={isKubernetesAvailable}
  path="/kubernetes-gpt-analyzer"
  title="Kubernetes GPT"
>
  <KubernetesGptAnalyzerPage intervalsMs={15000} />
</EntityLayout.Route>

Example shorter interval for the card

Copy
<Grid container spacing={3}>
  <Grid item md={7} sm={12}>
    <KubernetesGptAnalyzerCard intervalsMs={15000} />
  </Grid>
</Grid>

Short intervals can increase your OpenAI API usage

Backend setup

This plugin ships only a frontend UI. No extra backend package is required for it. Your app still needs the Backstage Kubernetes backend plugin configured so the UI can read Kubernetes resources. Keep the Kubernetes backend as you already run it in the new backend system. The RBAC rule above must be present in the cluster role used by the Kubernetes plugin

Where you will see it in Backstage

You will see the Kubernetes GPT Analyzer card on the entity overview you placed it in. You will also see a Kubernetes GPT tab on the entity page due to the route with title Kubernetes GPT. The tab path is /kubernetes-gpt-analyzer within the entity page

Changelog

This changelog is produced from commits made to the Kubernetes GPT Analyzer plugin since a year ago, and based on the code located here. It may not contain information about all commits. Releases and version bumps are intentionally omitted. This changelog is generated by AI.

Features

  • Add alpha exports for Kubernetes GPT Analyzer 3 months ago
  • Add MUI icons across the UI 3 months ago

Upgrades

  • Update Backstage to v1.35.0 from v1.32.4 8 months ago
  • Update Yarn to v4 and adjust asset handling 12 months ago

Bug fixes

  • Reorder dependencies and update Yarn lockfile 3 months ago

Refactors

  • Refactor code structure to improve readability 3 months ago

Maintenance

  • Fix dependency setup 8 months ago
  • Prepare release 3 months ago

Set up Backstage in minutes with Roadie