id = "fly"
name = "flyctl"
homepage = "https://fly.io/docs/flyctl/"
description = "Command line tools for fly.io services."
icon = "SimpleIcons:flydotio"
executables = ["fly", "flyctl"]
[dotfiles]
paths = ["~/.fly/config.yml"]
exclude = ["~/.fly/agent-logs/", "~/.fly/bin/"]
secret = []
side_effect = false
[[dotfiles.secret_paths]]
file = "~/.fly/config.yml"
match = { key_path = ["access_token", "metrics_token", "wire_guard_state"] }
[commands]
format = 1
label = "flyctl"
description = "Deploy and inspect Fly.io apps: deploy, logs and status. Machines, orgs, secrets and the rest of flyctl are left out."
quality = "ai-draft"
base = "fig:fly"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/fly.ts"
license = "MIT"
[[commands.field]]
id = "json"
label = "JSON output"
type = "boolean"
option = ["--json", "-j"]
sources = ["fig"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["json"]
[[commands.subcommand]]
path = ["deploy"]
label = "Deploy an app"
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/fly.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "app"
label = "App name"
type = "string"
option = ["--app", "-a"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "config"
label = "Config file"
type = "path"
option = ["--config", "-c"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "region"
label = "Region"
type = "string"
option = ["--region", "-r"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "image"
label = "Image"
type = "string"
option = ["--image", "-i"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "dockerfile"
label = "Dockerfile"
type = "path"
option = ["--dockerfile"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.field]]
id = "strategy"
label = "Strategy"
type = "string"
option = ["--strategy"]
suggestions = [{ value = "canary", label = "canary" }, { value = "rolling", label = "rolling" }, { value = "bluegreen", label = "bluegreen" }, { value = "immediate", label = "immediate" }]
sources = ["fig"]
[[commands.subcommand.field]]
id = "remote_only"
label = "Build on remote builder"
type = "boolean"
option = ["--remote-only"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "local_only"
label = "Build locally"
type = "boolean"
option = ["--local-only"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "build_only"
label = "Build without deploying"
type = "boolean"
option = ["--build-only"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "no_cache"
label = "No build cache"
type = "boolean"
option = ["--no-cache"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "detach"
label = "Do not watch progress"
type = "boolean"
option = ["--detach"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "env"
label = "Environment (NAME=VALUE)"
type = "string"
option = ["--env", "-e"]
multiple = true
sources = ["fig"]
[[commands.subcommand.task]]
id = "deploy"
label = "Deploy"
fields = ["app", "config", "region", "remote_only"]
required = []
[[commands.subcommand.task]]
id = "build-only"
label = "Build only"
set = { build_only = [true] }
fields = ["app", "config", "build_only"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["app", "config", "region", "image"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["dockerfile", "strategy", "remote_only", "local_only", "build_only", "no_cache", "detach", "env"]
[[commands.subcommand]]
path = ["logs"]
label = "View app logs"
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/fly.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "app"
label = "App name"
type = "string"
option = ["--app", "-a"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "region"
label = "Region"
type = "string"
option = ["--region", "-r"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "instance"
label = "Instance ID"
type = "string"
option = ["--instance", "-i"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "config"
label = "Config file"
type = "path"
option = ["--config", "-c"]
path = { kind = "file", role = "input" }
sources = ["fig"]
[[commands.subcommand.task]]
id = "logs"
label = "Tail logs"
fields = ["app", "region", "instance"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["app", "region", "instance", "config"]
[[commands.subcommand]]
path = ["status"]
label = "Show app status"
[[commands.subcommand.source]]
id = "fig"
kind = "completion"
url = "https://github.com/withfig/autocomplete/blob/master/src/fly.ts"
license = "MIT"
[[commands.subcommand.field]]
id = "app"
label = "App name"
type = "string"
option = ["--app", "-a"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "all"
label = "Include completed instances"
type = "boolean"
option = ["--all"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "watch"
label = "Refresh continuously"
type = "boolean"
option = ["--watch"]
sources = ["fig"]
[[commands.subcommand.field]]
id = "deployment"
label = "Show deployment status"
type = "boolean"
option = ["--deployment"]
sources = ["fig"]
[[commands.subcommand.task]]
id = "status"
label = "Status"
fields = ["app", "all", "deployment"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["app", "all", "watch", "deployment"]