Project Roadmap
Subnetter Project Roadmap
This document outlines the current implementation status of Subnetter’s features and the planned enhancements for future releases. It serves as a guide for users and contributors to understand the project’s direction and priorities.
Completed Features
Core Functionality
- ✅ Hierarchical CIDR Allocation: Implemented a deterministic, hierarchical allocation system that follows a strict account > region > AZ > subnet type hierarchy.
- ✅ Contiguous Allocation Strategy: Developed an optimized algorithm for allocating CIDR blocks contiguously from a base CIDR, ensuring efficient space utilization.
- ✅ Multi-Cloud Support: Added complete support for AWS, Azure, and GCP cloud providers, with provider-specific validations.
- ✅ Custom CIDR Overrides: Implemented the ability to override automatically allocated CIDR blocks at the account and cloud provider levels.
- ✅ Configuration Validation: Enhanced validation for configuration files to detect common errors and provide helpful error messages.
- ✅ CSV Output: Added support for generating CSV output for easy import into other tools.
- ✅ Prefix Length Control: Implemented fine-grained control over prefix lengths at each level in the hierarchy.
Usability Improvements
- ✅ Command-Line Interface: Developed a comprehensive CLI for generating and validating CIDR allocations.
- ✅ Error Handling Enhancements: Improved error messages and added comprehensive documentation for troubleshooting allocation errors.
- ✅ Documentation Overhaul: Completely revised documentation with detailed guides, examples, and troubleshooting sections.
In Progress
Performance Optimizations
- 🟡 Memory Efficiency: Optimizing memory usage for handling extremely large configurations.
- 🟡 Allocation Algorithm Refinements: Further improving the allocation algorithm to handle edge cases and complex scenarios.
User Experience
- 🟡 Interactive CLI Mode: Adding an interactive mode to the CLI for step-by-step configuration creation.
- 🟡 Configuration Wizards: Developing wizards to help users create and modify configurations.
Planned Features
Core Enhancements
- 🔲 IPv6 Support: Extending the allocation system to support IPv6 addresses.
- 🔲 Custom Allocation Strategies: Supporting pluggable allocation strategies beyond the current contiguous allocation.
- 🔲 Allocation Versioning: Adding support for tracking changes to allocations over time.
- 🔲 Dynamic Allocation Adjustments: Implementing algorithms to dynamically adjust allocations based on actual usage patterns.
Integration Improvements
- 🔲 Terraform Integration: Generating Terraform code directly from CIDR allocations.
- 🔲 CloudFormation Integration: Supporting AWS CloudFormation template generation.
- 🔲 CI/CD Pipeline Integration: Creating tools for integrating CIDR allocation into CI/CD pipelines.
- 🔲 Cloud Provider APIs: Direct integration with cloud provider APIs for applying allocations.
Visualization and Analysis
- 🔲 CIDR Visualization: Graphical representation of CIDR allocations and hierarchy.
- 🔲 Usage Analysis: Tools for analyzing IP address usage and recommending optimizations.
- 🔲 Conflict Detection: Enhanced detection of routing conflicts and overlapping allocations in existing infrastructure.
Advanced Features
- 🔲 Custom Hierarchy Levels: Supporting user-defined hierarchy levels beyond the default account > region > AZ > subnet structure.
- 🔲 Non-RFC1918 Support: Enhanced support for handling non-RFC1918 address spaces.
- 🔲 Migration Planning: Tools for planning migrations from existing CIDR allocations to new ones.
- 🔲 Reservation System: Supporting the reservation of specific CIDR blocks for future use.
Timeline
- Q3 2023: ✅ Core functionality and multi-cloud support
- Q4 2023: ✅ Configuration validation, CSV output, and prefix length control
- Q1 2024: ✅ Hierarchical and contiguous allocation algorithms
- Q2 2024: 🟡 Performance optimizations and user experience improvements
- Q3 2024: Integration improvements and visualization features
- Q4 2024: Advanced features and IPv6 support
Development Priorities
flowchart LR
current[Current System] --> |"High"| testing[Comprehensive Testing]
current --> |"Medium"| iac[Terraform Integration]
current --> |"Medium"| viz[Visualization Tools]
current --> |"Low"| plugins[Plugin System]
current --> |"Low"| ipv6[IPv6 Support]
current --> |"Low"| web[Web Interface]
current --> |"Medium"| ipam[IPAM Integration]
linkStyle 0,1,2,3,4,5,6 stroke:#36BCF7,stroke-width:2px;
style current fill:#d5e8d4,stroke:#82b366,stroke-width:2px,color:#333333
style testing fill:#ff9999,stroke:#b85450,stroke-width:2px,color:#333333
style iac fill:#ffcc99,stroke:#d79b00,stroke-width:2px,color:#333333
style viz fill:#ffcc99,stroke:#d79b00,stroke-width:2px,color:#333333
style plugins fill:#ccff99,stroke:#82b366,stroke-width:2px,color:#333333
style ipv6 fill:#ccff99,stroke:#82b366,stroke-width:2px,color:#333333
style web fill:#ccff99,stroke:#82b366,stroke-width:2px,color:#333333
style ipam fill:#ffcc99,stroke:#d79b00,stroke-width:2px,color:#333333
Planned Enhancements
High Priority
- Comprehensive Testing
- Expand unit test coverage to 90%+
- Implement integration tests for all major components
- Add end-to-end tests for common use cases
- Integrate with CI/CD pipeline for continuous validation
Medium Priority
-
Infrastructure as Code Integration
- Add Terraform HCL output format
- Support CloudFormation template generation
- Create Pulumi/CDK integration hooks
-
Visualization Tools
- Add graphical representation of CIDR hierarchies
- Create interactive visualization in CLI
- Generate diagrams for documentation
-
IPAM Integration
- Integrate with existing IP Address Management solutions
- Enable synchronization of allocations with enterprise IPAM systems
- Support import/export of allocation data from common IPAM tools
Low Priority
-
Plugin System
- Create formal extension interface
- Support custom allocation strategies
- Enable third-party output formats
- Provide integration points for external tools
-
IPv6 Support
- Extend the tool to handle IPv6 allocations
- Support dual-stack configurations
- Add IPv6-specific validation rules
-
Web Interface
- Create web-based UI for configuration
- Provide interactive CIDR visualization
- Enable sharing and collaboration features
Release Roadmap
The following outlines our planned release schedule:
v1.0 (Current Stable)
- Core CIDR allocation functionality
- AWS, Azure, and GCP provider support
- Configuration validation
- CSV output format
- Command-line interface
- Variable subnet sizing
- Account-level CIDR overrides
- Base CIDR override via CLI
- Configurable logging system
v1.1
- Improved error handling
- Expanded test coverage
- Better schema validation
v1.2
- Terraform HCL output
- CloudFormation output
- Performance optimizations
v2.0
- Visualization tools
- IPAM integration
- Comprehensive documentation
- Refactored core architecture
v2.x
- Plugin system
- IPv6 support
- Web interface
- Enhanced collaboration features
Contributing to the Roadmap
We welcome community input on our roadmap priorities. If you’d like to contribute to any of these planned features or suggest new ones, please:
- Check the GitHub issues to see if your idea is already being discussed
- Submit a feature request with a clear description of the proposed enhancement
- Consider contributing code if you’re interested in implementing any planned features
For more details on how to contribute, please see our Developer Guide.