Skip to content

Conversation

@gaurang9991
Copy link

@gaurang9991 gaurang9991 commented Jan 14, 2026

Enable global agent pods that can execute tasks from multiple workflows using label selectors instead of requiring one agent pod per workflow and giveing users option to cutomize lifecyle behaviour of agent pods.

BREAKING CHANGE: The ARGO_WORKFLOW_UID environment variable is no longer used. Workflow UIDs are now dynamically extracted from WorkflowTaskSet owner references at runtime.

Fixes #7891

Motivation

Motivation for the changes are to cutomize and utlize executor plugin to run high-frequency batch tasks without creating multiplepods.

Verification

Verification done in local environment and unit test

Senerios :

Default behaviour (current behaviour)- One agent pod per workflow

image image image

RunMultipleWorkflows: true – creates a agent pod with name agent-{service account name}. Now new pod is created when new workflow with same SA is submitted. The agent pod is deleted once all running workflows are completed.

image image image image image image
Workflows with different service account create different agent pods
image image

deleteAfterCompletion: false && RunMultipleWorkflows: true -

creates a agent pod with name agent-{service account name}. Now new pod is created when new workflow with same SA is submitted. The agent pod is not deleted after workflow completion. New agent pod is created when new plugins are added.

image image image image image image

createPod: false – Controller now longer creates the agent pod and only reply on task set updates. Users can create their on logic or operators to execute and update taskset.

image image image image image

Documentation

created global-agent-pod.md file with doc and configuration details

@gaurang9991 gaurang9991 force-pushed the global-agent-pod branch 4 times, most recently from e73018c to 9de1a7d Compare January 14, 2026 18:37
Enable global agent pods that can execute tasks from multiple workflows
using label selectors instead of requiring one agent pod per workflow and
giveing users option to cutomize lifecyle behaviour of agent pods.

BREAKING CHANGE: The ARGO_WORKFLOW_UID environment variable is no longer
used. Workflow UIDs are now dynamically extracted from WorkflowTaskSet
owner references at runtime.

Signed-off-by: Gaurang Mishra <gaurangmishra48@gmail.com>
@gaurang9991 gaurang9991 marked this pull request as ready for review January 15, 2026 01:23
@Joibel Joibel changed the title feat(agent): enable global agent pod for workflows Fixes #7891 feat(agent)!: enable global agent pod for workflows Fixes #7891 Jan 21, 2026
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.

Global agent pod instead of one per workflow

1 participant