A modern, secure Kubernetes cluster management dashboard with vulnerability scanning capabilities.
- Cluster Monitoring: Real-time monitoring of Kubernetes resources
- Vulnerability Scanning: Security scanning of container images using Trivy
- Rate Limiting: Monitor and manage API rate limits
- Security Tools: Integration with Tetragon for runtime security
- Code Analysis: Detect Kubernetes configuration issues
- Service Mapping: Visualize service dependencies
- Alerting: Monitor cluster events and alerts
This project consists of two main components:
- Frontend: Next.js application with modern UI
- Backend: FastAPI service for vulnerability scanning and other operations
- Node.js 18+ and npm/yarn
- Python 3.8+ (for backend)
- Trivy - Security scanner for containers
- Docker (optional, for containerized deployment)
-
Clone the repository:
git clone <repository-url> cd kubernetes-dashboard
-
Start both frontend and backend:
docker-compose up --build
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
-
Navigate to the backend directory:
cd backend -
Install Trivy:
# Ubuntu/Debian sudo apt-get update sudo apt-get install wget apt-transport-https gnupg lsb-release wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add - echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/trivy.list sudo apt-get update sudo apt-get install trivy
-
Set up Python environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Start the FastAPI server:
python main.py
-
In a new terminal, navigate to the project root:
cd .. # If you're in the backend directory
-
Install dependencies:
npm install
-
Set environment variable (optional):
export NEXT_PUBLIC_BACKEND_URL=http://localhost:8000 -
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
GET /health- Health checkPOST /api/scan-image- Scan container image for vulnerabilitiesGET /docs- Interactive API documentation
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
HOST=0.0.0.0
PORT=8000
LOG_LEVEL=INFO
npm run devcd backend
uvicorn main:app --reload --host 0.0.0.0 --port 8000docker-compose up --build -d-
Build the frontend:
npm run build npm start
-
Run the backend:
cd backend uvicorn main:app --host 0.0.0.0 --port 8000
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.
For issues and questions, please open an issue in the GitHub repository.