An AI-assisted Kubernetes Observability Platform for monitoring cluster health, analyzing workloads, and accelerating incident response.
PlatformPilot combines Kubernetes APIs, Prometheus metrics, operational analysis, and AI-assisted insights into a modern dashboard designed for Platform Engineers, DevOps Engineers, and Site Reliability Engineers.
PlatformPilot is a Kubernetes observability platform that provides visibility into cluster resources, infrastructure health, workloads, Prometheus metrics, incidents, and operational findings.
Built with React, FastAPI, the Kubernetes Python Client, and Prometheus, the platform combines operational dashboards with analysis workflows that help engineers detect issues, investigate workloads, and make faster operational decisions.
PlatformPilot can also export structured operational findings to CloudOps Command Center for approval-gated operational workflows.
- Kubernetes Health Dashboard
- Live Cluster Monitoring
- Health Scoring
- Prometheus Metrics
- Performance Analytics
- Manual and Auto Refresh
- PDF Report Export
- Operations Summary
- Root Cause Analysis Support
- Cluster Health Assessment
- Severity Classification
- Operational Recommendations
- Incident Detection
- Global Kubernetes Search
- Command Palette with Ctrl+K / ⌘K
- Keyboard Navigation
- Instant Resource Discovery
- Search Pods, Deployments, Nodes, and Namespaces
- Pods
- Deployments
- Nodes
- Namespaces
- Kubernetes Events
- Container Logs
- Resource Health Monitoring
- Structured operational finding generation
- Authenticated delivery to CloudOps Command Center
- Environment and cluster metadata
- Unique finding identifiers
- Contract-driven incident export
React + Vite
│
▼
FastAPI Backend
REST API Endpoints
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
Kubernetes Python Prometheus HTTP Operational
Client API Analysis
│ │ │
└───────────────────┼───────────────────┘
▼
Kubernetes Cluster
│
▼
Operational Findings
│
▼
CloudOps Command Center
For a detailed architecture walkthrough, see docs/ARCHITECTURE.md.
PlatformPilot includes role-scoped bearer-token authentication for sensitive operational actions.
The current authorization model defines three roles:
viewer— read-oriented role reserved for future protected API accessoperator— permitted to trigger operational actions such as CloudOps finding exportadmin— includes operator privileges and provides an administrative role for future controls
The sensitive endpoint:
POST /cloudops/findings
requires at least the operator role.
Authentication fails closed:
- missing API authentication configuration returns
503 - missing or invalid bearer credentials return
401 - authenticated users without sufficient permission receive
403 operatorandadminroles are permitted to perform CloudOps exports
Bearer-token values are compared using constant-time comparison.
Configure authentication through environment variables:
export PLATFORM_VIEWER_TOKEN="replace-with-long-random-token"
export PLATFORM_OPERATOR_TOKEN="replace-with-long-random-token"
export PLATFORM_ADMIN_TOKEN="replace-with-long-random-token"This is currently API-level authentication for sensitive backend operations.
It is not yet:
- full end-user login
- browser session authentication
- SSO
- identity-provider integration
- application-wide RBAC
See backend/.env.example for the configuration template.
PlatformPilot and CloudOps use separate authentication boundaries.
A caller requesting an operational export must authenticate to PlatformPilot with a role-scoped PlatformPilot bearer token.
Caller
│
│ PlatformPilot operator/admin token
▼
POST /cloudops/findings
After authorization succeeds, PlatformPilot authenticates its outbound request to CloudOps using:
CLOUDOPS_INGEST_TOKEN
PlatformPilot
│
│ CloudOps ingest token
▼
CloudOps Command Center
This separation avoids reusing the same credential across both trust boundaries.
The backend security and integration layers are covered by automated tests.
Current backend verification:
31 tests passed
The test suite covers:
- CloudOps export services
- CloudOps route behavior
- CloudOps delivery failures
- configuration handling
- operational finding generation
- Kubernetes pod routes
- bearer-token authentication
- role mapping
- viewer authorization rejection
- operator authorization
- admin authorization
- HTTP-level
401,403, and successful authorization paths
The frontend is also validated with:
npm run lint
npm run buildGitHub Actions runs backend tests and frontend checks on pull requests and pushes to main.
| Layer | Technology |
|---|---|
| Frontend | React 19, React Router, Vite, CSS3 |
| Backend | FastAPI, Python 3.11, Uvicorn |
| Kubernetes | Kubernetes Python Client |
| Monitoring | Prometheus |
| Security | Bearer-token authentication, role-based authorization |
| Integration | CloudOps operational finding API |
| Testing | Pytest, FastAPI TestClient, HTTPX |
| CI | GitHub Actions |
| Infrastructure | Docker, Kubernetes, kubectl |
The central dashboard provides cluster health, workload statistics, operational insights, and live monitoring.
Search Kubernetes resources across Pods, Deployments, Nodes, and Namespaces.
Navigate the platform using keyboard shortcuts with Ctrl+K / ⌘K.
Monitor CPU, memory, pod distribution, and namespace utilization using Prometheus-powered analytics.
Review operational insights, health analysis, findings, incidents, and recommended actions.
Track operational alerts and Kubernetes incidents from a centralized dashboard.
This infographic summarizes PlatformPilot's architecture, roadmap, repository highlights, and platform-engineering focus.
platform-pilot/
│
├── backend/
│ ├── core/
│ │ ├── config.py
│ │ └── security.py
│ ├── routers/
│ ├── services/
│ ├── tests/
│ ├── .env.example
│ ├── Dockerfile
│ ├── requirements.txt
│ └── requirements-dev.txt
│
├── frontend/
│ ├── src/
│ │ ├── pages/
│ │ └── services/
│ ├── package.json
│ └── vite.config.js
│
├── infrastructure/
│ ├── backend-deployment.yaml
│ ├── backend-service.yaml
│ └── monitoring-values-docker-desktop.yaml
│
├── docs/
├── screenshots/
├── .github/
│ └── workflows/
│ └── ci.yml
│
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── pytest.ini
└── README.md
git clone https://github.com/AZ1600/platform-pilot.git
cd platform-pilotCreate and activate a Python virtual environment:
python3 -m venv .venv
source .venv/bin/activateInstall backend dependencies:
python -m pip install -r backend/requirements.txtFor development and testing:
python -m pip install -r backend/requirements-dev.txtStart the backend:
cd backend
uvicorn app:app --reloadBackend API:
http://localhost:8000
Health endpoint:
http://localhost:8000/health
A configuration template is available at:
backend/.env.example
Example values:
PLATFORM_VIEWER_TOKEN=replace-with-viewer-token
PLATFORM_OPERATOR_TOKEN=replace-with-operator-token
PLATFORM_ADMIN_TOKEN=replace-with-admin-token
CLOUDOPS_INGEST_TOKEN=replace-with-cloudops-ingest-token
CLOUDOPS_FINDINGS_URL=http://127.0.0.1:3000/api/platform-pilot/findings
PLATFORM_ENVIRONMENT=local
KUBERNETES_CLUSTER_NAME=docker-desktopUse long randomly generated values for real tokens.
Never commit production credentials to the repository.
cd frontend
cp .env.example .env
npm install
npm run devThe frontend uses:
http://127.0.0.1:8000
by default.
To use a backend at a different address, configure:
VITE_API_URL
inside frontend/.env.
Frontend:
http://localhost:5173
From the repository root with the Python virtual environment active:
python -m pytestCurrent validated baseline:
31 passed
Frontend validation:
cd frontend
npm run lint
npm run buildGitHub Actions validates both backend and frontend changes.
Install Python dependencies
↓
Run Pytest
Install Node dependencies
↓
ESLint
↓
Production Vite build
The workflow uses read-only repository permissions and runs on pull requests and pushes to main.
- Kubernetes Dashboard
- Kubernetes Resource Monitoring
- Cluster Health Scoring
- Prometheus Integration
- Performance Analytics
- Operational Summary
- Global Search
- Command Palette
- Incident Center
- Container Log Inspection
- PDF Export
- Auto Refresh
- Responsive UI
- CloudOps Operational Finding Export
- Authenticated CloudOps Delivery
- Role-Scoped Authentication for Sensitive API Operations
- Operator and Admin Authorization Boundary
- Backend Security Tests
- CI Validation
- Broader endpoint RBAC
- End-user authentication / SSO
- Multi-cluster Support
- Historical Metrics
- WebSocket Live Updates
- Grafana Integration
- Helm Monitoring
- Expanded LLM-assisted Root Cause Analysis
- Frontend dependency security remediation
- Frontend bundle code splitting
PlatformPilot helps Platform Engineers, DevOps Engineers, and SREs:
- monitor Kubernetes cluster health
- investigate unhealthy workloads
- search Kubernetes resources
- analyze Prometheus metrics
- detect operational incidents
- review container logs
- troubleshoot deployments
- generate structured operational findings
- export incidents into controlled CloudOps workflows
- accelerate incident investigation and response
PlatformPilot follows a fail-closed approach for protected operational actions.
No application tokens are stored in source code.
Environment variables are used for:
PLATFORM_VIEWER_TOKEN
PLATFORM_OPERATOR_TOKEN
PLATFORM_ADMIN_TOKEN
CLOUDOPS_INGEST_TOKEN
The current role hierarchy is:
viewer
│
▼
operator
│
▼
admin
Higher roles inherit the permissions of lower roles.
Authentication and authorization are intentionally implemented as a focused API security boundary today, with broader identity and access management planned for future releases.
Contributions are welcome.
Please read CONTRIBUTING.md before opening a pull request.
This project is licensed under the MIT License.
Olawale Azeez
GitHub: https://github.com/AZ1600
⭐ If you found PlatformPilot useful, please consider giving the repository a star!







