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

Add multi-approval support #1

Open
9 of 20 tasks
rvandernoort opened this issue Sep 2, 2024 · 3 comments
Open
9 of 20 tasks

Add multi-approval support #1

rvandernoort opened this issue Sep 2, 2024 · 3 comments
Labels
feature A new feature stale Something is not worked on for a while

Comments

@rvandernoort
Copy link
Collaborator

rvandernoort commented Sep 2, 2024

Summary

Replace Suspend/Resume with modified parameter process of approval with an actual account related approval form.
Proposal for argoproj#12108

Use Cases

Approving promotion from various environments, but need multi Ops approval before promotion.


Message from the maintainers:

Love this feature request? Give it a 👍. We prioritise the proposals with the most 👍.


Functions:

  • Get local development to work
  • Create Approvers list as part of parameters of suspend
    • pkg/apis/workflow/v1alpha1/workflow_types.go
    • Create arguments/parameters for each reviewer (state of review)
    • Check if approvers list == reviewed list otherwise requeue else continue
    • Connect it with actual user accounts using email
    • (optional) make groups work
  • Replace GUI Modify parameters with Approvers list
    • ui/src/app/workflows/components/workflow-details/suspend-inputs.tsx
    • Show approval status of all accounts (highlight your own account)
    • Allow approval from your account if that is declared
    • Save approval for your account
    • Check if approval is over threshold and merge otherwise
    • Change when clause which now depends on the variable (switch to approval amount out of list)
      • (optional) more advanced options
  • (optional) cli support?
  • allow both approval and parameter in conjunction.

TODO

  • docs
  • tests
  • add minimal required approvals
  • fix approvals count (current/required)
  • save approval
@rvandernoort rvandernoort added the feature A new feature label Sep 2, 2024
@rvandernoort rvandernoort self-assigned this Sep 2, 2024
@rvandernoort
Copy link
Collaborator Author

Short-term: use plugin style instead of directly in core.

@rvandernoort
Copy link
Collaborator Author

rvandernoort commented Sep 27, 2024

As were not plannig to use argo workflows in the near future for now: maybe move this to the IceBox @elwin1234

@rvandernoort rvandernoort removed their assignment Oct 4, 2024
@elwin1234
Copy link
Member

Good point

@elwin1234 elwin1234 removed the devops label Oct 29, 2024
@rvandernoort rvandernoort added the stale Something is not worked on for a while label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new feature stale Something is not worked on for a while
Projects
None yet
Development

No branches or pull requests

2 participants