Repository navigation
feat: add the ai-queue-worker deployment [ENG-2181] - #74
Merged
Merged
Conversation
On-prem webhooks no longer runs AI tasks. The new ai-queue-worker service consumes the ai-bmq queue; without it, AI explanations and chat stop. - aiQueueWorker.* values, on by default, 1 replica. The deployment is a copy of webhooks: same Mongo, Redis, object storage and URL env, same pm2 probes, image currents/on-prem/ai-queue-worker. - LLM settings go in aiQueueWorker.env or global.env. - Docs: quickstart section, ECR repository in the IAM policy, regenerated configuration reference. The image exists only in the Currents release that contains currents-dev/currents#4874. Release this chart with that tag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011baD3izoabUn31Y3WeQHMp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011baD3izoabUn31Y3WeQHMp
|
| Topic | Details | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| AI Worker Deployment | Deploy the standalone ai-queue-worker service to process on-premises ai-bmq tasks with configurable replicas, image, environment, probes, resources, storage, and scheduling. Keep AI processing separate from webhooks while preserving shared service connectivity.Modified files (4)
Latest Contributors(2)
| |||||||||
| On-Prem Operations | Document the worker’s LLM configuration and operational requirements, including ECR pull permissions, migration from webhooks settings, and disabling the worker when AI is unused.Modified files (2)
Latest Contributors(2)
|
Merger ✅ Ready to Merge
MERGE: the PR delivers the AI queue worker deployment and scheduler configuration, CI ran successfully, and all review discussions are settled.
twk3
requested changes
Nov 10, 2026
The worker needs an LLM endpoint the admin provides, and the docs do not yet say what AI does with it or what it costs, so a default install runs no worker. AI stays off on-prem until an admin grants consent, and the quickstart now says to turn the worker on before that. The quickstart also said AI_QUEUE_WORKER_ENABLED on the director builds the AI indexes. The director builds indexes only with CREATE_MONGO_INDEX, which the chart never sets; on-prem the scheduler builds them, so the variable belongs on the scheduler. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The scheduler builds the MongoDB indexes, and declares the ones on aiSessions, aiSessionMessages and aiSlackCallbacks (including their TTLs) only with AI_QUEUE_WORKER_ENABLED. The chart now sets it on the scheduler whenever aiQueueWorker.enabled is true, so turning the worker on is one value rather than two. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
twk3
approved these changes
Nov 12, 2026
Contributor
|
Tested on Docker Desktop Kubernetes at 4c53f75. Setup:
1. Install with the defaults
2. ValuesaiQueueWorker:
enabled: true
env:
- name: LLM_PROVIDER_URL
value: http://llm.invalid/v1
- name: LLM_API_KEY
value: unused
- name: USE_MOCK_AI
value: "true"
3.
Not covered:
|
This was referenced Nov 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner: @agoldis
Linear: ENG-2181
Adds the
ai-queue-workerdeployment, off by default. On-premwebhooksno longer runs AI tasks after the Currents release that contains currents-dev/currents#4874, so an install that uses AI needs this deployment turned on.This must ship with, not before, the Currents release that contains currents-dev/currents#4874. The image
currents/on-prem/ai-queue-workerdoes not exist before then.Changes
aiQueueWorkervalues:enabled(defaultfalse),replicas(default1), imagecurrents/on-prem/ai-queue-worker(same registry and tag as the other images),env, probes, resources and scheduling likewebhooks.templates/ai-queue-worker/deployment.yamlrenders only whenaiQueueWorker.enabledis true. It is a copy of thewebhooksdeployment, with the same MongoDB, Redis, object storage and URL env and secret refs from the shared helpers. It keeps the image's own command and uses the same pm2 probes (the process is also nameddist).aiQueueWorker.enabled: true, the scheduler also getsAI_QUEUE_WORKER_ENABLED=true. The scheduler builds the MongoDB indexes, and it declares the ones onaiSessions,aiSessionMessagesandaiSlackCallbacks(including their TTLs) only with that variable. Turning AI on is therefore one value.webhooksanddirectorare unchanged.docs/configuration.md.release: x.y.z), as in release: 1.0.1 [ENG-1851] #69.Upgrade notes for on-prem customers
AI_QUEUE_WORKER_ENABLED=trueonwebhooks) lose it at this upgrade until they turn the worker on:aiQueueWorker.enabled: true;LLM_*settings fromwebhooks.envtoaiQueueWorker.env, or toglobal.env;webhooks, replaceAI_QUEUE_WORKER_ENABLED=truewithSLACK_AI_CALLBACK_WORKER_ENABLED=trueif they use Slack AI.CREATE_MONGO_INDEX, which the chart never sets, soAI_QUEUE_WORKER_ENABLEDondirectordoes nothing.currents/on-prem/ai-queue-workerrepository (seedocs/eks/iam.md). Mirror the image if you mirror the others.Follow-up
currents-index-checkJob should get the same variable when the worker is on. Without it, the Job's plan leaves out the AI indexes the scheduler is about to build. Those collections are small, so the estimate barely moves.Checked
helm lintwithcharts/currents/ci/lint-values.yamlpasses.helm templatewith the CI values renders nothing for the worker by default, and the scheduler has noAI_QUEUE_WORKER_ENABLED. WithaiQueueWorker.enabled=trueit renders the workerDeployment(1 replica,currents/on-prem/ai-queue-workerimage), and the scheduler, and no other deployment, getsAI_QUEUE_WORKER_ENABLED=true.docs/configuration.mdwas regenerated withjnorwood/helm-docs, as the docs check runs it.ai-queue-worker:2026-11-10-003image is in ECR: the customer-images mirror copied it.🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.