FlyMachineClient.Orchestrator (fly_machine_client v0.1.0)
High-level orchestrator for multi-step or state-aware Fly API operations.
This module provides higher-level flows that often involve:
- Checking resource states (e.g., pending vs. active)
- Retrying or waiting for readiness
- Handling subtle edge cases where Fly returns 500 or other errors during transitions
Example usage could include:
- create_app_and_wait/2: Create an app, then poll get_app until the status is no longer "pending".
- create_machine_and_wait/2: Create a machine, wait for it to be "started".
- orchestrated deployments involving multiple resources.
Summary
Functions
Creates an app, then waits for it to become active. Accepts
Creates a machine, then waits for it to be in the "started" state. Example multi-step flow
Waits for the given Fly app to become active. Polls get_app until status != "pending" or until timeout.
Functions
Creates an app, then waits for it to become active. Accepts:
params: Map with:app_name,:org_slug, etc.wait_opts: Options for how long to poll, intervals, etc. (optional) Returns{:ok, app}or{:error, reason}.
Creates a machine, then waits for it to be in the "started" state. Example multi-step flow:
- create_machine/2
- wait_for_machine_state/6
Waits for the given Fly app to become active. Polls get_app until status != "pending" or until timeout.
wait_opts may include:
:timeout(in seconds), default 60:interval(in ms), default 2000