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 27 of 53

2.3.1rc.1

Changelog

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

Fixed typo in aperturectl log (2065)


Bug fix:
- Fixed a minor typo in the log message of cmd/aperturectl/cmd/utils/controller.go


> 🎉 A tiny typo fixed, our code now shines,
> With every letter in its place, it gracefully aligns.
> A small change indeed, but worth the cheer,
> For clarity and precision, we hold so dear. 🌟

Use custom PolicyMessage for passing policies to be wrapped (2064)

**New Feature:**
- Introduced `PolicyMessage` type with custom JSON marshaling and
unmarshaling
- Replaced `syncv1.PolicyWrapper` with `iface.PolicyMessage` for
improved policy handling

> 🎉 A new dawn for policies, we cheer,
> With `PolicyMessage`, the path is clear.
> Farewell to `syncv1.PolicyWrapper`, old friend,
> Embrace the change, as new features ascend! 🚀

global token bucket: decide based on deadline (2063)

![Screenshot 2023-05-30 at 10 35 15
PM](https://github.com/fluxninja/aperture/assets/18579817/5023d125-0c62-4f77-b202-99ebee3de07e)

**New Feature:**
- Added `Deadline` field to `takeNRequest` struct in global-token-bucket
- Implemented deadline-based rejection for token requests exceeding wait
time

> 🎉 A deadline we set, to keep things fair,
> ⏰ No more waiting, when tokens are rare.
> 🚀 With global token bucket's new might,
> ✨ Our rate limiter shines ever so bright!

wfq: refactor locking (2062)

Description of change

Now that we have global token buckets, we need to release locks before
accessing the token bucket in order to unblock parallel requests.

![Screenshot 2023-05-30 at 9 53 45
PM](https://github.com/fluxninja/aperture/assets/18579817/550fed37-6b78-42d6-a2b6-e8f5ec45eb71)
![Screenshot 2023-05-30 at 10 11 03
PM](https://github.com/fluxninja/aperture/assets/18579817/cc7fdaad-f964-4d46-878e-0d628bd7b985)

**Refactor:**
- Updated locking mechanisms in various flow control actuators and
schedulers to unblock parallel requests
- Added `context.Context` parameter to `Limiter`, `RateLimiter`, and
`Scheduler` interfaces for better lock handling

**Test:**
- Modified `MockLimiter`, `MockRateLimiter`, and `MockScheduler` methods
to include a `context.Context` parameter

> 🎉 Parallel requests now fly, 🚀
> Unblocked, soaring through the sky. 🌌
> Locks released with context's grace, 🔓
> Our code performs at a swifter pace! 💨

Allow extensions to modify also dynamic parts of collector config (2041)

Allow extensions to modify also dynamic parts of collector config.

In previous approach, extensions were able to provide their own part of
collector config only based on base config, with no ability to depend on
dynamic parts of config. This was preventing eg. fluxninja extesion to
add fluxninja exporters to custom metric pipelines (infra meters).

This commit reverts the idea of multiple config providers. Extension
now provide their config by "hooks" instead. Hooks are executed on every
config udpate, so now extensions can modify also the dynamically
injected parts of config.

Drive-by:
* Actually wait for collector's shutdown in its stop hook.
* Rename structs in otelcollector/config package to avoid stutter.
* Add some logging to fluxninja extension.

Resolves 2001

Fixed issue of incorrect value of setpoint constant variable (2054)

Ref 2052


Optimization
- Improved performance in `pkg/policies/controlplane/components/variable.go` by adding an early return statement to avoid unnecessary computation.


> 🎉 A leap in code, swift and wise,
> 🚀 With early returns, performance flies!
> 🌟 Optimized, our code now gleams,
> 😄 For better software, we all dream!

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v2.3.0...releases/aperture-controller/v2.3.1-rc.1

2.3.0

Changelog

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

Send policy metadata in heartbeats (2047)

**New Feature:**
- Added PolicyMetadata to protobuf definitions and messages
- Updated annotation key from `fluxninja.com/blueprint-uri` to
`fluxninja.com/blueprints-uri`
- Added support for sending policy metadata in heartbeats
- Modified policy file compilation and reading process

**Bug fix:**
- Removed "metadata" field from YAML file for successful unmarshalling

**Chore:**
- Added new constant `PoliciesMetadataAPIConfigPath`

> 🎉 A metadata update, we celebrate,
> Heartbeats now carry a heavier weight.
> With annotations changed, and files compiled anew,
> This PR brings features exciting and true! 🚀

Add support for workload name (2045)

Description of change
- If workload name is provided, use that as the index.
- Add validation for uniqueness of workload names

Screenshot

![screencapture-localhost-3000-d-0b57c46452c97079fe958a1b48bfd34a13e4ba25-aperture-service-protection-2023-05-26-10_04_38](https://github.com/fluxninja/aperture/assets/1553055/210ebea8-e7b4-4c04-ae91-043116a9802f)

**New Feature:**
- Added support for workload names in Scheduler message and workload
struct
- Implemented uniqueness validation for workload names

**Minor Change:**
- Removed an empty line in `pkg/metrics/schema.go`

> 🎉 A new feature we bring, with workload names to sing,
> Unique and validated, our scheduler's elevated,
> A minor change, an empty line no more,
> Together we celebrate, this PR we adore! 🚀

Encode blueprint URI and values in policy CR (2040)

**New Feature:**
- Added metadata support to policy definitions, including blueprint URI
and values
- Encoded blueprint URI in JSON format for `metadata` struct in
`cmd/aperturectl/cmd/blueprints/generate.go`
- Updated error message in `docs/tools/aperturectl/validate_common.sh`
to include compared file names
- Modified policy YAML handling in
`pkg/policies/controlplane/validator.go` to encode blueprint URI and
values

> 🎉 A metadata leap, our policies now keep,
> With blueprint URIs, the knowledge runs deep.
> Error messages clear, with file names in sight,
> YAML handling refined, our code takes flight! 🚀

re-org Docs and add new get started flow (1970)

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v2.2.0...releases/aperture-controller/v2.3.0

2.3.0rc.2

Changelog

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

Send policy metadata in heartbeats (2047)

**New Feature:**
- Added PolicyMetadata to protobuf definitions and messages
- Updated annotation key from `fluxninja.com/blueprint-uri` to
`fluxninja.com/blueprints-uri`
- Added support for sending policy metadata in heartbeats
- Modified policy file compilation and reading process

**Bug fix:**
- Removed "metadata" field from YAML file for successful unmarshalling

**Chore:**
- Added new constant `PoliciesMetadataAPIConfigPath`

> 🎉 A metadata update, we celebrate,
> Heartbeats now carry a heavier weight.
> With annotations changed, and files compiled anew,
> This PR brings features exciting and true! 🚀

Add support for workload name (2045)

Description of change
- If workload name is provided, use that as the index.
- Add validation for uniqueness of workload names

Screenshot

![screencapture-localhost-3000-d-0b57c46452c97079fe958a1b48bfd34a13e4ba25-aperture-service-protection-2023-05-26-10_04_38](https://github.com/fluxninja/aperture/assets/1553055/210ebea8-e7b4-4c04-ae91-043116a9802f)

**New Feature:**
- Added support for workload names in Scheduler message and workload
struct
- Implemented uniqueness validation for workload names

**Minor Change:**
- Removed an empty line in `pkg/metrics/schema.go`

> 🎉 A new feature we bring, with workload names to sing,
> Unique and validated, our scheduler's elevated,
> A minor change, an empty line no more,
> Together we celebrate, this PR we adore! 🚀

Encode blueprint URI and values in policy CR (2040)

**New Feature:**
- Added metadata support to policy definitions, including blueprint URI
and values
- Encoded blueprint URI in JSON format for `metadata` struct in
`cmd/aperturectl/cmd/blueprints/generate.go`
- Updated error message in `docs/tools/aperturectl/validate_common.sh`
to include compared file names
- Modified policy YAML handling in
`pkg/policies/controlplane/validator.go` to encode blueprint URI and
values

> 🎉 A metadata leap, our policies now keep,
> With blueprint URIs, the knowledge runs deep.
> Error messages clear, with file names in sight,
> YAML handling refined, our code takes flight! 🚀

re-org Docs and add new get started flow (1970)

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v2.2.0...releases/aperture-controller/v2.3.0-rc.2

2.3.0rc.1

Changelog

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

Encode blueprint URI and values in policy CR (2040)

**New Feature:**
- Added metadata support to policy definitions, including blueprint URI
and values
- Encoded blueprint URI in JSON format for `metadata` struct in
`cmd/aperturectl/cmd/blueprints/generate.go`
- Updated error message in `docs/tools/aperturectl/validate_common.sh`
to include compared file names
- Modified policy YAML handling in
`pkg/policies/controlplane/validator.go` to encode blueprint URI and
values

> 🎉 A metadata leap, our policies now keep,
> With blueprint URIs, the knowledge runs deep.
> Error messages clear, with file names in sight,
> YAML handling refined, our code takes flight! 🚀

re-org Docs and add new get started flow (1970)

[changes]: https://github.com/fluxninja/aperture/compare/releases/aperture-controller/v2.2.0...releases/aperture-controller/v2.3.0-rc.1

2.2.0

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

2.2.0rc.3

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-rc.3

Page 27 of 53

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.