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

edge case: older freight won't stay put if auto-promotion is enabled #3016

Open
krancour opened this issue Nov 27, 2024 · 3 comments
Open

edge case: older freight won't stay put if auto-promotion is enabled #3016

krancour opened this issue Nov 27, 2024 · 3 comments

Comments

@krancour
Copy link
Member

The auto-promotion logic promotes the newest available (verified upstream or approved for the target) Freight.

If auto-promotion is enabled on a Stage and you re-promote some older piece of Freight to that Stage, it won't stay like that. The newest available Freight will be auto-promoted.

During the promotion process, we probably need to do something along the lines of checking whether the Stage has any available Freight that are both:

  • Newer than the target Freight
  • Older than the Promotion

When these conditions are met, we know a user has consciously elected to move a Stage into an older state. We can set a status flag or a condition on the Stage that will disable auto-promotion.

That condition can be cleared once the newest available Freight is (manually) promoted to the Stage.

@jessesuen
Copy link
Member

In the case of Argo CD, we disallowed manual deploys if auto-sync was enabled for an app. This could be a simple technique to prevent the problematic scenario and remove a footgun.

@hiddeco
Copy link
Contributor

hiddeco commented Dec 3, 2024

In the case of Argo CD, we disallowed manual deploys if auto-sync was enabled for an app. This could be a simple technique to prevent the problematic scenario and remove a footgun.

Wouldn't this be too constricting and make it hard to quickly roll back an automated promotion and/or roll out a hotfix through manual approval?

@krancour
Copy link
Member Author

krancour commented Dec 3, 2024

I share @hiddeco's concern.

@krancour krancour added this to the v1.2.0 milestone Dec 9, 2024
@krancour krancour self-assigned this Dec 9, 2024
@krancour krancour modified the milestones: v1.2.0, v1.3.0 Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants