Fly.io
Arcade toolkit · docs.arcade.dev
Provides Arcade tools that let LLMs manage Fly.io infrastructure programmatically — apps, Machines, volumes, networking, secrets, certificates, and deployments.
Capabilities
- App & release management: list, inspect, and deploy apps across organizations; query release history and current status.
- Machine lifecycle: create, start, stop, restart, and destroy Machines; scale Machine count or VM size/memory; inspect configuration and health.
- Storage & networking: create, extend, and destroy persistent volumes; allocate and release dedicated IP addresses; list all assigned IPs including shared IPv4.
- TLS certificates: add and remove custom-domain certificates; check validation status and retrieve required DNS records.
- Secrets management: list secret names, set new secrets, and unset existing ones — with optional immediate rollout; secret values are never returned by Fly.io.
- Logs & observability: read filtered historical log entries per app; log access requires a token with explicit log-read permission — tools return a
no_accessstatus (not an error) when that permission is absent, so callers should branch onstatus.
Secrets
FLYIO_ACCESS_TOKEN — A Fly.io personal access token or deploy token used to authenticate all API calls. Obtain it from the Fly.io dashboard under Account → Access Tokens, or generate one via the CLI with fly tokens create. For log reading (Flyio.GetLogs) the token must additionally have log-read access; create a scoped token with fly tokens create --expiry 8760h and confirm log permissions are included. Deploy tokens (scoped to a single app) can be created with fly tokens create deploy -a <app-name> and are preferred for least-privilege deployments.
For general guidance on configuring secrets in Arcade, see https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets. You can also manage secrets directly at https://api.arcade.dev/dashboard/auth/secrets.
Tools30
Flyio_AddCertificate
Add a TLS certificate for a hostname and return the DNS records to set.
Flyio_AllocateIpAddress
Allocate a new IP address for an app.
Flyio_CheckCertificate
Check a certificate's validation status and any pending DNS records.
Flyio_CreateMachine
Create a new Machine for an app from a container image.
Flyio_CreateVolume
Create a new persistent volume for an app.
Flyio_DeployApp
Roll a new container image out to all of an app's Machines.
Flyio_DestroyMachine
Permanently destroy a Machine. Stop it first unless force is set.
Flyio_DestroyVolume
Permanently destroy a volume and the data it holds.
Flyio_ExtendVolume
Grow a volume to a larger size. Volumes cannot be shrunk.
Flyio_GetApp
Get the current status of a single Fly.io app.
Flyio_GetLogs
Read recent historical log entries for an app, optionally filtered. Reading logs requires a token granted log-read access, which is a capability separate from app management; a token without it cannot read logs at all. When that access is missing this returns a no_access result rather than raising, so prefer branching on the result's status over assuming logs are present.
Flyio_GetMachine
Get the configuration, state, and health of a single Machine.
Flyio_ListApps
List Fly.io apps, optionally scoped to a single organization. Apps are returned in Fly.io's own ordering, with pagination metadata so a caller can tell when more apps exist beyond the returned window.
Flyio_ListCertificates
List the custom-domain TLS certificates configured on an app.
Flyio_ListIpAddresses
List the IP addresses assigned to an app, including the shared IPv4.
Flyio_ListMachines
List the Machines that belong to an app.
Flyio_ListOrganizations
List the Fly.io organizations the configured token can access.
Flyio_ListRegions
List the Fly.io regions available for deploying apps and volumes.
Flyio_ListReleases
List an app's release history, newest first.
Flyio_ListSecrets
List an app's secret names. Secret values are never returned by Fly.io.
Flyio_ListVolumes
List the persistent volumes that belong to an app.
Flyio_ReleaseIpAddress
Release a dedicated IP address so it is no longer assigned to the app.
Flyio_RemoveCertificate
Remove a custom-domain TLS certificate from an app.
Flyio_RestartMachine
Restart a Machine and report its settled state.
Flyio_ScaleMachineCount
Scale an app to a target Machine count by adding or removing Machines.
Flyio_ScaleVmSize
Change the VM size or memory of an app's Machines.
Flyio_SetSecrets
Set one or more app secrets, optionally rolling them out immediately.
Flyio_StartMachine
Start a stopped Machine and report its settled state.
Flyio_StopMachine
Stop a started Machine and report its settled state.
Flyio_UnsetSecrets
Remove one or more app secrets, optionally rolling the change out immediately.