Repository navigation
v2.1.0
🚀 Ignite v2.1.0 - Enhanced File Management and Multi-OS Support
This major release significantly enhances Ignite's capabilities with improved file management, expanded operating system support, and comprehensive security enhancements while maintaining full backward compatibility.
🎯 Major Features
📁 Advanced File Management
- File Deletion: Secure delete functionality with confirmation dialogs and path validation
- Template vs Config Distinction: Clear visual separation using different icons and badges
- Templates (📄): Reusable starting points for customization
- Configs (⚙️): Rendered, ready-to-deploy files
- Enhanced File Browser: Improved UI with better click handling and user feedback
🖥️ Expanded Operating System Support
- Debian: Network installer support for Bullseye (11) and Bookworm (12)
- Fedora: PXE boot support for versions 39, 40, and 41
- openSUSE: Support for Leap 15.5, 15.6, and Tumbleweed distributions
🛠️ New Provisioning Methods
- AutoYaST: XML-based automated installation for SUSE/openSUSE systems
- Preseed: Debian/Ubuntu automated installation configuration
- Enhanced Cloud-Init: Improved YAML templates for server deployments
- Advanced Kickstart: Extended templates for CentOS/RHEL automation
🔒 Security Enhancements
- Path Validation: Comprehensive protection against directory traversal attacks
- Input Sanitization: Enhanced validation for IP addresses and file operations
- Authentication System: Complete login/logout with secure session management
- File Access Control: Operations restricted to authorized directories only
⚡ Performance & Code Quality
Optimization
- Removed unused functions identified by static analysis
- Optimized string operations using standard library functions
- Fixed deprecated Go functions (
strings.Title,filepath.HasPrefix) - Cleaned up imports across all packages
Testing
- Added comprehensive test coverage for new functionality
- Security-focused tests for path validation and access control
- Nil pointer protection in existing test files
- Integration tests for delete functionality
📋 Technical Improvements
New API Endpoints
POST /provision/delete-file- Secure file deletion with path validation- Enhanced file loading and saving endpoints with better error handling
Template Gallery
- Ready-to-use configurations for common deployment scenarios
- Proper syntax highlighting and category organization
- Template files for AutoYaST and Preseed provisioning methods
Database & Configuration
- Added OS image definitions for Debian, Fedora, and openSUSE
- No breaking changes to existing configuration
- Maintains full backward compatibility
🎨 UI/UX Improvements
- Visual Icons: Language and type-specific icons for better file identification
- Help Documentation: Enhanced help section explaining file operations
- Error Handling: Improved user feedback with detailed error messages
- Confirmation Dialogs: Safe file operations with user confirmation prompts
🔄 Migration Notes
- ✅ Backward Compatible: No changes required for existing deployments
- ✅ Database: No schema changes required
- ✅ Configuration: All existing configurations remain valid
- ✅ Authentication: Existing sessions continue to work
- ✅ Templates: New templates and OS support are additive
📊 Impact
This release transforms Ignite from a basic PXE boot server into a comprehensive network provisioning platform suitable for heterogeneous Linux environments. The enhanced file management capabilities, expanded OS support, and security improvements make it ideal for:
- Lab Environments: Enhanced template library for rapid deployment
- Infrastructure Teams: Multi-distribution support with secure file management
- Development Workflows: Improved automation templates and better UX
- Educational Use: Clear distinction between templates and configs
🏆 Quality Assurance
- ✅ All existing tests pass (11 packages)
- ✅ New functionality fully tested with 100+ new test cases
- ✅ Security improvements validated with dedicated test suites
- ✅ Code formatting (
gofmt) and linting clean - ✅ No breaking changes to existing APIs
- ✅ Documentation updated with current capabilities
Full Changelog: v2.0.0...v2.1.0
🤖 Generated with Claude Code