๐ฆ k8s Fox Dashboard
Your k8sGPT results, but make them fox-ified
๐ฆ Because your Kubernetes cluster deserves a fox-themed dashboard.
๐ Overview
k8s Fox Dashboard is a Streamlit-based web dashboard that connects to k8sGPT and presents AI-powered Kubernetes cluster analysis results in a beautiful, fox-themed interface. It displays health status, analysis results in tables, historical trends, and provides an intuitive way to monitor your cluster's health.
โจ Features
- ๐ฆ Fox-Themed UI โ Beautiful orange-themed dashboard with fox emojis throughout
- ๐ฅ Cluster Health Dashboard โ Real-time health status of all cluster components
- ๐ Analysis Results Tables โ Detailed k8sGPT analysis results with status indicators
- ๐ Historical Results โ Track analysis trends over time
- ๐ Filtering & Search โ Filter by namespace, integration, and exclude specific sources
- ๐ฏ Interactive Metrics โ
st.metriccards for quick at-a-glance health overview - ๐ DataFrames โ Rich
st.dataframetables with sortable, filterable data - ๐ Auto-Refresh โ One-click refresh for the latest analysis
- ๐๏ธ Configurable โ Set k8sGPT backend URL and cluster name via env vars or sidebar
๐ผ๏ธ Screenshots
๐ฆ Main Dashboard
The main dashboard shows a fox-themed header with the cluster health status panel displaying healthy/warning/unhealthy component counts using st.metric cards, followed by analysis results in a detailed st.dataframe table with status icons (๐ข๐ก๐ด), Kubernetes object details, and error messages.
๐ Historical Analysis
The historical results panel shows time-series analysis data in a sortable table with timestamps, error counts, warning counts, and health indicators. A trend overview section uses st.metric to show latest error/warning counts with deltas. Expandable detail views show per-analysis breakdowns.
๐ฅ Health Status Panel
The health panel displays component health using color-coded metrics (๐ข Healthy, ๐ก Warnings, ๐ด Unhealthy) with detailed component information in a dataframe, including status indicators and health check details.
๐ฆ Sidebar Controls
The sidebar includes the k8sGPT backend URL configuration, filter options (integration, exclude, namespace), a refresh button, and an about section with fox-themed branding.
๐ Installation
Prerequisites
- Python 3.9 or higher
- A running k8sGPT instance
Quick Start
-
Clone the repository:
git clone https://github.com/three-foxes-in-a-trenchcoat/k8s-fox-dashboard.git cd k8s-fox-dashboard -
Install dependencies:
pip install -r requirements.txt -
Run the dashboard:
streamlit run main.py -
Configure k8sGPT URL in the sidebar (default:
http://localhost:8080)
Environment Variables
| Variable | Default | Description |
|---|---|---|
K8SGPT_URL | http://localhost:8080 | k8sGPT backend API URL |
CLUSTER_NAME | fox-cluster | Name to display for your cluster |
๐ Usage
Connecting to k8sGPT
- Launch the dashboard with
streamlit run main.py - In the sidebar, set the k8sGPT Backend URL to your k8sGPT server address
- Adjust filters as needed (namespace, integration, exclude)
- Click ๐ Refresh Dashboard to fetch the latest analysis
Filtering Results
- Integration โ Filter by specific k8sGPT integration (e.g.,
prometheus,datadog) - Exclude โ Comma-separated list of integrations to exclude
- Namespace โ Filter analysis to a specific Kubernetes namespace
- Include Details โ Toggle whether to include detailed analysis data
Dashboard Sections
- Cluster Health Status โ Overview of all monitored components with healthy/warning/unhealthy counts
- Analysis Results โ Detailed table of all k8sGPT analysis results with status, objects, and errors
- Historical Analysis โ Time-series view of past analysis results with trend indicators
๐๏ธ Architecture
๐ฆ k8s Fox Dashboard (Streamlit)
โ
โโโ k8sGPT Backend API
โ โโโ /v1/analyze โ Current analysis results
โ โโโ /v1/health โ Cluster health status
โ โโโ /v1/history โ Historical analysis data
โ
โโโ Kubernetes Cluster
โโโ k8sGPT Operator (optional)
๐ ๏ธ Development
# Create a virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run with hot-reload
streamlit run main.py --server.watchTheme
๐ License
This project is licensed under the MIT License.
๐ฆ Contributing
Contributions are welcome! Whether it's adding new fox emojis, improving the dashboard, or fixing bugs โ we'd love your help.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-fox-feature) - Commit your changes (
git commit -m '๐ฆ Add amazing fox feature') - Push to the branch (
git push origin feature/amazing-fox-feature) - Open a Pull Request
๐ Acknowledgments
- k8sGPT โ AI-powered Kubernetes troubleshooting
- Streamlit โ Beautiful Python dashboards
- All the foxes ๐ฆ๐ฆ๐ฆ โ Three Foxes in a Trenchcoat
Made with ๐ฆ and โค๏ธ by Three Foxes in a Trenchcoat