Is your feature request related to a problem? Please describe.

As a devops engineer developing pipelines to use KubeVela, I'd like the ability to know whether all components of a deployed application get into successful running state, so that I can reflect in pipeline status if it does not.

Describe the solution you'd like

vela up and/or vela status supporting something similar to helm --wait, with the ability to define the wait timeout, and set return code to 0 for success, 1 for failure, so that successful deployment can be determined.

After wait, or maybe on success too, output status so the problem can be determined.

Describe alternatives you've considered

Parsing vela status output in a loop. This has several challenges:

  • vela status outputs to both stderr and stdout. Can be fixed with redirects, but annoying!
  • vela status gives return code 0 whether or not application is healthy (if it gave rc=1 for unhealthy, it would be easy to use)
  • parsing for a "Unhealthy" magic text string is a bad smell anyway

Using kubectl wait but in defining a standard pipeline to use for multiple applications, there is no straightforward way to determine what kubernetes objects to "wait" for - that's why we use kubevela so as not to have to bother about this :-)

Additional context

Slack thread asking the question, and being requested to raise a feature request:

© 2022 - All rights reserved.