redhat-cop / redhat-cop/group-sync-operator

Keep requests to OKTA under rate limits

Open
#167 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
132
Forks
71
PR merge metrics
No merged PRs in 30d

Description

We are seeing an issue where because we are syncing a large number of groups from OKTA the group-sync-operator makes a large number of requests to OKTA and we are exceeding our rate limit.

For example we have a rate limit of 500 requests / minute. When syncing to a cluster with 250 groups we exceed that rate limit, because this operator makes 2x calls for each group (to get group details and to get group membership).

I think because this project uses the OKTA go client it automatically retries when rate limited so groups are eventually synced correctly. However during the time we are over the rate limit all of our OTHER uses of the OKTA API are affected and it is affecting our business.

I'm not sure the best solution but I'd like to consider modifying this operator so that it looks at the rate limit headers returned from requests and slows down it's requests when it nears the rate limit to stay under the limit.
https://developer.okta.com/docs/reference/rl-best-practices/

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how the group-sync-operator uses the Okta Go client for group details and membership requests, then review the linked Okta rate-limit guidance and response headers. Done means synchronization stays below the configured rate limit without disrupting other Okta API users.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.