Skip to content

Exit codes

refresh uses meaningful exit codes so it slots into CI/cron pipelines.

General

Code Meaning
0 Success
1 A general error (bad flags, AWS error, not found, etc.)

refresh status exits non-zero when the fleet has items needing attention, so it works as a gate (e.g. fail a pipeline if anything is on extended support or badly behind).

nodegroup update

The patch command has a richer contract so unattended runs can branch on the outcome:

Code Meaning
0 Success — updates started/completed as expected
2 Health warnings (with --health-only or --require-healthy)
3 Health blocked — a pre-flight check failed; nothing was rolled
4 One or more nodegroup updates failed to start
5 Post-roll verification found issues (nodes not Ready / newly-stuck pods)

Example CI usage:

refresh nodegroup update -c prod --yes --require-healthy -o json
case $? in
  0) echo "patched cleanly" ;;
  2) echo "health warnings — review" ;;
  3) echo "blocked by health — do not proceed" ;;
  4) echo "some updates failed to start" ;;
  5) echo "rolled, but verification flagged issues" ;;
esac

See nodegroup update for the flags that drive these (--health-only, --require-healthy, --skip-verify).