Skip to content

Roadmap

This page outlines the current status and future plans for Go Overlay.

Implemented Features

The following features are currently implemented and available:

  • Service Orchestration: Start, stop, and manage multiple services from a single configuration file
  • Dependency Management: Define service dependencies with depends_on to control startup order
  • Graceful Shutdown: Proper signal handling (SIGTERM) with configurable timeouts before SIGKILL
  • Health Monitoring: Monitor service health and automatically restart failed services
  • Critical Services: Mark services as required to trigger system shutdown on failure
  • Pre/Post Scripts: Execute scripts before service start and after service stop
  • User Switching: Run services as specific users for security isolation
  • CLI Interface: Command-line interface for service management via IPC
  • TOML Configuration: Simple, readable configuration format
  • Configurable Timeouts: Fine-grained control over shutdown, startup, and script timeouts
  • Wait Delays: Configure delays between service starts with wait_after
  • Circular Dependency Detection: Prevent configuration errors with automatic detection
  • Service States: Clear state management (PENDING, STARTING, RUNNING, STOPPING, STOPPED, FAILED)
  • Docker Integration: Designed for container environments with proper signal handling
  • Auto-installation: Automatic CLI installation to system PATH

Planned Features

High Priority

Features planned for the next major releases:

Environment Variable Management

  • Description: Enhanced environment variable handling for services
  • Details:
  • Support for .env file loading
  • Environment variable substitution in configuration
  • Per-service environment isolation
  • Template variables for common patterns
  • Use Case: Simplify configuration management across environments (dev, staging, production)

Service Restart Policies

  • Description: Configurable restart behavior for failed services
  • Details:
  • Restart policies: always, on-failure, unless-stopped, never
  • Configurable restart delays and backoff strategies
  • Maximum restart attempt limits
  • Restart window tracking
  • Use Case: Improve resilience for transient failures without manual intervention

Health Check Endpoints

  • Description: Active health checking for services
  • Details:
  • HTTP/TCP health check support
  • Configurable check intervals and timeouts
  • Health check retries before marking as failed
  • Custom health check commands
  • Use Case: Proactive detection of unhealthy services beyond process monitoring

Logging Enhancements

  • Description: Improved logging and output management
  • Details:
  • Per-service log files with rotation
  • Structured logging (JSON format option)
  • Log level configuration per service
  • Stdout/stderr separation
  • Integration with syslog
  • Use Case: Better debugging and monitoring capabilities

Medium Priority

Features planned for future releases:

Resource Limits

  • Description: Control resource usage for services
  • Details:
  • CPU limits (cgroups integration)
  • Memory limits with OOM handling
  • File descriptor limits
  • Process count limits
  • Use Case: Prevent resource exhaustion and improve multi-tenant scenarios

Service Groups

  • Description: Organize and manage related services together
  • Details:
  • Group services by function or tier
  • Start/stop entire groups
  • Group-level dependencies
  • Parallel startup within groups
  • Use Case: Manage complex applications with many services more efficiently

Configuration Validation

  • Description: Enhanced configuration validation and testing
  • Details:
  • validate command to check configuration
  • Dry-run mode for testing changes
  • Configuration schema validation
  • Warning for deprecated options
  • Use Case: Catch configuration errors before deployment

Metrics and Monitoring

  • Description: Built-in metrics collection and export
  • Details:
  • Prometheus metrics endpoint
  • Service uptime tracking
  • Restart count metrics
  • Resource usage metrics
  • Custom metric labels
  • Use Case: Integration with monitoring systems for observability

Dynamic Configuration Reload

  • Description: Reload configuration without full restart
  • Details:
  • Hot reload on SIGHUP
  • Add/remove services dynamically
  • Update service parameters
  • Graceful transition for running services
  • Use Case: Reduce downtime during configuration changes

Low Priority

Features under consideration for future releases:

Web UI Dashboard

  • Description: Web-based interface for monitoring and management
  • Details:
  • Real-time service status display
  • Start/stop/restart controls
  • Log viewing
  • Configuration editor
  • Metrics visualization
  • Use Case: Easier management for users who prefer GUI over CLI

Service Templates

  • Description: Reusable service configuration templates
  • Details:
  • Define service templates with variables
  • Instantiate multiple services from templates
  • Template inheritance
  • Built-in templates for common services
  • Use Case: Reduce configuration duplication for similar services

Plugin System

  • Description: Extensibility through plugins
  • Details:
  • Plugin API for custom functionality
  • Lifecycle hooks (pre-start, post-stop, etc.)
  • Custom health checks
  • Custom log processors
  • Use Case: Allow community extensions without modifying core

Service Discovery Integration

  • Description: Integration with service discovery systems
  • Details:
  • Consul integration
  • etcd integration
  • Automatic service registration
  • Dynamic dependency resolution
  • Use Case: Better integration with microservices architectures

Notification System

  • Description: Alert on service events
  • Details:
  • Webhook notifications
  • Email alerts
  • Slack/Discord integration
  • Configurable event triggers
  • Use Case: Proactive alerting for service failures

Contributing to the Roadmap

We welcome community input on the roadmap! Here's how you can contribute:

Suggest Features

If you have ideas for new features:

  1. Check if the feature is already listed or requested
  2. Open a GitHub issue with the "feature request" label
  3. Describe the use case and expected behavior
  4. Explain why this feature would be valuable

Vote on Features

Help us prioritize by:

  • Adding 👍 reactions to feature requests you want
  • Commenting with your use case
  • Sharing how you would use the feature

Implement Features

Want to implement a feature yourself?

  1. Check the Contributing Guide
  2. Comment on the feature issue to coordinate
  3. Submit a pull request with your implementation

Release Schedule

Go Overlay follows semantic versioning (MAJOR.MINOR.PATCH):

  • Major releases: Breaking changes, significant new features
  • Minor releases: New features, backward compatible
  • Patch releases: Bug fixes, minor improvements

Current release cycle: - Minor releases: Every 2-3 months - Patch releases: As needed for critical bugs

Version History

v1.0.0 (Current)

  • Initial stable release
  • Core service orchestration features
  • CLI interface
  • Docker integration

Upcoming

v1.1.0 (Planned)

  • Environment variable management
  • Service restart policies
  • Health check endpoints
  • Logging enhancements

v1.2.0 (Planned)

  • Resource limits
  • Service groups
  • Configuration validation
  • Metrics and monitoring

Stay Updated

Follow development progress:

  • GitHub: Watch the repository for updates
  • Issues: Track feature development in GitHub issues
  • Releases: Subscribe to release notifications
  • Discussions: Join conversations about future features

Thank you for your interest in Go Overlay! 🚀