Changelog
List of aperture PRs merged since 2.1.0 release. For the full list of changes, see [list of changes][changes]
Fixes in collector reload and shutdown (1984)
1. Bump collector fork: handle reload correctly in otlpreceiver wrapper
Brings changes from this commit
https://github.com/fluxninja/opentelemetry-collector/commit/5831686da55e26f185a8b24dc3782d4851cc74c9.
Now reloading doesn't cause any races, the server responds with Unimplemented
during reload period.
2. Stop trying to update collector config after shutdown
Still weird why ConfigUpdate was attempted after shutdown, added a warning to
perhaps investigate it in the future.
Fixes 1927, 1995
Removed deprecated check for grpcgateway (1997)
**Refactor:**
- Removed deprecated checks for grpcgateway
- Simplified code by removing backward compatibility support
> 🎉 Oh, the code is lighter now, we cheer! 🥳
> Deprecated checks, gone without fear. 🚀
> Simplicity reigns, as we refactor with grace, 🌟
> A brighter future, this PR shall embrace. 💫
Use CheckHTTP in Go SDK (1971)
User controls for feature rollout and dynamic config refactor (1988)
Description of change
* Dynamic config for feature rollout
* Refactor dynamic config spec and sync messages
* Refactor overload confirmation logic in Adaptive Load Scheduler
* Refactor Gradient Controller: remove optimization port
![Screenshot from 2023-05-22
01-11-19](https://github.com/fluxninja/aperture/assets/3925292/850e65a9-481c-4ed2-888d-8645754a24a6)
![Screenshot from 2023-05-22
02-20-53](https://github.com/fluxninja/aperture/assets/3925292/9caa5c91-d895-4194-9832-4abe47a25577)
delete DMap when policy is removed (1994)
lazy sync: update waitTime logic (1990)
quota scheduler (1989)
rate-limiter: add pass through signal (1987)
![Screenshot from 2023-05-20
14-22-04](https://github.com/fluxninja/aperture/assets/18579817/4554acfe-91c1-4564-8a63-423de287ef5e)
token bucket rate limiter (1979)
Co-authored-by: Hasit Mistry <hasitfluxninja.com>
playground: update rate limit policies (1976)
**Bug fix:**
- Updated rate limit policy signal name from `OBSERVED_LOAD_MULTIPLIER`
to `DESIRED_LOAD_MULTIPLIER`
> 🎉 A change so small, yet vital it stands,
> In the realm of code, we join our hands.
> From observed to desired, a shift we make,
> Ensuring our system, no errors shall break. 🚀
Update olric to use fluxninja/olric fork (1972)
Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>
Fixed aperturectl install istioconfig (1974)
**Refactor:**
- Updated `getTemplets` function to handle `isNamespaceScoped`
differently for `controller` and `agent`
- Enhanced error message in `applyObjectToKubernetesWithRetry` function
for better failure information
> 🎉 A refactor we did make,
> To improve the code we take.
> With better scope and clearer errors,
> Our progress soars like birds with feathers. 🦅
Add dynamic-values sub-command (1963)
**New Feature:**
- Added `dynamic-values` sub-command to the `blueprints` package for
creating dynamic values files for Aperture Blueprints
**Refactor:**
- Moved `createValuesFile()` function to a new sub-command called
`dynamic-values`
- Removed `dynamic-config` flag from `values` sub-command
- Updated default blueprints repository path
**Documentation:**
- Added documentation and usage examples for the new `dynamic-values`
sub-command
> 🎉 A dynamic touch, we've added today,
> To help users with blueprints, in a better way.
> Refactored code, with purpose and grace,
> And updated docs, to keep up the pace. 🚀
Fixed aperturectl apply when controller address is provided (1966)
Description of change
There was an issue where even if we provide `--controller` flag, it was
trying to connect to kubernetes.
Also, added support for insecure controller communication.
Also, --kube flag is now default for all subcommands and can be omitted.
**New Feature:**
- Added support for insecure controller communication and skipping TLS
certificate verification
**Bug fix:**
- Fixed issue where `--controller` flag was not being used to connect to
the controller
- Made `--kube` flag default for all subcommands, allowing it to be
omitted
**Documentation:**
- Updated documentation to reflect changes in code and new features
> 🎉 A flag once lost, now found and secure,
> Insecure connections, we can endure.
> With kube as default, our commands are free,
> Documentation updated, a joyous decree! 🥳
Disable building Kubernetes Discovery when outside the cluster (1964)
Auto Scale Refactor (1962)
Screenshots
![Screenshot from 2023-05-16
15-03-35](https://github.com/fluxninja/aperture/assets/1553055/f36e4103-c67b-452f-9751-16aefe5fd05b)
![Screenshot from 2023-05-16
15-03-45](https://github.com/fluxninja/aperture/assets/1553055/0b53fdac-3739-4293-b6e4-6fca1c3aac52)
![Screenshot from 2023-05-16
15-03-56](https://github.com/fluxninja/aperture/assets/1553055/646e789f-e958-4e8a-b0bc-58f59fa57f23)
**New Feature:**
- Added validation to `alerter` field in `ScaleOutController` and
`ScaleInController` messages
- Removed unused imports and messages related to `autoscale.proto` and
`std_components.proto`
- Updated alert names for scaling controllers in
service-protection-with-load-based-pod-auto-scaler policies
> 🎉 A PR so fine, it's hard to define,
> Validation added, old imports subtracted. 🚀
> Alert names refined, for controllers aligned,
> Scaling with grace, as our codebase is impacted. 🌟
Auto scale refactor (1958)
Description of change
- Simplify combination logic
- Fix issue where max does not work if one of values is invalid
- Use configured scale in final actuation
- Use updated `periodic` proto
- Fix behavior for when to ignore `SCALE_IN` when `SCALE_OUT_HOLD` is in
effect
- Fix constant signal reading of special value
- Use `DESIRED_LOAD_MULTIPLIER` instead of `OBSERVED_LOAD_MULTIPLIER` in
load based scale in
Screenshots
<img width="1904" alt="Screenshot 2023-05-15 at 23 12 09"
src="https://github.com/fluxninja/aperture/assets/1553055/293b34cb-75d4-48a5-ba0b-c099be636f3a">
<img width="1904" alt="Screenshot 2023-05-15 at 23 13 00"
src="https://github.com/fluxninja/aperture/assets/1553055/f2245d50-efa2-4362-ae5a-44898b8490ed">
<img width="1904" alt="Screenshot 2023-05-15 at 23 13 08"
src="https://github.com/fluxninja/aperture/assets/1553055/412c021a-1385-4c00-9fa7-5f3afa01f545">
**New Feature:**
- Enhanced auto-scaling functionality with improved logic and
refactoring
**Bug fix:**
- Simplified combination logic
- Fixed issues with max values
- Used configured scale in final actuation
- Fixed constant signal reading
**Documentation:**
- Updated documentation for periodic scaling parameters
- Removed `PeriodicDecreaseParameters` section from the documentation
> 🎉 Auto-scaling soars, logic refined,
> Bugs squashed, leaving woes behind.
> Docs updated, clear as day,
> Celebrate this PR, hip hooray! 🚀
---------
Co-authored-by: Tanveer Gill <tanveer.gillfluxninja.com>
[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v2.1.0...releases/aperture-controller/v2.2.0