Skip to content

Feature Request: Conditional rollout #1899

@felipesere

Description

@felipesere

Feature Description

We are in the process of onboarding onto Flagger, expecting to add quite a few instances.
One minor aspect that causes a some friction with our wider group of engineers is that in our development cluster, they can quickly release so-called "pre-tags" from branches for testing. The friction is that given they want to test something quickly, they would like to skip analysis altogether.
We considered not using canaries in development, but we would like to keep them for proper releases as we have some automated processes that deploy dependency updates as well as tools and analysis to promote across environments that relies on the outcomes of the canaries.

Proposed solution

Introduce a new webhook select-rollout (or a better name 😅 ) that sends usual metadata and expects a simple response indicating whether to

  • continue with the canary flow
  • skip the analysis (and copy the canary over to the primary)
  • halt

This way we can write a webhook receiver that can inspect the Deployment and do the right thing for pretags.
The default would be "continue with canary flow" to keep the current behaviour.

Any alternatives you've considered?

We could instruct our CI to selectively apply a patch for pretags that sets skipAnalysis: true.
In the interim, we will likely do this, but it feels invasive.
Adding a webhook also means the system can respond dynamically on interesting conditions, making the whole system more flexible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions