Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to delay Freight verification in a Stage #2069

Open
jessesuen opened this issue May 29, 2024 · 2 comments · May be fixed by #3100
Open

Option to delay Freight verification in a Stage #2069

jessesuen opened this issue May 29, 2024 · 2 comments · May be fixed by #3100

Comments

@jessesuen
Copy link
Member

jessesuen commented May 29, 2024

Proposed Feature

As soon as a Freight is successfully promoted into a Stage, it is immediately verified to go to downstream Stages. This is often too fast for users. Instead, they wish for there to be a minimum "soak" or "bake" time before it can automatically go downstream (e.g. 1h, 1d).

We could introduce a verificationDelay option in a Stage where a Freight must be running in a Stage for some minimum amount of time, before it is qualified to downstream

Motivation

Users want automated promotions, but don't want for it to be immediate.

Suggested Implementation

Delay the marking of a Freight to be verifiedIn a stage until it passes the user specified time.

There is a workaround for now, which is to reference an AnalysisTemplate that has an initialDelay. e.g.:

apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
  name: soak
spec:
  metrics:
    - name: soak
      count: 1
      initialDelay: 1h
      provider:
        web:
          url: https://example.com # Choose a URL that will return 200
@csantanapr
Copy link

I'm interested on this feature as I'm building POC using Kargo to deploy EKS clusters using Kubernetes Controllers like CAPI/ACK/Crossplane, and soak/bake time is important when rolling out upgrades in waves, with different soak time criteria. for example:

@hiddeco
Copy link
Contributor

hiddeco commented Sep 25, 2024

Your comment (@csantanapr) makes me wonder if our actual desire is not to delay the verification process, but rather to delay the (automatic) creation of the promotion for the next Stage based on a set of options.

I think this would also be the superior option, as it puts the consumer in control over their "delayed rollout" desires instead of the producer. I.e., in a scenario where you have A -> [B, C], both B and C can define their unique soak desires instead of it being forced upon them by A.

@jessesuen jessesuen added this to the v1.1.0 milestone Oct 18, 2024
@krancour krancour modified the milestones: v1.1.0, v1.2.0 Nov 15, 2024
@hiddeco hiddeco self-assigned this Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants