pipe-cd / pipe-cd/pipecd

Make it possible to limit the maximum concurrent deployments that can be performed by a single PipeCD agent

Open
#4,507 6 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/piped kind/enhancement not-auto-close
Dominant language
Go
Stars
1.4k
Forks
364
Avg merge
1d 4h
Merged PRs (30d)
84

Description

What would you like to be added:

Why is this needed:

Currently, we are using the PipeCD agent to deploy a large number of Terraform applications. However, the agent starts running all deployments that have been triggered without considering its processing ability. As a result, our PipeCD agent often gets stuck when multiple deployments are triggered simultaneously.

Therefore, I wish we had a way to specify a limit number in the PipeCD agent configuration to prevent it from burning out.

Some other considerations to take into account:

The limit number should be applied to each type of application (e.g., Terraform apps may require more resources to handle than other types of apps).
Deployments triggered by plan-preview should also be counted in the limit.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the PipeCD agent's deployment handling and configuration entry points, then determine how application types and plan-preview deployments are represented. Done means the agent supports configurable per-application-type concurrency limits that also count plan-preview deployments.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, terraform
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.