Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 57 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,64 @@
# plugin-inspector
OpenEverest Generic plugin to show the status, logs and events for various resources
# OpenEverest Inspector Plugin

A generic plugin for [OpenEverest](https://github.com/openeverest/openeverest) that adds an
**Inspector** tab to database cluster detail pages, allowing users to:

- See the pods behind an instance as a diagram or a table, with status, readiness,
restarts and node placement
- Stream or tail container logs
- Describe a pod: containers, conditions and events, similar to `kubectl describe`

Works with any provider: pods are found through the selectors reported in the
instance's `status.components`, falling back to the `app.kubernetes.io/instance` label.

## Install with Helm

```bash
helm upgrade plugin-inspector oci://ghcr.io/openeverest/charts/plugin-inspector \
-n everest-system --install
```

## Uninstall

```bash
helm uninstall plugin-inspector -n everest-system
```

## How it works

```text
Browser → GET /v1/clusters/{cluster}/plugins/{name}/api/components?...
↓ (host validates session, forwards the user's JWT)
Backend → GET instance from the OpenEverest API as the user (enforces RBAC)
↓
Backend → list/get pods, logs and events with its own ServiceAccount
↓
Browser ← JSON / log stream
```

A user can only see pods of instances they are allowed to read. The backend
reads Kubernetes with its own ServiceAccount, so it only sees the cluster it is
installed in.

## Configuration (`values.yaml`)

| Key | Description | Default |
|-----|-------------|---------|
| `image.repository` | Container image | `ghcr.io/openeverest/plugin-inspector` |
| `image.tag` | Image tag | chart `appVersion` |
| `plugin.enabled` | Enable/disable the plugin | `true` |
| `everestAPIURL` | OpenEverest API URL | discovered in-cluster when empty |

## Development

Requires Node.js 22+, Go 1.25+, Docker, Helm 3, k3d and Tilt.

```sh
npm install
make test
make dev-up
make test # backend and frontend tests
make dev-up # k3d cluster + Tilt dev environment
```

The backend reads pods and logs with its own ServiceAccount, so it only sees the
Kubernetes cluster it is installed in.
## License

Apache-2.0
Loading