Changelog
List of aperture PRs merged since 0.9.0 release. For the full list of changes, see [list of changes][changes]
Remove unused CheckResponse.Error (906)
This field described only authz-specific errors and was filled in
envoy.Handler.Check() response when also returning non-nil error, but in
such case the grpc framework was not using the response anyway.
This field was also used for metrics, but no codepath was actually
setting them, as flowcontrol never set these.
Also:
* Create errors using grpc/status package, so that we have control on
the grpc
status.
* Add missing sampled logs for error conditions.
Drive-by:
* Remove unused error from ClassifierEngine.Classify(), as it's
infallible (all errors are reported individually per-label).
* Remove unused code from authz.go.
Aperture SDK for Javascript (817)
Co-authored-by: Hasit Mistry <hasitfluxninja.com>
Add authzHandler to sdk-validator's grpc server (797)
Description of change
Add authzHandler to sdk-validator's grpc server
- Add CommonHandler
- Refactor FlowControlHandler with CommonHandler
Alerts pipelines (893)
Description of change
This introduces basic pipelines for Alerts including the following.
`alerts.Alerter` interface
This interface is being propagated as part of the platform. It can be
used by any party interested by calling `AddAlert(*alerts.Alert)`
method. In particular, it will be used by components like
https://github.com/fluxninja/aperture/issues/863.
There are helper functions and methods provided to `alerts.Alert` struct
for easy construction of such alerts.
Alerts receiver
This receiver calls `AlertsChan()` method of `alerts.Alerter`, converts
received `alert.Alert` structs into OpenTelemetry Logs format and pushes
into the next consumer.
There are convenient functions provided for easy conversions in both
ways, to be used in the Alertmanager exporter
https://github.com/fluxninja/aperture/issues/862.
Alerts processors
Alerts processor add proper labels to the alerts i.e. `agent_group`,
`instance` and `controller_id`.
Ref: GH-861
flowcontrol: restructure codebase II (898)
Description of change
Making room for adding more APIs (adapters, previews etc) under
flowcontrol.
Document Prometheus metrics and OLAP Flow events (878)
Description of change
Closes: 720
Speed up ser/deserialization of CheckResponse in envoy authz (881)
Now CheckResponse is binary-encoded in protobuf wire format and stored
in DynamicMetadata as base64 string. This speeds up serialization, but
also deserialization (in metrics processor).
No changes in envoyfilter defition were needed as envoy's access logger passes
StringValue from dynamic meatadata as-is (previously, it was JSON-encoding a
StructValue into string)
Note: metrics processor still accepts JSON-encoding, so other SDKs should
continue working without changes.
[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v0.9.0...releases/aperture-controller/v0.10.0-rc.1