Fly.io
Arcade tools designed for LLMs to interact with Fly.io
1.0.2Fly.io toolkit for Arcade lets LLMs manage the full lifecycle of Fly.io apps, machines, volumes, networking, and secrets via the Fly.io API.
Capabilities
- App & release management — query app status, list or trigger releases, and deploy new container images across all machines.
- Machine lifecycle — create, start, stop, restart, destroy, and scale machine count or VM size; retrieve individual machine config and health.
- Volume management — create, list, extend, and permanently destroy persistent volumes attached to an app.
- Networking & TLS — allocate or release dedicated IP addresses, list assigned IPs, and manage custom-domain certificates including DNS validation records.
- Secrets management — set, unset, and list app secret names (values are never exposed by Fly.io); optionally roll changes out immediately.
- Organization & infrastructure discovery — enumerate accessible organizations, available regions, and app inventories with pagination support; read recent app logs (requires a token with explicit log-read access; missing access returns a
no_accessstatus rather than an error).
Secrets
FLYIO_ACCESS_TOKEN
A Fly.io personal access token (or deploy token) that authenticates every API call. To create one, log in to the Fly.io dashboard and generate a new personal access token under Account → Access Tokens. Alternatively, run fly tokens create deploy -a <app-name> with the Fly.io CLI to generate a scoped deploy token for a specific app. For log access (Flyio.GetLogs), the token must additionally be granted log-read permission; a standard deploy token does not include this — use a personal access token or a token explicitly created with log-read scope via fly tokens create org --log-access. Store the token value in Arcade at https://api.arcade.dev/dashboard/auth/secrets.
For general guidance on configuring secrets in Arcade, see https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-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 |