Open Issues Need Help
View All on GitHubAI Summary: Implement mutual Transport Layer Security (mTLS) between Helios and its backend servers. This involves adding a TLS configuration section to the `helios.yaml` file to specify client certificates and Certificate Authority (CA) trust configuration. The implementation should include robust certificate verification and detailed logging of any verification errors.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement a retry mechanism with configurable retry count, exponential backoff, and identification of retryable HTTP status codes. This retry logic should be applied per route, with configurable timeouts for each route. The feature should be configurable via YAML configuration and the Admin API, and thoroughly tested.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement sticky session functionality for the Helios load balancer, allowing users to be consistently routed to the same backend server using either cookies or IP addresses. The implementation should include a fallback mechanism to handle situations where the assigned backend becomes unhealthy, and comprehensive tests should be added to verify both stickiness and failover behavior. Configuration options for selecting the stickiness method should also be provided.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement a Prometheus metrics exporter for the Helios load balancer, exposing metrics such as total requests, latency histogram, active connections, and backend health. Additionally, create a sample Grafana dashboard JSON configuration file to visualize these metrics.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement OpenTelemetry tracing in the Helios reverse proxy to track requests from ingress to backend servers. This involves propagating trace context to backends and making the exporter (e.g., OTLP) configurable. The goal is to provide comprehensive tracing for observability and debugging.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement structured JSON logging for the Helios reverse proxy, including timestamps, log levels, request IDs, backend server information, response status codes, and request durations. The system should also handle propagating a request ID header throughout the request lifecycle.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement a feature to enforce request and response body size limits in the Helios reverse proxy. This involves adding configuration options to specify limits (per route or globally), and returning a 413 (Payload Too Large) response when the limits are exceeded.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Develop a Go plugin for the Helios reverse proxy that adds gzip compression to responses. The plugin should avoid compressing already compressed content types and include comprehensive unit tests. Configuration options should allow for specifying minimum response size and content type filtering.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement a CORS (Cross-Origin Resource Sharing) plugin for the Helios reverse proxy. The plugin should handle preflight requests and allow configuration of allowed origins, headers, methods, credentials, and max age. Unit tests are required.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Develop a Go middleware plugin for Helios that validates JSON Web Tokens (JWTs) using HS256 or RS256 algorithms. The plugin should be configurable to specify keys, allowed audiences and issuers, and claims. It should optionally allow requests to pass through if JWT validation fails. Unit tests are required.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Create a Software Development Kit (SDK) and comprehensive documentation for developing external plugins for the Helios load balancer. This involves defining public interfaces and helper types within the `plugins` package, creating example plugins (either in a separate repository or within the `examples` directory of Helios), and writing a README guide explaining the plugin lifecycle, configuration, logging, and testing procedures.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement Role-Based Access Control (RBAC) for the Helios Admin API, allowing for granular control over API access using scoped tokens. This involves creating configurable roles (e.g., read-only, write, admin), enforcing token scope on API endpoints, and returning appropriate 403 errors for insufficient permissions. The implementation will likely involve modifying the `internal/adminapi` package and potentially adding middleware for scope checking.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement hot reloading of the Helios configuration from both the file system (using file system notifications) and the Admin API. The system should maintain a version history of configurations, allowing rollback to previous versions. Changes should be applied without requiring a service restart. This involves updating the configuration handling, Admin API, and main application logic to support versioning, atomic swaps, and reload functionality.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.
AI Summary: Implement runtime plugin management for the Helios load balancer. This involves creating Admin API endpoints (GET/PUT /v1/plugins, PUT /v1/plugins/order) to enable, disable, reorder, and update plugin configurations without requiring a restart. The changes must be atomic and persisted to a versioned configuration. This will require modifications to the plugin, Admin API, and configuration modules.
A high-performance, layer-7 HTTP reverse proxy and load balancer built with Go, designed for scalability and fault tolerance.