Open-Source Kubernetes YAML Builder with Intuitive Web Interface and Dynamic Visualization for Developers and DevOps Engineers
Kube Composer
A modern, intuitive Kubernetes YAML generator that simplifies deployment configuration for developers and DevOps teams.
๐ Live Demo
Generate your first Kubernetes deployment in under 2 minutes!
๐ณ Quick Start with Docker
Run Kube Composer locally in seconds:
docker pull same7ammar/kube-composer && docker run -d -p 8080:80 same7ammar/kube-composer
Then open http://localhost:8080 in your browser.
๐ Features
๐จ Visual Deployment Editor
- Multi-Container Support - Configure multiple containers per deployment
- Advanced Container Configuration - Resources, environment variables, volume mounts
- Real-time Validation - Built-in configuration validation and error checking
- Interactive Forms - Intuitive interface for complex Kubernetes configurations
๐ฆ Comprehensive Resource Management
- Deployments - Full deployment configuration with replica management
- Services - ClusterIP, NodePort, and LoadBalancer service types
- Ingress - Complete ingress configuration with TLS support
- Namespaces - Custom namespace creation and management
- ConfigMaps - Configuration data storage and management
- Secrets - Secure storage for sensitive data (Opaque, TLS, Docker Config)
- Volumes - EmptyDir, ConfigMap, and Secret volume types
๐ Advanced Networking
- Ingress Controllers - Support for multiple ingress classes
- TLS/SSL Configuration - Automatic HTTPS setup with certificate management
- Traffic Flow Visualization - Visual representation of request routing
- Port Mapping - Flexible port configuration and service discovery
โก Real-time Features
- Live YAML Generation - See your YAML output update as you configure
- Architecture Visualization - Interactive diagrams showing resource relationships
- Traffic Flow Diagrams - Visual representation of request routing from Ingress to Pods
- Multi-Deployment Support - Manage multiple applications in a single project
๐ง Advanced Configuration
- Environment Variables - Support for direct values, ConfigMap refs, and Secret refs
- Resource Limits - CPU and memory requests/limits configuration
- Volume Mounts - Flexible volume mounting with multiple volume types
- Labels & Annotations - Custom metadata for all resources
- Health Checks - Built-in configuration validation
๐ฑ User Experience
- Mobile Responsive - Works perfectly on all devices
- No Registration Required - Start using immediately, no sign-up needed
- Export & Download - Production-ready YAML files
- Social Sharing - Share your configurations with the community
๐ฏ Perfect For
- Developers learning Kubernetes and container orchestration
- DevOps Engineers creating quick deployments and testing configurations
- Platform Engineers standardizing deployment configurations across teams
- Students understanding Kubernetes concepts and resource relationships
- Teams collaborating on infrastructure as code
- Anyone who wants to avoid writing YAML manually
๐ ๏ธ Supported Kubernetes Resources
Core Workloads
- โ Deployments - Application deployment and replica management
- โ Services - Network access and service discovery
- โ Ingress - External access and traffic routing
Configuration & Storage
- โ ConfigMaps - Configuration data management
- โ Secrets - Sensitive data storage (Opaque, TLS, Docker Config)
- โ Volumes - Persistent and ephemeral storage
- โ Namespaces - Resource organization and isolation
Advanced Features
- โ Multi-Container Pods - Sidecar patterns and complex applications
- โ Environment Variables - Direct values and resource references
- โ Resource Quotas - CPU and memory limits/requests
- โ TLS Termination - HTTPS and certificate management
- โ Ingress Rules - Path-based and host-based routing
๐ Local Development
Prerequisites
- Node.js 18+
- npm or yarn
Installation
- Clone the repository:
git clone https://github.com/same7ammar/kube-composer.git
cd kube-composer
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser:
Building for Production
npm run build
The built files will be in the dist directory.
๐ Deployment
Automatic GitHub Pages Deployment
This project is configured for automatic deployment to GitHub Pages:
- Push to main branch - GitHub Actions automatically builds and deploys
- Live at:
https://same7ammar.github.io/kube-composer/ - Custom domain:
https://kube-composer.com
Manual Deployment
npm run deploy
๐ Project Structure
src/
โโโ components/ # React components
โ โโโ ArchitecturePreview.tsx # Visual architecture with traffic flow
โ โโโ DeploymentForm.tsx # Multi-container deployment configuration
โ โโโ DeploymentsList.tsx # Deployment management interface
โ โโโ NamespaceManager.tsx # Namespace creation and management
โ โโโ ConfigMapManager.tsx # ConfigMap creation and management
โ โโโ SecretManager.tsx # Secret creation and management
โ โโโ YamlPreview.tsx # Syntax-highlighted YAML output
โ โโโ ResourceSummary.tsx # Resource overview and validation
โ โโโ Footer.tsx # Enhanced footer with resources
โ โโโ SocialShare.tsx # Social media sharing
โ โโโ SEOHead.tsx # SEO optimization
โโโ hooks/ # Custom React hooks
โ โโโ useUsageCounter.ts # Usage statistics tracking
โโโ types/ # TypeScript definitions
โ โโโ index.ts # Comprehensive type definitions
โโโ utils/ # Utility functions
โ โโโ yamlGenerator.ts # Advanced YAML generation logic
โโโ App.tsx # Main application with tabbed interface
โโโ main.tsx # Entry point
โโโ index.css # Global styles with Tailwind CSS
๐ง Configuration Examples
Multi-Container Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
namespace: production
spec:
replicas: 3
template:
spec:
containers:
- name: web-server
image: nginx:1.21
ports:
- containerPort: 80
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: db-credentials
key: url
- name: sidecar-proxy
image: envoyproxy/envoy:v1.20
ports:
- containerPort: 8080
Ingress with TLS
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
tls:
- hosts:
- example.com
secretName: tls-secret
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web-app-service
port:
number: 80
ConfigMap and Secret Integration
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
database.host: "localhost"
database.port: "5432"
apiVersion: v1
kind: Secret
metadata:
name: app-secrets
type: Opaque
data:
database.password: <base64-encoded>
api.key: <base64-encoded>
๐ค Contributing
We welcome contributions! Here's how:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
Development Guidelines
- Follow existing code style and TypeScript patterns
- Add tests for new features and components
- Update documentation for new Kubernetes resources
- Ensure responsive design across all devices
- Test YAML generation for various configurations
- Validate Kubernetes resource compatibility
๐ Keywords
kubernetes yaml generator deployment docker containers devops k8s kubernetes deployment yaml editor kubernetes tools free kubernetes tool visual editor deployment generator ingress configmap secrets namespaces multi-container microservices
๐ What's New
Latest Features (v2.0)
- โจ Multi-Container Support - Configure complex pod specifications
- ๐ Advanced Ingress - Complete ingress configuration with TLS
- ๐๏ธ Namespace Management - Create and organize custom namespaces
- ๐ง ConfigMap & Secret Management - Centralized configuration storage
- ๐ Traffic Flow Visualization - See how requests flow through your architecture
- ๐ Environment Variable References - Link to ConfigMaps and Secrets
- ๐ฑ Enhanced Mobile Experience - Improved responsive design
- ๐จ Visual Architecture Diagrams - Interactive resource visualization
Coming Soon
- ๐ StatefulSets - Stateful application support
- ๐ HorizontalPodAutoscaler - Automatic scaling configuration
- ๐ก๏ธ NetworkPolicies - Network security rules
- ๐ฆ PersistentVolumes - Storage management
- ๐ Resource Monitoring - Built-in observability
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- React - UI framework for component-based architecture
- TypeScript - Type safety and developer experience
- Tailwind CSS - Utility-first CSS framework
- Lucide React - Beautiful icon library
- Vite - Fast build tool and development server
- GitHub Pages - Free hosting platform
- Kubernetes Community - For the amazing container orchestration platform
๐ Star History
If this project helped you, please consider giving it a โญ on GitHub!
๐ Support & Community
- ๐ Bug Reports: GitHub Issues
- ๐ก Feature Requests: GitHub Discussions
- ๐ง Contact: Open an issue for any questions
- ๐ฆ Twitter: @Same7Ammar
- ๐ผ LinkedIn: Same Hammar
Made with โค๏ธ for the Kubernetes community
๐ Website โข ๐ Documentation โข ๐ Report Bug โข ๐ก Request Feature
โญ Star us on GitHub โ it helps!