Aperture-py

Latest version: v2.26.0

Safety actively analyzes 688674 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 30 of 53

1.6.0rc.2

Changelog

List of aperture PRs merged since 1.5.0 release. For the full list of changes, see [list of changes][changes]

fix remark validate link issues (1853)


Multi selectors (1826)

Description of change

Support for repeated selector field in all data-plane components.

![Screenshot from 2023-04-30
21-35-47](https://user-images.githubusercontent.com/18579817/235407302-efe30bed-bdcf-407c-9246-51ebdf9d9650.png)

**New Feature:**
- Support for repeated selector fields in all data-plane components
- Added `MatchWithResultCollection` method to the `MultiMatcher` struct
- New `GetSelectors()` method and related changes in various interfaces
and structs

**Documentation:**
- Updated documentation files with minor changes, including fixing
broken links, typos, and modifying titles and descriptions

> ๐ŸŽ‰ Repeated selectors, now we're able,
> To scale our components, oh so stable!
> Docs refined, code's aligned,
> With this PR, we've truly shined! ๐ŸŒŸ

---------

Co-authored-by: Tanveer Gill <tanveer.gillfluxninja.com>

Use connector to direct traces to logs (1807)

Implement adapter connector which converts traces to logs. Use this
adapter in pipeline instead of loopback hack.

**New Feature:**
- Added adapter connector to convert traces to logs, replacing loopback
hack
- Removed `tracestologsprocessor` factory and introduced
`adapterconnector` factory
- Removed `filelog` receiver and fake log pipeline
- Updated `OTelConfig` struct with new fields and methods

> ๐ŸŽ‰ A new dawn for trace conversion,
> Adapter connector brings a revolution.
> Farewell to the loopback hack,
> With this update, we're on the right track! ๐Ÿš€

Made the gateway address change backward compatible (1821)

**New Feature:**
- Added backward compatibility checks for older default addresses
- Updated field mappings for component conversion

> ๐ŸŽ‰ A step back in time we take, ๐Ÿ•ฐ๏ธ
> To ensure compatibility we make. ๐Ÿ› ๏ธ
> Field mappings now renewed, ๐Ÿ”„
> For a future that's well-reviewed. ๐ŸŒŸ

Backward compatibility helper and other improvements (1818)

Description of change
* Helper function to rewrite specs for backward compatibility reduced
code repetition).
* Minor suggestions by OpenAI.
* Incorporates improvements suggested in
https://github.com/fluxninja/aperture/pull/1792


- New Feature: Improved flow control components and circuit factory logic
- Bug fix: Addressed issues in table structure and column names
- Documentation: Updated comments and documentation for better clarity
- Refactor: Modified helper functions, test cases, and function names for consistency

> ๐ŸŽ‰ Flow control's now refined,
> With bugs and issues left behind.
> Docs are clear, code's robust,
> In this PR we place our trust. ๐Ÿš€


---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

Renaming components for clarity (1792)

Description of change
* Renames:
* ConcurrencyLimiter -> LoadScheduler
* AIMDConcurrencyLimiter -> AdaptiveLoadScheduler
* LoadRegulator -> Regulator
* LoadShaper -> LoadRamp
* Initial changes towards load shed confirmatory criteria

**New Feature**:
- Added flow control, load regulation, and concurrency limiting
capabilities
- Updated API definitions, SDKs, blueprints, and policy implementations
- Enhanced documentation for flow control concepts, bundled blueprints,
tutorials, and observability

> ๐ŸŽ‰ Flow control's here to stay, ๐ŸŒŠ
> Regulating loads, leading the way. โš–๏ธ
> Concurrency limits refined, ๐Ÿ”’
> With docs and blueprints combined! ๐Ÿ“š๐Ÿ”ง

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

Update go-swagger (1813)

Description of change

- This update fixes adding descriptions to inner struct fields
- Removed deprecated fields

**Refactor:**
- Removed deprecated fields and updated descriptions for inner struct
fields
- Updated go-swagger package and configurations
- Renamed `BatchPrerolupConfig` to `BatchPrerollupConfig`

**Test:**
- Commented out test cases with TODO message

**Documentation:**
- Updated documentation for various configurations

> ๐ŸŽ‰ Deprecated fields, now gone away,
> Descriptions fixed, hooray! ๐Ÿฅณ
> Swagger package, up-to-date,
> Configurations celebrate! ๐Ÿš€

---------

Co-authored-by: Hardik Shingala <hardik.shingalafluxninja.com>

Limit workload latency observations to accepted flows (1814)

Description of change
* Limit workload latency observations to accepted flows with valid
latency.
* Fix invalid signal and flux meter metrics.
* Fix Signals dashboard

**Bug fix:**
- Limit workload latency observations to accepted flows with valid
latency
- Fix invalid signal and flux meter metrics

**Documentation:**
- Correct typo in policy specification documentation

**Chore:**
- Update `prettier` package to the latest version
- Modify build processes for better maintainability

> ๐ŸŽ‰ Oh, rejoice! The bugs we've slain, ๐Ÿ›
> Metrics fixed, no more disdain. ๐Ÿ“Š
> Docs improved, a typo caught, ๐Ÿ“
> Prettier updated, as it ought. ๐ŸŒŸ

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

Bundle all otel extensions in default agent image (1799)

Agent's default Dockerfile is now enabling all bundled extensions.
Thanks to that, all opentelemetry-collector-contrib-based custom metrics
receivers can be used on default agent image.

Fix feature-rollout dashboards, policy (1801)

