bottlerocket-os / bottlerocket-os/twoliter
Improve Client-side SSM API robustness to reduce getting Rate-limited in Pubsys
- Dominant language
- Rust
- Stars
- 34
- Forks
- 43
- Avg merge
- 11h 13m
- Merged PRs (30d)
- 16
Description
**Description**
We have been seeing issues where multiple instances of twoliter ssm commands, cause us to get rate-limited across Get/Put Parameter API's. We would like to improve upon this by extending some of @cbgbt's previous work.
@cbgbt implemented a async rate-limiting function for the [SSM Get Parameter API](https://github.com/bottlerocket-os/twoliter/pull/348/commits/88051331ebcd404e383819dbfb8b9acf0afc77c9), this can be extended for the Put Parameter API.
Additionally, @cbgbt also implemented [retries](https://github.com/bottlerocket-os/twoliter/commit/88051331ebcd404e383819dbfb8b9acf0afc77c9) for SSM Validation which can be extended to the Get/Put parameter calls in case they fail due to network issues.
** What I'd like **
- get_parameter/set_parameter function calls use retries along with a async rate-limiting function to avoid getting rate-limited.
- Tested against several parallel ssm calls across several variants & regions.
Contributor guide
Research direction
Start by reading the existing SSM Validation retries and the async rate-limiting work linked in the issue, then trace the get_parameter and set_parameter calls. Extend those calls with retries and async rate limiting, and verify completion with parallel SSM calls across several variants and regions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, rust
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100