/steps
    - Root node.
    - Array, with each element represents a step.
    - Required.

/steps/[StepNode]/action
    - Text. What kind of action to take.
    - Options: deploy | rollback | upgrade | export | compare | refresh
    - Required.

/steps/[StepNode]/preconfig
    - Text. The file name of pre-config. Relative path to deploy.sh/
      upgrade.sh, or use absolute path. Only available for "deploy"
      and "upgrade" action.
    - Optional.

/steps/[StepNode]/instruction
    - Text. Contains instructions that will be passed to the real
      program. Helps us accomplish automatic operations. Available
      for "deploy", "rollback", "upgrade" action.
    - Optional.

/steps/[StepNode]/description
    - Text. Arbitrary text to describe current step. Intend to output
      in the log.
    - Optional.

