Fly.io
Arcade tools designed for LLMs to interact with Fly.io
0.1.0Fly.io toolkit for Arcade enables LLMs to fully manage Fly.io infrastructure via the Fly.io API — apps, machines, volumes, networking, secrets, certificates, and deployments.
Capabilities
- App & release management: List, inspect, and deploy apps across organizations; browse full release history and roll out new container images to all machines.
- Machine lifecycle: Create, start, stop, restart, and destroy individual machines; scale machine count or change VM size/memory fleet-wide.
- Persistent storage: Create, extend, and destroy volumes; list volumes per app. (Note: volumes can only grow, not shrink.)
- Networking & TLS: Allocate and release dedicated IP addresses; add, check, and remove custom-domain TLS certificates with DNS record guidance.
- Secrets management: Set, unset, and list app secret names (values are never exposed by Fly.io); optional immediate rollout on changes.
- Observability & metadata: Read recent app logs (requires a log-read–scoped token; returns
no_accessstatus when access is missing rather than raising), list organizations, regions, and available infrastructure options.
Secrets
FLYIO_ACCESS_TOKEN — A Fly.io personal access token (or scoped deploy/org token) used to authenticate all API calls. Obtain it from the Fly.io dashboard Tokens page or by running fly tokens create deploy -a <app-name> (for a deploy-scoped token) or fly auth token (for your personal token) via the flyctl CLI. For log access (Flyio.GetLogs), the token must additionally carry log-read permission; a deploy token without this permission will cause log reads to return a no_access status. If you need org-wide access, generate a token scoped to the organization from the Fly.io dashboard under Organization Settings → Tokens.
Store the token in Arcade at https://api.arcade.dev/dashboard/auth/secrets. For details on configuring secrets in Arcade tools, 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 |