A Professional YAML Configuration Generator for Docker Compose, Kubernetes, and Ansible
- 🎯 Multi-Platform Support: Docker Compose, Kubernetes, Ansible
- 📝 Rich Templates: 15+ pre-built production-ready templates
- ✅ Real-time Validation: Syntax and schema validation
- 🎨 Syntax Highlighting: Beautiful YAML preview
- 💾 Import/Export: Save, load, and manage configurations
Coming soon
- Python 3.9 or higher
- pip (Python package manager)
- Clone or download the repository
cd yml_genarator- Install dependencies
pip install -r requirements.txt- Run the application
python main.py- Select Mode: Choose between Docker Compose, Kubernetes, or Ansible
- Pick a Template: Start with a pre-built template or configure from scratch
- Configure: Fill in the form with your specific settings
- Generate: Click "Generate YAML" to create your configuration
- Validate: Check the validation tab for any issues
- Export: Save to file or copy to clipboard
- Select "Docker Compose" mode
- Choose "Web Application" template
- Enter service details:
- Service Name:
webapp - Image:
nginx:latest - Ports:
80:80
- Service Name:
- Add volumes if needed
- Generate and save!
- Select "Kubernetes" mode
- Choose "Deployment" template
- Configure:
- Name:
myapp - Replicas:
3 - Image:
myapp:v1.0 - Port:
8080
- Name:
- Generate manifest
- Select "Ansible" mode
- Choose "Webserver Setup" template
- Customize:
- Hosts:
webservers - Tasks: Install and configure nginx
- Hosts:
- Generate playbook
- Web Application: Basic web server setup
- Database: PostgreSQL/MySQL configuration
- Microservices: Multi-service architecture
- Full Stack: Frontend + Backend + Database
- Deployment: Basic deployment with replicas
- Service: ClusterIP, NodePort, LoadBalancer
- StatefulSet: Stateful applications
- ConfigMap: Configuration management
- Secret: Sensitive data management
- Ingress: HTTP(S) routing
- Webserver Setup: Nginx/Apache installation
- Package Installation: Common packages
- User Management: User and SSH key setup
- Security Hardening: Basic security tasks
- Docker Installation: Install Docker on hosts
yml_genarator/
│
├── main.py # Application entry point
├── requirements.txt # Python dependencies
├── README.md # This file
│
├── ui/ # User Interface
│ ├── main_window.py
│ ├── syntax_highlighter.py
│ └── custom_widgets.py
│
├── core/ # Core Logic
│ ├── generator.py
│ ├── validator.py
│ ├── template_manager.py
│ └── export_manager.py
│
├── templates/ # Configuration Templates
│ ├── docker_compose/
│ ├── kubernetes/
│ └── ansible/
│
└── tests/ # Unit Tests
├── test_generator.py
└── test_validator.py
Contributions are welcome! 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 the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Install dev dependencies
pip install -r requirements.txt
# Run tests
pytest tests/
# Format code
black .
# Type checking
mypy .Found a bug? Please open an issue with:
- Description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
- Your environment (OS, Python version)
- ✨ Complete rewrite with PyQt6
- ✨ Added Kubernetes and Ansible support
- ✨ Template system with 15+ templates
- ✨ Real-time validation
- ✨ Syntax highlighting
- 🎉 Initial release
- Basic Docker Compose support(single file- still in repo as yml_builder.py)
MIT License - see LICENSE file for details
- PyQt6 for the amazing GUI framework
- ruamel.yaml for YAML processing
- The Docker, Kubernetes, and Ansible communities
Questions? Feedback? Reach out!
- GitHub Issues: [Report bugs or request features]
- Email: [Your email]
⭐ Star this project if you find it useful!
💡 Have an idea? Let's discuss!
Built with ❤️ for DevOps engineers and developers