Skip to content

v2.1.0

Choose a tag to compare

@chadleeshaw chadleeshaw released this 15 Sep 22:12
· 117 commits to main since this release
3b4c996

🚀 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