Skip to content

feat: add the ai-queue-worker deployment [ENG-2181] - #74

Open
agoldis wants to merge 2 commits into
mainfrom
agoldis/eng-2181-ai-queue-worker
Open

agoldis wants to merge 2 commits into
mainfrom
agoldis/eng-2181-ai-queue-worker

Conversation

@agoldis

@agoldis agoldis commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Owner: @agoldis

Linear: ENG-2181

Adds the ai-queue-worker deployment. On-prem webhooks no longer runs AI tasks after the Currents release that contains currents-dev/currents#4874, so without this deployment AI explanations and chat stop.

This must ship with, not before, the Currents release that contains currents-dev/currents#4874. The image currents/on-prem/ai-queue-worker does not exist before then. Until it does, the ai-queue-worker pod cannot pull its image, and the ct install check on this PR cannot pass for the same reason.

Changes

  • New aiQueueWorker values: enabled (default true), replicas (default 1), image currents/on-prem/ai-queue-worker (same registry and tag as the other images), env, probes, resources and scheduling like webhooks.
  • templates/ai-queue-worker/deployment.yaml is a copy of the webhooks deployment. It gets the same MongoDB, Redis, object storage and URL env and secret refs from the shared helpers. It does not override the image command. It uses the same pm2 probes (the process is also named dist).
  • webhooks and director are unchanged. The chart sets no AI env on either.
  • Docs: quickstart section on the worker and its LLM env, ECR repository in the IAM policy, regenerated docs/configuration.md.
  • No chart version bump. Versions change in the release PR (release: x.y.z), as in release: 1.0.1 [ENG-1851] #69. New values with no breaking change make the next release a minor one.

Upgrade notes for on-prem customers

  • Pull access: the ECR policy for your nodes must include the currents/on-prem/ai-queue-worker repository (see docs/eks/iam.md). Mirror the image if you mirror the others.
  • LLM settings (LLM_PROVIDER_URL, LLM_API_KEY, ...) set in webhooks.env have no effect on the worker. Move them to aiQueueWorker.env, or put them in global.env.
  • If you set AI_QUEUE_WORKER_ENABLED=true on webhooks, replace it with SLACK_AI_CALLBACK_WORKER_ENABLED=true. Keep AI_QUEUE_WORKER_ENABLED=true on director if you have it.
  • Set aiQueueWorker.enabled: false if you run no AI.

Checked

  • helm lint with charts/currents/ci/lint-values.yaml: passes.
  • helm template with the CI values and samples/local/chart-config.yaml: renders the new deployment. With aiQueueWorker.enabled=false nothing renders for it; replicas and env overrides apply.
  • helm template with no values and with samples/eks/eks-config.yaml fails on currents.rootUser.password.secretName is required, as on main.
  • ./scripts/build-docs.sh (helm-docs): docs/configuration.md regenerated and committed.
  • Not run: ct lint, ct install (needs a kind cluster and ECR pull access).

🤖 Generated with Claude Code

https://claude.ai/code/session_011baD3izoabUn31Y3WeQHMp


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

agoldis and others added 2 commits November 9, 2026 21:23
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
@baz-reviewer

baz-reviewer Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Review this PR on Baz

Baz Summary

Add an on-premises ai-queue-worker deployment to consume ai-bmq tasks independently from webhooks, restoring AI explanations and chat after AI processing is removed from webhooks. Configure its image, runtime settings, health checks, scheduling, ECR access, and operator documentation for LLM connectivity and upgrades.

Topics

TopicDetails
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)
  • charts/currents/templates/_helpers.tpl
  • charts/currents/templates/ai-queue-worker/deployment.yaml
  • charts/currents/values.yaml
  • docs/configuration.md
Latest Contributors(2)
UserCommitDate
agoldis@gmail.comfeat: add the ai-queue...November 10, 2026
dj@currents.devfix: fail templating w...November 02, 2026
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)
  • docs/eks/iam.md
  • docs/eks/quickstart.md
Latest Contributors(2)
UserCommitDate
agoldis@gmail.comdocs: describe the web...November 10, 2026
dj@currents.devrelease: 1.0.0 [] (#64)October 14, 2026

Merger   🟡 Pending

CI is not passing.



Skills  Activate Skill Maintainer to keep your skills up to date

Planner  This PR would have been improved with Baz Planner - Try it now

aiQueueWorker:
# -- Run the AI queue worker. It runs the AI tasks (explanations, chat) from the
# `ai-bmq` queue; with it off, those tasks stay queued.
enabled: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Disable by default for first release, it's broken unless the admins provide it with LLM connection details, and we are missing any documentation on why they should bother to do that, what features they receive, and in which ways we use their ai providers. Estimates of token usage, and how to set token usage limits for it.

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants