A web application to help developers understand Kubernetes Custom Resource Definitions (CRDs) by parsing and visualizing their OpenAPI v3 schemas.
- Parse CRDs: Supports both YAML and JSON formats
- Interactive Tree View: Explore field types, requirements, and nested structures
- Field Details: View descriptions, validation rules, and constraints
- Multi-Version Support: Switch between different CRD versions
- Type Indicators: Color-coded badges for different field types
- Error Handling: Clear error messages for parsing issues
- Nuxt 3 - Vue.js framework with SSR
- TypeScript - Type-safe development
- Nuxt UI - Pre-built UI components
- js-yaml - YAML parsing
- Tailwind CSS - Styling
npm installnpm run devOpen http://localhost:3000 in your browser.
npm run build
npm run preview- Paste a Kubernetes CRD in YAML or JSON format
- Click "Parse CRD" to visualize the schema
- Click on fields to see detailed information
- Expand/collapse nodes to explore the structure
- Switch between versions if the CRD defines multiple versions
crd-visualizer/
├── components/ # Vue components
│ ├── CrdInput.vue # Input area for CRD
│ ├── SchemaVisualizer.vue # Main visualization container
│ └── schema/ # Schema visualization components
├── composables/ # Reusable composition functions
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
├── pages/ # Nuxt pages
└── public/ # Static assets
└── examples/ # Example CRD files