,
}
}
]
clusterPageMenus = [
{
url: "/extension-example", // optional
title: "Example Extension",
components: {
Icon: ExampleIcon,
}
}
]
}
```
### Cluster Features
This extension can register installable features for a cluster.
These features are visible in the "Cluster Settings" page.
```typescript
import React from "react"
import { Renderer } from "@k8slens/extensions"
import { MyCustomFeature } from "./src/my-custom-feature"
export default class ExampleExtension extends Renderer.LensExtension {
clusterFeatures = [
{
title: "My Custom Feature",
components: {
Description: () => {
return (
Just an example.
)
}
},
feature: new MyCustomFeature()
}
]
}
```
### Status Bar Items
This extension can register custom icons and text to a status bar area.
```typescript
import React from "react";
import { Renderer } from "@k8slens/extensions";
const {
Component: {
Icon,
}
} = Renderer;
export default class ExampleExtension extends Renderer.LensExtension {
statusBarItems = [
{
components: {
Item: (
this.navigate("/example-page")} >
)
}
}
]
}
```
### Kubernetes Workloads Overview Items
This extension can register custom workloads overview items.
```typescript
import React from "react"
import { Renderer } from "@k8slens/extensions";
import { CustomWorkloadsOverviewItem } from "./src/custom-workloads-overview-item"
export default class ExampleExtension extends Renderer.LensExtension {
kubeWorkloadsOverviewItems = [
{
components : {
Details: () =>
}
}
]
}
```
### Kubernetes Object Menu Items
This extension can register custom menu items (actions) for specified Kubernetes kinds/apiVersions.
```typescript
import React from "react"
import { Renderer } from "@k8slens/extensions";
import { CustomMenuItem, CustomMenuItemProps } from "./src/custom-menu-item"
export default class ExampleExtension extends Renderer.LensExtension {
kubeObjectMenuItems = [
{
kind: "Node",
apiVersions: ["v1"],
components: {
MenuItem: (props: CustomMenuItemProps) =>
}
}
]
}
```
### Kubernetes Object Details
This extension can register custom details (content) for specified Kubernetes kinds/apiVersions.
```typescript
import React from "react"
import { Renderer } from "@k8slens/extensions";
import { CustomKindDetails, CustomKindDetailsProps } from "./src/custom-kind-details"
export default class ExampleExtension extends Renderer.LensExtension {
kubeObjectDetailItems = [
{
kind: "CustomKind",
apiVersions: ["custom.acme.org/v1"],
components: {
Details: (props: CustomKindDetailsProps) =>
}
}
]
}
```