A modern, intuitive Kubernetes YAML generator that simplifies deployment configuration for developers and DevOps teams.
Generate your first Kubernetes deployment in under 2 minutes!
Run Kube Composer locally in seconds:
docker pull same7ammar/kube-composer && docker run -d -p 8080:80 same7ammar/kube-composerThen open http://localhost:8080 in your browser.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- β Deployments - Application deployment and replica management
- β Services - Network access and service discovery
- β Ingress - External access and traffic routing
- β ConfigMaps - Configuration data management
- β Secrets - Sensitive data storage (Opaque, TLS, Docker Config)
- β Volumes - Persistent and ephemeral storage
- β Namespaces - Resource organization and isolation
- β 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
- Node.js 18+
- npm or yarn
- 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: Visit http://localhost:5173
npm run buildThe built files will be in the dist directory.
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
npm run deploysrc/ βββ 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 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: 8080apiVersion: 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: 80apiVersion: 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>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
- 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
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
- β¨ 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
- π StatefulSets - Stateful application support
- π HorizontalPodAutoscaler - Automatic scaling configuration
- π‘οΈ NetworkPolicies - Network security rules
- π¦ PersistentVolumes - Storage management
- π Resource Monitoring - Built-in observability
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
If this project helped you, please consider giving it a β on GitHub!
- π 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!