Tunable sentinel poll intervals#3905
Conversation
Soffi AI SummaryThis PR bundles several related improvements across the agent operator, AI workbench, and cluster health visualization, motivated by production tuning needs in high-scale cluster deployments. Tunable Sentinel Poll Intervals (primary change): The AI Workbench Enhancements:
Configurable Health Map Limits: Introduces a Cleanup: Removes Commits
Updated: 2026-07-24 22:03 UTC |
Greptile SummaryThis PR exposes the sentinel reconciler's poll interval as a tunable setting via the
Confidence Score: 5/5Safe to merge — the change is additive, fully backward-compatible (new field is optional with a matching CLI default), and the new dynamic-interval logic is covered by tests. All changed paths follow the established pattern for configurable intervals used by other reconcilers. The sentinel cache upgrade to DynamicCache mirrors how other caches already work. New test coverage validates disable, jitter window, and cache TTL scenarios. No existing behavior is removed; the hardcoded constant is simply replaced by the same default value flowing through the proper config layer. No files require special attention.
|
| Filename | Overview |
|---|---|
| go/deployment-operator/pkg/controller/sentinel/reconciler.go | Upgrades sentinelCache to cache.Store interface, switches to DynamicCache with ControllerCacheTTLFunc, and makes GetPollInterval dynamic via EffectivePollInterval. Adds pollJitterWindow helper with 15s fallback when polling is disabled. |
| go/deployment-operator/pkg/common/config.go | Adds sentinelPollInterval field, its parse/set logic in setValueLocked, override in mergeAgentConfigurationSpec, and GetSentinelPollInterval accessor; consistent with all existing interval fields. |
| go/deployment-operator/cmd/agent/args/args.go | Adds sentinel-poll-interval CLI flag with 30s default, SentinelPollInterval() accessor, and wires it into AgentConfigurationDefaults; pattern is consistent with existing interval flags. |
| go/deployment-operator/pkg/controller/sentinel/interval_test.go | New test file covering disable-by-config, jitter window with custom interval, jitter window fallback when polling is disabled, and dynamic cache TTL calculation. |
| go/deployment-operator/api/v1alpha1/agentconfig_types.go | Adds SentinelPollInterval field to AgentConfigurationSpec with appropriate doc comment and omitempty tag. |
| go/deployment-operator/api/v1alpha1/zz_generated.deepcopy.go | Auto-generated deep copy additions for SentinelPollInterval, StreamingProxy, and Memory fields; standard code-gen pattern. |
| go/deployment-operator/cmd/agent/console.go | Removes the hardcoded 30s sentinelPollInterval constant and replaces it with args.SentinelPollInterval() at the reconciler construction site. |
| go/deployment-operator/cmd/agent/main_test.go | Extends existing AgentConfiguration tests to cover SentinelPollInterval default (30s), override (5m), and reset back to default. |
| go/deployment-operator/pkg/controller/sentinel/socket_publisher.go | Changes sentinelRunCache field type from *cache.Cache to cache.Store interface, consistent with the reconciler change. |
| go/deployment-operator/config/crd/bases/deployments.plural.sh_agentconfigurations.yaml | CRD schema updated to include sentinelPollInterval with accurate description; straightforward generated change. |
Reviews (1): Last reviewed commit: "Tunable sentinel poll intervals" | Re-trigger Greptile
|
plural deploy this |
There was a problem hiding this comment.
Created deploy PR: https://github.com/pluralsh/plrl-up-demos/pull/2345
This apparently never was added to the AgentConfiguration crd, adds it in so we can tune in high cluster deployments
b9622e3 to
c59c1e9
Compare
|
plural deploy this |
There was a problem hiding this comment.
🚀 Deployed for testing via https://github.com/pluralsh/plrl-up-demos/pull/2347
Console image tag bumped to sha-c59c1e9 (commit c59c1e986d77963da855765ac9d8107f60d280be) on the mgmt console service.
|
plural deploy this |
There was a problem hiding this comment.
🚀 Deployed! Console image pinned to sha-c59c1e9 (commit c59c1e9) via GitOps update PR: https://github.com/pluralsh/plrl-up-demos/pull/2348
Once that PR merges and syncs, the test environment will be running this build.
|
plural deploy this |
There was a problem hiding this comment.
Deployed via https://github.com/pluralsh/plrl-up-demos/pull/2353 using image tag sha-4a9865c.
727035d to
08f96c1
Compare
|
plural deploy this |
There was a problem hiding this comment.
Deployed for testing: https://github.com/pluralsh/plrl-up-demos/pull/2368
This updates the console service in the test environment to use image tag sha-08f96c1 (head commit of this PR) so the tunable sentinel poll interval change can be verified.
672c3b5 to
1f22f4b
Compare
1f22f4b to
c6c84f6
Compare
13e0f7b to
487aac2
Compare
|
plural deploy this |
There was a problem hiding this comment.
Deploy PR ready: https://github.com/pluralsh/plrl-up-demos/pull/2374
a823b4e to
8317b67
Compare
|
plural deploy this |
There was a problem hiding this comment.
Created deploy PR: https://github.com/pluralsh/plrl-up-demos/pull/2375
|
plural deploy this |
There was a problem hiding this comment.
Deploy PR created: https://github.com/pluralsh/plrl-up-demos/pull/2376
Image tag: sha-1a1ab21
This apparently never was added to the AgentConfiguration crd, adds it in so we can tune in high cluster deployments
Test Plan
Test environment: https://console.plrldemo.onplural.sh/cd/clusters/a1748282-ce8b-48ab-ae7e-326e74fce04e/services/f3f89a54-d1a7-4bc8-9152-daa07ede918d/components
Checklist
Plural Flow: console