Description of change

![Screenshot from 2023-04-24
12-19-21](https://user-images.githubusercontent.com/1553055/234094838-eb4a6d51-ca9a-4ae9-a99f-1cd25868e04b.png)
![Screenshot from 2023-04-24
12-19-39](https://user-images.githubusercontent.com/1553055/234094842-b0cf481f-736d-41e5-aca0-876a97e7b839.png)

**Refactor:**
- Updated Prometheus queries in feature rollout and signals dashboards
- Removed filters and clauses such as `valid="true"` and `by (valid)`
for improved query performance

> ๐ŸŽ‰ Oh, the queries we've refined, ๐Ÿ“Š
> With filters and clauses left behind! ๐Ÿš€
> Dashboards now lighter, yet still bright, โœจ
> Our data shines with newfound might! ๐Ÿ’ช

Add agent group label to metrics (1800)

**New Feature:**
- Add `AgentGroupLabel` for better agent group identification in metrics
- Update `podCounter` metric, `newAutoScaleControlPoints`, and
`newPodNotifier` functions to support `agentGroup` parameter
- Modify `provideAutoScaleControlPoints` function to include `AgentInfo`
argument and create `PodNotifier` with `AgentGroup` value

> ๐ŸŽ‰ A new label takes the stage, ๐Ÿท๏ธ
> Agent groups now engage. ๐Ÿค–
> Metrics refined, code aligned, ๐Ÿ“Š
> Our autoscaling knowledge, we gauge! ๐Ÿš€

Corrected error messages for namespace scoped installation (1797)

**Bug fix:**
- Improved error handling for forbidden errors in installation utils
- Corrected error messages for better clarity
- Added check for empty endpoints before fetching the controller client
certificate

> ๐ŸŽ‰ Oh, rejoice and celebrate! ๐Ÿฅณ
> For we've squashed bugs, no more to wait. ๐Ÿ›
> Error handling now refined, โœจ
> And clearer messages we shall find. ๐Ÿ“œ
> With endpoints checked, we're feeling great! ๐Ÿš€

Export platform logger constructor so it can be used outside of Fx (1699)


New Feature:
- Added `NewLogger` function for creating logger instances with provided configuration and additional writers
- Modified `provideLogger` function to use the new `NewLogger` method

> ๐ŸŽ‰ A logger's tale, so bold and bright,
> With new features, it takes flight.
> Additional writers join the fray,
> As we celebrate this code today! ๐Ÿš€


---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

support defaults on maps (1790)


SMA Component (1775)

Description of change

- Add Simple Moving Average (SMA) component to the policy language
- Fix rendering boolean type default in docs

Policy dashboard:
![Screenshot from 2023-04-21
11-19-31](https://user-images.githubusercontent.com/1553055/233707796-fb56a3c6-e5dd-4374-b55c-b1b516c8d2b6.png)

Signals dashboard:
![Screenshot from 2023-04-21
11-19-44](https://user-images.githubusercontent.com/1553055/233707779-5bff3940-f744-41e9-898e-3f7234319dfb.png)

**New Feature:**
- Added Simple Moving Average (SMA) filter component to the policy
language

**Documentation:**
- Updated documentation for the new SMA component
- Added default values to agent and controller configuration options

**Style:**
- Removed unnecessary line break in `ema.go`
- Reordered import statements in `logical_test.go`

> ๐ŸŽ‰ A new component we bring, ๐ŸŒŸ
> The Simple Moving Average, a useful thing! ๐Ÿ“ˆ
> With docs updated, users will know, ๐Ÿ“š
> How to use it, watch their policies grow! ๐ŸŒฑ

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v1.5.0...releases/aperture-controller/v1.6.0-rc.2

1.6.0rc.1

Changelog

List of aperture PRs merged since 1.5.0 release. For the full list of changes, see [list of changes][changes]

Use connector to direct traces to logs (1807)

Implement adapter connector which converts traces to logs. Use this
adapter in pipeline instead of loopback hack.

**New Feature:**
- Added adapter connector to convert traces to logs, replacing loopback
hack
- Removed `tracestologsprocessor` factory and introduced
`adapterconnector` factory
- Removed `filelog` receiver and fake log pipeline
- Updated `OTelConfig` struct with new fields and methods

> ๐ŸŽ‰ A new dawn for trace conversion,
> Adapter connector brings a revolution.
> Farewell to the loopback hack,
> With this update, we're on the right track! ๐Ÿš€

Made the gateway address change backward compatible (1821)

**New Feature:**
- Added backward compatibility checks for older default addresses
- Updated field mappings for component conversion

> ๐ŸŽ‰ A step back in time we take, ๐Ÿ•ฐ๏ธ
> To ensure compatibility we make. ๐Ÿ› ๏ธ
> Field mappings now renewed, ๐Ÿ”„
> For a future that's well-reviewed. ๐ŸŒŸ

Backward compatibility helper and other improvements (1818)

Description of change
* Helper function to rewrite specs for backward compatibility reduced
code repetition).
* Minor suggestions by OpenAI.
* Incorporates improvements suggested in
https://github.com/fluxninja/aperture/pull/1792

- New Feature: Improved flow control components and circuit factory logic
- Bug fix: Addressed issues in table structure and column names
- Documentation: Updated comments and documentation for better clarity
- Refactor: Modified helper functions, test cases, and function names for consistency

> ๐ŸŽ‰ Flow control's now refined,
> With bugs and issues left behind.
> Docs are clear, code's robust,
> In this PR we place our trust. ๐Ÿš€

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

Renaming components for clarity (1792)

Description of change
* Renames:
* ConcurrencyLimiter -> LoadScheduler
* AIMDConcurrencyLimiter -> AdaptiveLoadScheduler
* LoadRegulator -> Regulator
* LoadShaper -> LoadRamp
* Initial changes towards load shed confirmatory criteria

**New Feature**:
- Added flow control, load regulation, and concurrency limiting
capabilities
- Updated API definitions, SDKs, blueprints, and policy implementations
- Enhanced documentation for flow control concepts, bundled blueprints,
tutorials, and observability

> ๐ŸŽ‰ Flow control's here to stay, ๐ŸŒŠ
> Regulating loads, leading the way. โš–๏ธ
> Concurrency limits refined, ๐Ÿ”’
> With docs and blueprints combined! ๐Ÿ“š๐Ÿ”ง

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

Update go-swagger (1813)

Description of change

- This update fixes adding descriptions to inner struct fields
- Removed deprecated fields

**Refactor:**
- Removed deprecated fields and updated descriptions for inner struct
fields
- Updated go-swagger package and configurations
- Renamed `BatchPrerolupConfig` to `BatchPrerollupConfig`

**Test:**
- Commented out test cases with TODO message

**Documentation:**
- Updated documentation for various configurations

> ๐ŸŽ‰ Deprecated fields, now gone away,
> Descriptions fixed, hooray! ๐Ÿฅณ
> Swagger package, up-to-date,
> Configurations celebrate! ๐Ÿš€

---------

Co-authored-by: Hardik Shingala <hardik.shingalafluxninja.com>

Limit workload latency observations to accepted flows (1814)

Description of change
* Limit workload latency observations to accepted flows with valid
latency.
* Fix invalid signal and flux meter metrics.
* Fix Signals dashboard

**Bug fix:**
- Limit workload latency observations to accepted flows with valid
latency
- Fix invalid signal and flux meter metrics

**Documentation:**
- Correct typo in policy specification documentation

**Chore:**
- Update `prettier` package to the latest version
- Modify build processes for better maintainability

> ๐ŸŽ‰ Oh, rejoice! The bugs we've slain, ๐Ÿ›
> Metrics fixed, no more disdain. ๐Ÿ“Š
> Docs improved, a typo caught, ๐Ÿ“
> Prettier updated, as it ought. ๐ŸŒŸ

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

Bundle all otel extensions in default agent image (1799)

Agent's default Dockerfile is now enabling all bundled extensions.
Thanks to that, all opentelemetry-collector-contrib-based custom metrics
receivers can be used on default agent image.

Fix feature-rollout dashboards, policy (1801)

![Screenshot from 2023-04-24
12-19-21](https://user-images.githubusercontent.com/1553055/234094838-eb4a6d51-ca9a-4ae9-a99f-1cd25868e04b.png)
![Screenshot from 2023-04-24
12-19-39](https://user-images.githubusercontent.com/1553055/234094842-b0cf481f-736d-41e5-aca0-876a97e7b839.png)

**Refactor:**
- Updated Prometheus queries in feature rollout and signals dashboards
- Removed filters and clauses such as `valid="true"` and `by (valid)`
for improved query performance

> ๐ŸŽ‰ Oh, the queries we've refined, ๐Ÿ“Š
> With filters and clauses left behind! ๐Ÿš€
> Dashboards now lighter, yet still bright, โœจ
> Our data shines with newfound might! ๐Ÿ’ช

Add agent group label to metrics (1800)

**New Feature:**
- Add `AgentGroupLabel` for better agent group identification in metrics
- Update `podCounter` metric, `newAutoScaleControlPoints`, and
`newPodNotifier` functions to support `agentGroup` parameter
- Modify `provideAutoScaleControlPoints` function to include `AgentInfo`
argument and create `PodNotifier` with `AgentGroup` value

> ๐ŸŽ‰ A new label takes the stage, ๐Ÿท๏ธ
> Agent groups now engage. ๐Ÿค–
> Metrics refined, code aligned, ๐Ÿ“Š
> Our autoscaling knowledge, we gauge! ๐Ÿš€

Corrected error messages for namespace scoped installation (1797)

**Bug fix:**
- Improved error handling for forbidden errors in installation utils
- Corrected error messages for better clarity
- Added check for empty endpoints before fetching the controller client
certificate

> ๐ŸŽ‰ Oh, rejoice and celebrate! ๐Ÿฅณ
> For we've squashed bugs, no more to wait. ๐Ÿ›
> Error handling now refined, โœจ
> And clearer messages we shall find. ๐Ÿ“œ
> With endpoints checked, we're feeling great! ๐Ÿš€

Export platform logger constructor so it can be used outside of Fx (1699)

New Feature:
- Added `NewLogger` function for creating logger instances with provided configuration and additional writers
- Modified `provideLogger` function to use the new `NewLogger` method

> ๐ŸŽ‰ A logger's tale, so bold and bright,
> With new features, it takes flight.
> Additional writers join the fray,
> As we celebrate this code today! ๐Ÿš€

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

support defaults on maps (1790)


SMA Component (1775)

Description of change

- Add Simple Moving Average (SMA) component to the policy language
- Fix rendering boolean type default in docs

Policy dashboard:
![Screenshot from 2023-04-21
11-19-31](https://user-images.githubusercontent.com/1553055/233707796-fb56a3c6-e5dd-4374-b55c-b1b516c8d2b6.png)

Signals dashboard:
![Screenshot from 2023-04-21
11-19-44](https://user-images.githubusercontent.com/1553055/233707779-5bff3940-f744-41e9-898e-3f7234319dfb.png)

**New Feature:**
- Added Simple Moving Average (SMA) filter component to the policy
language

**Documentation:**
- Updated documentation for the new SMA component
- Added default values to agent and controller configuration options

**Style:**
- Removed unnecessary line break in `ema.go`
- Reordered import statements in `logical_test.go`

> ๐ŸŽ‰ A new component we bring, ๐ŸŒŸ
>
> The Simple Moving Average, a useful thing! ๐Ÿ“ˆ
>
> With docs updated, users will know, ๐Ÿ“š
>
> How to use it, watch their policies grow! ๐ŸŒฑ

---------

Co-authored-by: Harjot Gill <harjot.gillfluxninja.com>

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v1.5.0...releases/aperture-controller/v1.6.0-rc.1

1.5.2

Changelog

List of aperture PRs merged since 1.4.0 release. For the full list of changes, see [list of changes][changes]

Changed HTTP library in Gateways integration (1815)

Description of change

This change fixes the issue in the gateways integrations behaving
incorrectly with playground scenarios.

Nginx:

![image](https://user-images.githubusercontent.com/34568645/234783712-08479dd9-7be5-4d87-9ca3-79e153cb1890.png)

Kong:

![image](https://user-images.githubusercontent.com/34568645/234783746-f335d054-d6f8-4c06-b8de-e114d8e61607.png)

**New Feature:**
- Improved compatibility with Nginx and Kong gateways by replacing
`socket.http` with `resty.http` in `access.lua`.

**Chore:**
- Added new dependencies and updated descriptions for Kong and Nginx
plugins.

> tada A gateway's tale, now more robust,
> With `resty.http`, we entrust.
> Kong and Nginx, side by side,
> In harmony, they shall reside. rocket

Fix feature-rollout dashboards, policy (1801)

![Screenshot from 2023-04-24
12-19-21](https://user-images.githubusercontent.com/1553055/234094838-eb4a6d51-ca9a-4ae9-a99f-1cd25868e04b.png)
![Screenshot from 2023-04-24
12-19-39](https://user-images.githubusercontent.com/1553055/234094842-b0cf481f-736d-41e5-aca0-876a97e7b839.png)

**Refactor:**
- Updated Prometheus queries in feature rollout and signals dashboards
- Removed filters and clauses such as `valid="true"` and `by (valid)`
for improved query performance

> ๐ŸŽ‰ Oh, the queries we've refined, ๐Ÿ“Š
> With filters and clauses left behind! ๐Ÿš€
> Dashboards now lighter, yet still bright, โœจ
> Our data shines with newfound might! ๐Ÿ’ช

Corrected error messages for namespace scoped installation (1797)

**Bug fix:**
- Improved error handling for forbidden errors in installation utils
- Corrected error messages for better clarity
- Added check for empty endpoints before fetching the controller client
certificate

> ๐ŸŽ‰ Oh, rejoice and celebrate! ๐Ÿฅณ
> For we've squashed bugs, no more to wait. ๐Ÿ›
> Error handling now refined, โœจ
> And clearer messages we shall find. ๐Ÿ“œ
> With endpoints checked, we're feeling great! ๐Ÿš€

support defaults on maps (1790)


refactor flowcontrol engine (1776)


Don't pass metric deletion error in circuit (1774)

We delete some metrics for invalid readings. So they get deleted twice.
Deleting a deleted metric is not bad, so we can just handle this and log
in setup.

Bug fix
- Improved error handling in circuit setup function by logging errors
during metrics deletion and returning nil instead of multi-error when no
errors are present.

> ๐ŸŽ‰ Oh, rejoice, for we have caught the bug! ๐Ÿ›
> In circuit setup, it hid snug. ๐ŸŒฟ
> With better logs, we now unveil ๐Ÿ“œ
> The errors that once made us fail. ๐Ÿ’ช

Fixed certificate issues on Operator restarts (1770)

Description of change

This change persists the certificates generated by the Operator for
webhooks and Controller so that we don't see the certificate errors
during upgrades or operator pod restarts.

Fixes 1694

**Bug fix:**
- Persist certificates generated by the Operator for webhooks and
Controller to prevent certificate issues on restarts

**Documentation:**
- Update installation documentation to reflect certificate persistence
changes

**Refactor:**
- Improve code readability and maintainability

> ๐ŸŽ‰ Certificates persist, no more errors resist! ๐Ÿš€
> With docs updated, and code refactored,
> Our Operator's journey, now unencumbered. ๐ŸŒŸ

Update policy and dynamic-config APIs (1767)

Description of change

- Update etcd calls to be blocking using `etcdClient` directly
- Move away from adding/updating multiple policies and dynamic-configs
in a single call
- Combine a POST and PATCH into 1 call, by using
`google.protobuf.FieldMask`, still keeping both methods and backwards
compatibility with `aperturectl`
- Add FieldMask related helper functions in utils
- Replace "no matches for kind" string check with
`k8s.io/apimachinery/pkg/api/meta` errors check

**New Feature:**
- Combine POST and PATCH into a single call using
`google.protobuf.FieldMask`
- Add FieldMask helper functions in the `utils` package

**Refactor:**
- Update etcd calls to be blocking
- Simplify policy and dynamic-config updates by separating them
- Improve error handling with `k8s.io/apimachinery/pkg/api/meta` errors
check

> ๐ŸŽ‰ A merge of POST and PATCH we see, ๐Ÿ”„
> With FieldMask helpers, oh so nifty! ๐Ÿ› ๏ธ
> Etcd calls now block, as they should, โฑ๏ธ
> And error checks improved, all understood. ๐Ÿš€

Namespace scoped installation (1764)

Description of change

This PR contains all the changes required for running agent and
controller in namespace scoped:
- Option in Agent and Controller helm chart to install only namespace
scoped installation
- aperturectl support for installation in namespace scoped
- Disable Policy CR watcher conditionally in Controller
- Policy Post and Delete APIs for managing policies

Fixes 1692

Default Playground SS:

![image](https://user-images.githubusercontent.com/34568645/231963724-9dca44b8-d88a-46c6-aeb4-920568b0cb6f.png)

Aperture Running in namespace scoped SS with Envoy:

![image](https://user-images.githubusercontent.com/34568645/232030633-f40d66ef-c77f-445b-a78f-1ae0c3823da7.png)

**New Feature:**
- Namespace-scoped installation of Aperture Agent and Controller
- New APIs for managing policies and dynamic configs
- Conditional disabling of Policy CR watcher in Controller
- `aperturectl delete` command for deleting policies

**Documentation:**
- Updated documentation for new installation modes, APIs, and commands

> ๐ŸŽ‰ Namespace-scoped, we now install,
> With new APIs, our features fulfill.
> Policies managed, with ease and grace,
> Aperture's updates, we embrace! ๐Ÿš€

---------

Co-authored-by: Hasit Mistry <hasitfluxninja.com>

GRPC -> gRPC (1762)


Fix metrics (1759)

scheduler: rely on client timeouts (1757)

Description of change

Scheduler logic is changed to ignore the existing `timeout_factor` and
`max_timeout` fields. Instead, the Check() call's client must decide the
timeout for each request. To work with fail-open design of Aperture
clients, `decision_deadline_margin` parameter is added instead.

**New Feature:**
- Rely on client timeouts for scheduler logic
- Add `decision_deadline_margin` parameter for fail-open design

**Refactor:**
- Remove unused imports and minor modifications in load generator test
files

> ๐ŸŽ‰ A new dawn for scheduling, we embrace,
> ๐Ÿ•’ Client timeouts now lead the race.
> โฑ๏ธ With margins set, decisions are wise,
> ๐Ÿงน Cleaned up imports, a welcomed surprise!

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v1.4.0...releases/aperture-controller/v1.5.2

1.5.2rc.1

Changelog

List of aperture PRs merged since 1.4.0 release. For the full list of changes, see [list of changes][changes]

Changed HTTP library in Gateways integration (1815)

Description of change

This change fixes the issue in the gateways integrations behaving
incorrectly with playground scenarios.

Nginx:

![image](https://user-images.githubusercontent.com/34568645/234783712-08479dd9-7be5-4d87-9ca3-79e153cb1890.png)

Kong:

![image](https://user-images.githubusercontent.com/34568645/234783746-f335d054-d6f8-4c06-b8de-e114d8e61607.png)

**New Feature:**
- Improved compatibility with Nginx and Kong gateways by replacing
`socket.http` with `resty.http` in `access.lua`.

**Chore:**
- Added new dependencies and updated descriptions for Kong and Nginx
plugins.

> tada A gateway's tale, now more robust,
> With `resty.http`, we entrust.
> Kong and Nginx, side by side,
> In harmony, they shall reside. rocket

Fix feature-rollout dashboards, policy (1801)

![Screenshot from 2023-04-24
12-19-21](https://user-images.githubusercontent.com/1553055/234094838-eb4a6d51-ca9a-4ae9-a99f-1cd25868e04b.png)
![Screenshot from 2023-04-24
12-19-39](https://user-images.githubusercontent.com/1553055/234094842-b0cf481f-736d-41e5-aca0-876a97e7b839.png)

**Refactor:**
- Updated Prometheus queries in feature rollout and signals dashboards
- Removed filters and clauses such as `valid="true"` and `by (valid)`
for improved query performance

> ๐ŸŽ‰ Oh, the queries we've refined, ๐Ÿ“Š
> With filters and clauses left behind! ๐Ÿš€
> Dashboards now lighter, yet still bright, โœจ
> Our data shines with newfound might! ๐Ÿ’ช

Corrected error messages for namespace scoped installation (1797)

**Bug fix:**
- Improved error handling for forbidden errors in installation utils
- Corrected error messages for better clarity
- Added check for empty endpoints before fetching the controller client
certificate

> ๐ŸŽ‰ Oh, rejoice and celebrate! ๐Ÿฅณ
> For we've squashed bugs, no more to wait. ๐Ÿ›
> Error handling now refined, โœจ
> And clearer messages we shall find. ๐Ÿ“œ
> With endpoints checked, we're feeling great! ๐Ÿš€

support defaults on maps (1790)


refactor flowcontrol engine (1776)


Don't pass metric deletion error in circuit (1774)

We delete some metrics for invalid readings. So they get deleted twice.
Deleting a deleted metric is not bad, so we can just handle this and log
in setup.

Bug fix
- Improved error handling in circuit setup function by logging errors
during metrics deletion and returning nil instead of multi-error when no
errors are present.

> ๐ŸŽ‰ Oh, rejoice, for we have caught the bug! ๐Ÿ›
> In circuit setup, it hid snug. ๐ŸŒฟ
> With better logs, we now unveil ๐Ÿ“œ
> The errors that once made us fail. ๐Ÿ’ช

Fixed certificate issues on Operator restarts (1770)

Description of change

This change persists the certificates generated by the Operator for
webhooks and Controller so that we don't see the certificate errors
during upgrades or operator pod restarts.

Fixes 1694

**Bug fix:**
- Persist certificates generated by the Operator for webhooks and
Controller to prevent certificate issues on restarts

**Documentation:**
- Update installation documentation to reflect certificate persistence
changes

**Refactor:**
- Improve code readability and maintainability

> ๐ŸŽ‰ Certificates persist, no more errors resist! ๐Ÿš€
> With docs updated, and code refactored,
> Our Operator's journey, now unencumbered. ๐ŸŒŸ

Update policy and dynamic-config APIs (1767)

Description of change

- Update etcd calls to be blocking using `etcdClient` directly
- Move away from adding/updating multiple policies and dynamic-configs
in a single call
- Combine a POST and PATCH into 1 call, by using
`google.protobuf.FieldMask`, still keeping both methods and backwards
compatibility with `aperturectl`
- Add FieldMask related helper functions in utils
- Replace "no matches for kind" string check with
`k8s.io/apimachinery/pkg/api/meta` errors check

**New Feature:**
- Combine POST and PATCH into a single call using
`google.protobuf.FieldMask`
- Add FieldMask helper functions in the `utils` package

**Refactor:**
- Update etcd calls to be blocking
- Simplify policy and dynamic-config updates by separating them
- Improve error handling with `k8s.io/apimachinery/pkg/api/meta` errors
check

> ๐ŸŽ‰ A merge of POST and PATCH we see, ๐Ÿ”„
> With FieldMask helpers, oh so nifty! ๐Ÿ› ๏ธ
> Etcd calls now block, as they should, โฑ๏ธ
> And error checks improved, all understood. ๐Ÿš€

Namespace scoped installation (1764)

Description of change

This PR contains all the changes required for running agent and
controller in namespace scoped:
- Option in Agent and Controller helm chart to install only namespace
scoped installation
- aperturectl support for installation in namespace scoped
- Disable Policy CR watcher conditionally in Controller
- Policy Post and Delete APIs for managing policies

Fixes 1692

Default Playground SS:

![image](https://user-images.githubusercontent.com/34568645/231963724-9dca44b8-d88a-46c6-aeb4-920568b0cb6f.png)

Aperture Running in namespace scoped SS with Envoy:

![image](https://user-images.githubusercontent.com/34568645/232030633-f40d66ef-c77f-445b-a78f-1ae0c3823da7.png)

**New Feature:**
- Namespace-scoped installation of Aperture Agent and Controller
- New APIs for managing policies and dynamic configs
- Conditional disabling of Policy CR watcher in Controller
- `aperturectl delete` command for deleting policies

**Documentation:**
- Updated documentation for new installation modes, APIs, and commands

> ๐ŸŽ‰ Namespace-scoped, we now install,
> With new APIs, our features fulfill.
> Policies managed, with ease and grace,
> Aperture's updates, we embrace! ๐Ÿš€

---------

Co-authored-by: Hasit Mistry <hasitfluxninja.com>

GRPC -> gRPC (1762)


Fix metrics (1759)

scheduler: rely on client timeouts (1757)

Description of change

Scheduler logic is changed to ignore the existing `timeout_factor` and
`max_timeout` fields. Instead, the Check() call's client must decide the
timeout for each request. To work with fail-open design of Aperture
clients, `decision_deadline_margin` parameter is added instead.

**New Feature:**
- Rely on client timeouts for scheduler logic
- Add `decision_deadline_margin` parameter for fail-open design

**Refactor:**
- Remove unused imports and minor modifications in load generator test
files

> ๐ŸŽ‰ A new dawn for scheduling, we embrace,
> ๐Ÿ•’ Client timeouts now lead the race.
> โฑ๏ธ With margins set, decisions are wise,
> ๐Ÿงน Cleaned up imports, a welcomed surprise!

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v1.4.0...releases/aperture-controller/v1.5.2-rc.1

1.5.1

Changelog

List of aperture PRs merged since 1.4.0 release. For the full list of changes, see [list of changes][changes]

Fix feature-rollout dashboards, policy (1801)

![Screenshot from 2023-04-24
12-19-21](https://user-images.githubusercontent.com/1553055/234094838-eb4a6d51-ca9a-4ae9-a99f-1cd25868e04b.png)
![Screenshot from 2023-04-24
12-19-39](https://user-images.githubusercontent.com/1553055/234094842-b0cf481f-736d-41e5-aca0-876a97e7b839.png)

**Refactor:**
- Updated Prometheus queries in feature rollout and signals dashboards
- Removed filters and clauses such as `valid="true"` and `by (valid)`
for improved query performance

> ๐ŸŽ‰ Oh, the queries we've refined, ๐Ÿ“Š
> With filters and clauses left behind! ๐Ÿš€
> Dashboards now lighter, yet still bright, โœจ
> Our data shines with newfound might! ๐Ÿ’ช

Corrected error messages for namespace scoped installation (1797)

**Bug fix:**
- Improved error handling for forbidden errors in installation utils
- Corrected error messages for better clarity
- Added check for empty endpoints before fetching the controller client
certificate

> ๐ŸŽ‰ Oh, rejoice and celebrate! ๐Ÿฅณ
> For we've squashed bugs, no more to wait. ๐Ÿ›
> Error handling now refined, โœจ
> And clearer messages we shall find. ๐Ÿ“œ
> With endpoints checked, we're feeling great! ๐Ÿš€

support defaults on maps (1790)


refactor flowcontrol engine (1776)


Don't pass metric deletion error in circuit (1774)

We delete some metrics for invalid readings. So they get deleted twice.
Deleting a deleted metric is not bad, so we can just handle this and log
in setup.

Bug fix
- Improved error handling in circuit setup function by logging errors
during metrics deletion and returning nil instead of multi-error when no
errors are present.

> ๐ŸŽ‰ Oh, rejoice, for we have caught the bug! ๐Ÿ›
> In circuit setup, it hid snug. ๐ŸŒฟ
> With better logs, we now unveil ๐Ÿ“œ
> The errors that once made us fail. ๐Ÿ’ช

Fixed certificate issues on Operator restarts (1770)

Description of change

This change persists the certificates generated by the Operator for
webhooks and Controller so that we don't see the certificate errors
during upgrades or operator pod restarts.

Fixes 1694

**Bug fix:**
- Persist certificates generated by the Operator for webhooks and
Controller to prevent certificate issues on restarts

**Documentation:**
- Update installation documentation to reflect certificate persistence
changes

**Refactor:**
- Improve code readability and maintainability

> ๐ŸŽ‰ Certificates persist, no more errors resist! ๐Ÿš€
> With docs updated, and code refactored,
> Our Operator's journey, now unencumbered. ๐ŸŒŸ

Update policy and dynamic-config APIs (1767)

Description of change

- Update etcd calls to be blocking using `etcdClient` directly
- Move away from adding/updating multiple policies and dynamic-configs
in a single call
- Combine a POST and PATCH into 1 call, by using
`google.protobuf.FieldMask`, still keeping both methods and backwards
compatibility with `aperturectl`
- Add FieldMask related helper functions in utils
- Replace "no matches for kind" string check with
`k8s.io/apimachinery/pkg/api/meta` errors check

**New Feature:**
- Combine POST and PATCH into a single call using
`google.protobuf.FieldMask`
- Add FieldMask helper functions in the `utils` package

**Refactor:**
- Update etcd calls to be blocking
- Simplify policy and dynamic-config updates by separating them
- Improve error handling with `k8s.io/apimachinery/pkg/api/meta` errors
check

> ๐ŸŽ‰ A merge of POST and PATCH we see, ๐Ÿ”„
> With FieldMask helpers, oh so nifty! ๐Ÿ› ๏ธ
> Etcd calls now block, as they should, โฑ๏ธ
> And error checks improved, all understood. ๐Ÿš€

Namespace scoped installation (1764)

Description of change

This PR contains all the changes required for running agent and
controller in namespace scoped:
- Option in Agent and Controller helm chart to install only namespace
scoped installation
- aperturectl support for installation in namespace scoped
- Disable Policy CR watcher conditionally in Controller
- Policy Post and Delete APIs for managing policies

Fixes 1692

Default Playground SS:

![image](https://user-images.githubusercontent.com/34568645/231963724-9dca44b8-d88a-46c6-aeb4-920568b0cb6f.png)

Aperture Running in namespace scoped SS with Envoy:

![image](https://user-images.githubusercontent.com/34568645/232030633-f40d66ef-c77f-445b-a78f-1ae0c3823da7.png)

**New Feature:**
- Namespace-scoped installation of Aperture Agent and Controller
- New APIs for managing policies and dynamic configs
- Conditional disabling of Policy CR watcher in Controller
- `aperturectl delete` command for deleting policies

**Documentation:**
- Updated documentation for new installation modes, APIs, and commands

> ๐ŸŽ‰ Namespace-scoped, we now install,
> With new APIs, our features fulfill.
> Policies managed, with ease and grace,
> Aperture's updates, we embrace! ๐Ÿš€

---------

Co-authored-by: Hasit Mistry <hasitfluxninja.com>

GRPC -> gRPC (1762)


Fix metrics (1759)

scheduler: rely on client timeouts (1757)

Description of change

Scheduler logic is changed to ignore the existing `timeout_factor` and
`max_timeout` fields. Instead, the Check() call's client must decide the
timeout for each request. To work with fail-open design of Aperture
clients, `decision_deadline_margin` parameter is added instead.

**New Feature:**
- Rely on client timeouts for scheduler logic
- Add `decision_deadline_margin` parameter for fail-open design

**Refactor:**
- Remove unused imports and minor modifications in load generator test
files

> ๐ŸŽ‰ A new dawn for scheduling, we embrace,
> ๐Ÿ•’ Client timeouts now lead the race.
> โฑ๏ธ With margins set, decisions are wise,
> ๐Ÿงน Cleaned up imports, a welcomed surprise!

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v1.4.0...releases/aperture-controller/v1.5.1

1.5.1rc.1

Changelog

List of aperture PRs merged since 1.4.0 release. For the full list of changes, see [list of changes][changes]

Fix feature-rollout dashboards, policy (1801)

![Screenshot from 2023-04-24
12-19-21](https://user-images.githubusercontent.com/1553055/234094838-eb4a6d51-ca9a-4ae9-a99f-1cd25868e04b.png)
![Screenshot from 2023-04-24
12-19-39](https://user-images.githubusercontent.com/1553055/234094842-b0cf481f-736d-41e5-aca0-876a97e7b839.png)

**Refactor:**
- Updated Prometheus queries in feature rollout and signals dashboards
- Removed filters and clauses such as `valid="true"` and `by (valid)`
for improved query performance

> ๐ŸŽ‰ Oh, the queries we've refined, ๐Ÿ“Š
> With filters and clauses left behind! ๐Ÿš€
> Dashboards now lighter, yet still bright, โœจ
> Our data shines with newfound might! ๐Ÿ’ช

Corrected error messages for namespace scoped installation (1797)

**Bug fix:**
- Improved error handling for forbidden errors in installation utils
- Corrected error messages for better clarity
- Added check for empty endpoints before fetching the controller client
certificate

> ๐ŸŽ‰ Oh, rejoice and celebrate! ๐Ÿฅณ
> For we've squashed bugs, no more to wait. ๐Ÿ›
> Error handling now refined, โœจ
> And clearer messages we shall find. ๐Ÿ“œ
> With endpoints checked, we're feeling great! ๐Ÿš€

support defaults on maps (1790)


refactor flowcontrol engine (1776)


Don't pass metric deletion error in circuit (1774)

We delete some metrics for invalid readings. So they get deleted twice.
Deleting a deleted metric is not bad, so we can just handle this and log
in setup.

Bug fix
- Improved error handling in circuit setup function by logging errors
during metrics deletion and returning nil instead of multi-error when no
errors are present.

> ๐ŸŽ‰ Oh, rejoice, for we have caught the bug! ๐Ÿ›
> In circuit setup, it hid snug. ๐ŸŒฟ
> With better logs, we now unveil ๐Ÿ“œ
> The errors that once made us fail. ๐Ÿ’ช

Fixed certificate issues on Operator restarts (1770)

Description of change

This change persists the certificates generated by the Operator for
webhooks and Controller so that we don't see the certificate errors
during upgrades or operator pod restarts.

Fixes 1694

**Bug fix:**
- Persist certificates generated by the Operator for webhooks and
Controller to prevent certificate issues on restarts

**Documentation:**
- Update installation documentation to reflect certificate persistence
changes

**Refactor:**
- Improve code readability and maintainability

> ๐ŸŽ‰ Certificates persist, no more errors resist! ๐Ÿš€
> With docs updated, and code refactored,
> Our Operator's journey, now unencumbered. ๐ŸŒŸ

Update policy and dynamic-config APIs (1767)

Description of change

- Update etcd calls to be blocking using `etcdClient` directly
- Move away from adding/updating multiple policies and dynamic-configs
in a single call
- Combine a POST and PATCH into 1 call, by using
`google.protobuf.FieldMask`, still keeping both methods and backwards
compatibility with `aperturectl`
- Add FieldMask related helper functions in utils
- Replace "no matches for kind" string check with
`k8s.io/apimachinery/pkg/api/meta` errors check

**New Feature:**
- Combine POST and PATCH into a single call using
`google.protobuf.FieldMask`
- Add FieldMask helper functions in the `utils` package

**Refactor:**
- Update etcd calls to be blocking
- Simplify policy and dynamic-config updates by separating them
- Improve error handling with `k8s.io/apimachinery/pkg/api/meta` errors
check

> ๐ŸŽ‰ A merge of POST and PATCH we see, ๐Ÿ”„
> With FieldMask helpers, oh so nifty! ๐Ÿ› ๏ธ
> Etcd calls now block, as they should, โฑ๏ธ
> And error checks improved, all understood. ๐Ÿš€

Namespace scoped installation (1764)

Description of change

This PR contains all the changes required for running agent and
controller in namespace scoped:
- Option in Agent and Controller helm chart to install only namespace
scoped installation
- aperturectl support for installation in namespace scoped
- Disable Policy CR watcher conditionally in Controller
- Policy Post and Delete APIs for managing policies

Fixes 1692

Default Playground SS:

![image](https://user-images.githubusercontent.com/34568645/231963724-9dca44b8-d88a-46c6-aeb4-920568b0cb6f.png)

Aperture Running in namespace scoped SS with Envoy:

![image](https://user-images.githubusercontent.com/34568645/232030633-f40d66ef-c77f-445b-a78f-1ae0c3823da7.png)

**New Feature:**
- Namespace-scoped installation of Aperture Agent and Controller
- New APIs for managing policies and dynamic configs
- Conditional disabling of Policy CR watcher in Controller
- `aperturectl delete` command for deleting policies

**Documentation:**
- Updated documentation for new installation modes, APIs, and commands

> ๐ŸŽ‰ Namespace-scoped, we now install,
> With new APIs, our features fulfill.
> Policies managed, with ease and grace,
> Aperture's updates, we embrace! ๐Ÿš€

---------

Co-authored-by: Hasit Mistry <hasitfluxninja.com>

GRPC -> gRPC (1762)


Fix metrics (1759)

scheduler: rely on client timeouts (1757)

Description of change

Scheduler logic is changed to ignore the existing `timeout_factor` and
`max_timeout` fields. Instead, the Check() call's client must decide the
timeout for each request. To work with fail-open design of Aperture
clients, `decision_deadline_margin` parameter is added instead.

**New Feature:**
- Rely on client timeouts for scheduler logic
- Add `decision_deadline_margin` parameter for fail-open design

**Refactor:**
- Remove unused imports and minor modifications in load generator test
files

> ๐ŸŽ‰ A new dawn for scheduling, we embrace,
> ๐Ÿ•’ Client timeouts now lead the race.
> โฑ๏ธ With margins set, decisions are wise,
> ๐Ÿงน Cleaned up imports, a welcomed surprise!

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v1.4.0...releases/aperture-controller/v1.5.1-rc.1

Page 30 of 53

Links

Releases

Has known vulnerabilities

ยฉ 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.