Changelog
List of aperture PRs merged since 0.2.0 release. For the full list of changes, see [list of changes][changes]
Unify OTEL ports with main server (577)
This commit switches Aperture to use OTEL fork with custom OTLP
receiver.
Receiver uses Aperture's GRPC server to listen for OTLP data.
Included in this PR:
* Changes in OTEL configuration.
* Changes in Istio Config chart - only one port to be configured.
Breaking change.
* Changes in operator.
Ref: GH-488
Added watcher for policy from Controller (572)
* Added watcher for policy from Controller
* Fixed unit tests
* Updated the plyaground doc with the latest changes
Add Fluxmeter histogram buckets (473)
* Add FluxMeter Histogram bucket options
* Remove typos
* Fix nil pointer issue
* Add fluxMeterbuckets to demoapp mixins
* Modify FluxMeter Custom
* Update demoapp, fluxmeter jsonnet library file
* Fix in playground, fluxmeter libsonnet
* Add commonselectorv1ControlPoint custom jsonnet
* Update playground policy spec
* Rename Buckets to StaticBuckets
* Update to reflect custom libsonnet changes
* Clean up
* Set other buckets in mixins
* Update blueprints
* Refresh api buf
* clean up
* Libsonnet file clean up
* Generate blueprints precommit
Split Decider and Selector components (542)
* Split Decider component into Decider and Switcher
* Split Selector into ServiceSelector and FlowSelector
* Update blueprints for Decider and Selector changes
Closes: GH-456
Closes: GH-457
Remove custom defs from libsonnet (568)
* remove redundant custom libsonnet defs
* update reference links
Add ResponseMetricsAPI (297)
For managing policy related metrics lifetime
Servers monitoring update (548)
* Change latency buckets configuration for metrics
Closes: GH-452
* Enable latency histogram metric for GRPC server
* Fix metrics in HTTP server
* Fix status code label, previously it was always 200
* Handle error counter metric
* Add handler name label to HTTP metrics
Closes: GH-451
Etcd Client Auth and TLS Params (489)
* Etcd Client Auth and TLS Params
* Bump etcdv3 client & add default username
* Add root user for the authentication
* Grand role to new user
* Generate certs for etcd server & clean up
* Certs to temp directory & add defer()
* Store cert, key into TempDir
* Add activateAuthentication()
* Remove unnecessary return error
* Revert Etcd bump
* Update operators template & bump etcd client
* Clean up
Fix Prometheus scrape config in OTEL (528)
This fixes two issues:
1. Global scrape config in Base OTEL config was modified by FN plugin
2. Scrape timeout in Base OTEL config was larger that the scrape
interval, which is not allowed.
Split scraping metrics for FN plugin (481)
Metrics scraped by prometheus have sampling rate determined by the
scrape interval.
We don't want to send high sampled metrics to the FN Cloud, so in the
plugin now duplicates the scraping config and changes the scrape
interval.
This PR also changes the base scrape config to use only globally set
scrape interval, instead of specyfing it per scrape target.
Dataplane refactor (518)
* Duration fix
* Dataplane fixes/refactor
Peers package unit testing (511)
* Add unit tests for peers package and test suites
* Clean up
Use interface for Reading, TickInfo in runtime package (501)
* Change Tickinfo to interface
* TickStartCallback
* Change reading to an interface
* Rename NewInvalid to InvalidReading
* Move reading into runtime package
Refactor several APIs and structs (502)
* DeepCopy entity vs. entire cache
* macOS fixes
* apple silicon note
* remove validation for files as operator validates them in another container
* portforward defaults
* refactor entity api
* refactor peers api path
* all status api
* remove redundant data structures
* move services list population code to heartbeats
Update accepted/incoming concurrency port names (497)
Use strings in scheduler instead of metrics names
Update OTEL to 0.60.0 (477)
Also fix deprecations.
Co-authored-by: Krzysztof Kwapisiewicz <krzysztof.kwapisiewiczfluxninja.com>
Unify TLS config (375)
* Unify TLS config
* Deduplicate code
Add peers discovery, entity cache service methods (365)
* Add GetEntityByIP, GetEntityByName
* Keep GetByName, GetByIP to return Entity
* Add PeerDiscovery service methods
* Add GetPeerKeys()
* Split service api and implementation
* Revert methods naming
* Remove peers methods
* Use protobuf structs directly for entityCache
* Fix entityCache test
* Fix more tests
* Entities as map of string to entity
* Migrate EntityId into Entity
* Merge into one GetEntity method
* Add GetEntities(), migrate entities
* Deepcopy for Entities()
* Add peers testing
- fixing fx dependency issue, will turn off the comments after
* Add dummy service provider
* Fix testings, verfiy peers
* Use DeepCopy on entities
* Update proto files
* Update test before, after suite
* Maintain PeerDiscovery private
* Update Peers api & testings
Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>
Do not bring up platform in plugin UT (450)
Bringing up platform in plugin UT is not necessary and can lead to data
race when tests are ran in parallel.
Closes: GH-447
Tweak Sentry plugin parsing log event and clean up (420)
* Remove redundant stacktrace
* Parse log event only when on fatal level
* Remove level input from parseLogEvent
* Keep level input for flexibility
* Clean up
[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v0.2.2...releases/aperture-controller/v0.3.0-rc.1