Run a Fly.io machine lifecycle action
Approval-gated Fly.io machine lifecycle workflow. It reads the target machine for context, then performs exactly one selected action through recued-core.flyio.machine.start, stop, restart, cordon, uncordon, or suspend, and reads the machine again afterwards. It does not create, update, delete, execute commands, send arbitrary signals, mutate metadata or secrets, mint tokens, or call arbitrary Fly.io API routes.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Process (20 steps)
app_key
trim
Trim whitespace from setting app name
machine_key
trim
Trim whitespace from setting machine id
action_signal
trim
Trim whitespace from setting signal
action_timeout
trim
Trim whitespace from setting timeout
machine_before
?
should_start
compare
Check if setting action equals start
should_stop
compare
Check if setting action equals stop
should_restart
compare
Check if setting action equals restart
should_cordon
compare
Check if setting action equals cordon
should_uncordon
compare
Check if setting action equals uncordon
should_suspend
compare
Check if setting action equals suspend
started_machine
?
skip: step.should_start not_equal true
stopped_machine
?
skip: step.should_stop not_equal true
restarted_machine
?
skip: step.should_restart not_equal true
cordoned_machine
?
skip: step.should_cordon not_equal true
uncordoned_machine
?
skip: step.should_uncordon not_equal true
suspended_machine
?
skip: step.should_suspend not_equal true
events_after
?
event_count
count
Count items in events after result
card
to_summary
Format results as a summary card
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
flyio
setting
=
action
setting
=
restart
signal
setting
=
SIGTERM
timeout
setting
=
30s
app name
setting
=
machine id
setting
=
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.