Skip to content

Support gradual rollout flag for realtime updates - #328

Open
Mishenevd wants to merge 1 commit into
mainfrom
feature/realtime-updates-gradual-rollout
Open

Support gradual rollout flag for realtime updates#328
Mishenevd wants to merge 1 commit into
mainfrom
feature/realtime-updates-gradual-rollout

Conversation

@Mishenevd

@Mishenevd Mishenevd commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Backend can now enable realtime updates per-account via an enabledFeatures list on the config response, ahead of AIKIDO_FEATURE_SSE being set locally. SSE starts if either is true.

Mirrors the change already merged in firewall-node and firewall-ruby. Feature name is realtime_updates, matching the backend.

APIResponse keeps an 11-arg constructor defaulting enabledFeatures to empty, so the ~25 existing call sites in tests are untouched.

Testing:

  • Unit tests on ServiceConfiguration/ServiceConfigStore: defaults to false, true when present, false again once removed, false for an unrelated feature name

Backend can now enable realtime config updates per-account via an
enabledFeatures list on the config response, ahead of the agent
having AIKIDO_FEATURE_SSE set locally. SSE starts if either is true.
@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 27.27273% with 8 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...aikido/agent_api/storage/ServiceConfiguration.java 0.00% 4 Missing ⚠️
...v/aikido/agent_api/storage/ServiceConfigStore.java 0.00% 3 Missing ⚠️
...aikido/agent_api/background/BackgroundProcess.java 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

boolean block,
List<String> excludedUserIdsFromRateLimiting
List<String> excludedUserIdsFromRateLimiting,
List<String> enabledFeatures

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be possible that this becomes null if not set in Core response? And then new HashSet<>(null) might throw? Not a Java export tho.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants