A modern web application for visualizing and managing Kubernetes Custom Resource Definitions (CRDs) and their relationships.
- Features
- Getting Started
- Usage
- Technical Implementation
- Project Structure
- Key Components
- Advanced Features
- Performance Optimization
- Troubleshooting
- Deployment
- Roadmap
- Contributing
- License
- Acknowledgments
- 📊 Interactive Graph View: Visualize CRDs and their relationships in an interactive graph
- 📋 List View: Browse CRDs and custom resources in a structured list
- 🔍 Search Functionality: Find resources by name, field values, or dependencies
- 🔄 Cross-Cluster Visualization: View and manage resources across multiple clusters
- 🔗 Relationship Mapping: Define and visualize relationships between different resource types
- 🚨 Dependency Tracking: Highlight resources with missing dependencies
- 📥 Download Resources: Export resources as YAML files
- 🌓 Dark/Light Mode: Support for both dark and light themes
-
Node.js: Install Node.js 18.x or later
# Check your Node.js version node --version # If you need to install or update Node.js, visit https://nodejs.org/
-
Package Manager: This project uses pnpm
# Install pnpm if you haven't already npm install -g pnpm
-
Clone the repository:
git clone https://github.com/yourusername/crd-visualize.git cd crd-visualize -
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
-
Open your browser and navigate to
http://localhost:3000
The application can be configured through environment variables or the configuration file:
- Create a
.env.localfile in the root directory:NEXT_PUBLIC_API_URL=your_api_url
-
Connect to a Cluster:
- Use the cluster selector in the top navigation to choose your Kubernetes cluster
- Or use mock mode for testing without a live cluster
-
Browse CRDs:
- Navigate to the CRD browser to see all available Custom Resource Definitions
- Use the search functionality to filter CRDs
- Click on any CRD to view its details and relationships
-
Visualize Relationships:
- Switch to the Graph View to see CRD relationships
- Drag nodes to rearrange the visualization
- Zoom in/out to focus on specific areas
-
Export Resources:
- Select resources you want to export
- Click the Download button to get YAML files