Fly.io
Arcade tools designed for LLMs to interact with Fly.io
1.0.2Fly.io toolkit for Arcade enables LLMs to fully manage Fly.io infrastructure — apps, Machines, volumes, networking, secrets, certificates, and deployments — via the Fly.io API.
Capabilities
- App lifecycle & deployments: List, inspect, and deploy apps across organizations; roll new container images to all Machines; browse release history.
- Machine management: Create, start, stop, restart, and destroy individual Machines; scale Machine count up or down; resize VM size and memory.
- Storage & volumes: Create, extend, and destroy persistent volumes; list volumes per app. Note: volumes cannot be shrunk.
- Networking & IP addresses: Allocate and release dedicated IP addresses; list all IPs assigned to an app including the shared IPv4.
- TLS certificates: Add and remove custom-domain certificates; check validation status and retrieve required DNS records.
- Secrets & observability: Set, unset, and list app secret names (values are never returned by Fly.io); read recent app logs (requires a token with explicit log-read access — tool returns a
no_accessstatus rather than raising when that permission is absent).
Secrets
FLYIO_ACCESS_TOKEN — A Fly.io personal access token or deploy token used to authenticate every API call. Obtain one from the Fly.io dashboard Tokens page or by running fly tokens create deploy -a <app-name> with the Fly CLI. For full toolkit access (including log reading) the token must be granted both app-management and log-read permissions; a deploy-scoped token may lack log-read access, which causes Flyio.GetLogs to return a no_access status instead of log entries. Prefer a personal access token for broad multi-app or multi-org use, and a narrowly scoped deploy token for CI/production automation.
See the Arcade secrets guide for how to store this value: 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.
Available tools(30)
| Tool name | Description | Secrets | |
|---|---|---|---|
Add a TLS certificate for a hostname and return the DNS records to set. | 1 | ||
Allocate a new IP address for an app. | 1 | ||
Check a certificate's validation status and any pending DNS records. | 1 | ||
Create a new Machine for an app from a container image. | 1 | ||
Create a new persistent volume for an app. | 1 | ||
Roll a new container image out to all of an app's Machines. | 1 | ||
Permanently destroy a Machine. Stop it first unless force is set. | 1 | ||
Permanently destroy a volume and the data it holds. | 1 | ||
Grow a volume to a larger size. Volumes cannot be shrunk. | 1 | ||
Get the current status of a single Fly.io app. | 1 | ||
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. | 1 | ||
Get the configuration, state, and health of a single Machine. | 1 | ||
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. | 1 | ||
List the custom-domain TLS certificates configured on an app. | 1 | ||
List the IP addresses assigned to an app, including the shared IPv4. | 1 | ||
List the Machines that belong to an app. | 1 | ||
List the Fly.io organizations the configured token can access. | 1 | ||
List the Fly.io regions available for deploying apps and volumes. | 1 | ||
List an app's release history, newest first. | 1 | ||
List an app's secret names. Secret values are never returned by Fly.io. | 1 | ||
List the persistent volumes that belong to an app. | 1 | ||
Release a dedicated IP address so it is no longer assigned to the app. | 1 | ||
Remove a custom-domain TLS certificate from an app. | 1 | ||
Restart a Machine and report its settled state. | 1 | ||
Scale an app to a target Machine count by adding or removing Machines. | 1 |