Changelog
List of aperture PRs merged since 2.29.0 release. For the full list of changes, see [list of changes][changes]
Add pgsql scenario (3125)
- **New Features**
- Introduced a load testing script for PostgreSQL database concurrency.
- Added a new Dockerfile for building a Go application with health
check.
- Implemented PostgreSQL database connection and handling in the Go SDK
example.
- **Enhancements**
- Search functionality now supports custom HTTP headers.
- Updated Kubernetes configurations with namespace, labels, and
environment variables.
- **Bug Fixes**
- Fixed the initialization of `inflightRequests` to prevent logic errors
in request handling.
- **Refactor**
- Replaced `wget` with `curl` for HTTP requests to improve reliability
and performance.
- Modified `flow.go` to better manage inflight requests.
---------
Co-authored-by: Hardik Shingala <hardik.shingalafluxninja.com>
Deinit on failed start (3124)
- **Bug Fixes**
- Improved the application's error handling during startup failures.
- Updated error messages for clarity when registering flow control
components.
---------
Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]users.noreply.github.com>
Fix unregisters (3122)
- **Refactor**
- Updated log messages for clearer understanding of system status.
- Enhanced error handling and warnings for metric operations.
- **Bug Fixes**
- Fixed issues with the removal of metrics to ensure proper cleanup
during system operations.
Fix schedulers not getting executed when cache key is not set (3121)
- **Refactor**
- Improved the initialization process for cache lookup results to
enhance performance.
- **Style**
- Updated variable naming for clarity and consistency in the
configuration scripts.
Fix wait time based deadline calculation (3120)
Re-order execution of components in engine (3118)
- **Documentation**
- Updated concurrency limiter documentation to clarify counting only
accepted requests.
- Added notes on request prioritization to provide context for
concurrency scheduler behavior.
- Introduced documentation for three new Prometheus metrics related to
cache operations.
- **Refactor**
- Simplified naming and labels for cache-related metrics.
- Overhauled cache lookup methods for improved control flow and logic.
- Refined the handling of different scheduler types in the flow control
engine.
- **Tests**
- Adjusted test logic to align with the refactored control flow in the
flow control engine.
Drop deprecated module and fix tests (3114)
- **New Features**
- Introduced a `retry_policy` configuration for improved object storage
reliability with customizable timeout and backoff settings.
- **Refactor**
- Transitioned to a new utility library for pointer operations across
the codebase to enhance maintainability.
- **Bug Fixes**
- Ensured consistency in pointer operations to prevent potential
configuration issues in Kubernetes resources.
Overhaul concept docs (3087)
- **Documentation**
- Updated internal documentation links and sidebar positions for
improved navigation and clarity.
- Introduced new documentation for the Concurrency Limiter and Request
Prioritization features.
- Enhanced existing documentation with clearer explanations and updated
references.
- Reorganized content to better reflect feature hierarchies and usage.
- Added new sections on advanced concepts, including detailed guides on
scheduling and rate limiting.
Add concurrency limiter tests (3083)
Description of change
- Update IO package imports and fix function signatures
- Add new test file for concurrency limiter
- Remove unused imports and variables
- Refactor flowRunner and checkResults functions
- Add test for limiter with basic limit
Summary by CodeRabbit
- **Tests**
- Implemented tests for the concurrency limiter functionality.
- **Refactor**
- Modified the `NewGlobalTokenBucket` function's parameters for clarity.
- Updated package and logging details in rate limiter tests.
- Reformatted the `NewGlobalTokenCounter` function's parameters for
better readability.
- **Chores**
- Removed unused import and declaration from the flow control policy
provider.
- **Style**
- Updated import statements to reflect the transition to newer IO
utility functions.
Fix default check response status (3081)
- **Refactor**
- Improved log messaging for empty request IDs with appropriate log
levels.
- **New Features**
- Enhanced flow control policies with the ability to specify default
response status codes for denied requests.
Fix crash with disabled object storage (3078)
Fixes: 3077
- **Refactor**
- Updated the dependency injection setup for the `objectstorage` module
to streamline service provisioning.
- **Documentation**
- Adjusted documentation to reflect changes in the `objectstorage`
service interface.
[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v2.29.0...releases/aperture-controller/v2.30.0