๐ŸฆŠ k8s Fox Dashboard

Your k8sGPT results, but make them fox-ified

Version License: MIT Streamlit App Python 3.9+

๐ŸฆŠ 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.metric cards for quick at-a-glance health overview
  • ๐Ÿ“‹ DataFrames โ€” Rich st.dataframe tables 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

  1. Clone the repository:

    git clone https://github.com/three-foxes-in-a-trenchcoat/k8s-fox-dashboard.git
    cd k8s-fox-dashboard
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the dashboard:

    streamlit run main.py
    
  4. Configure k8sGPT URL in the sidebar (default: http://localhost:8080)

Environment Variables

VariableDefaultDescription
K8SGPT_URLhttp://localhost:8080k8sGPT backend API URL
CLUSTER_NAMEfox-clusterName to display for your cluster

๐Ÿ“ Usage

Connecting to k8sGPT

  1. Launch the dashboard with streamlit run main.py
  2. In the sidebar, set the k8sGPT Backend URL to your k8sGPT server address
  3. Adjust filters as needed (namespace, integration, exclude)
  4. 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

  1. Cluster Health Status โ€” Overview of all monitored components with healthy/warning/unhealthy counts
  2. Analysis Results โ€” Detailed table of all k8sGPT analysis results with status, objects, and errors
  3. 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.

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing-fox-feature)
  3. Commit your changes (git commit -m '๐ŸฆŠ Add amazing fox feature')
  4. Push to the branch (git push origin feature/amazing-fox-feature)
  5. 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