flyctl

command module
v0.0.485-pre-4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

README

flyctl

flyctl is a command-line interface for fly.io

Note: Most installations of flyctl also alias flyctl to fly as a command name and this will become the default name in the future. During the transition, note that where you see flyctl as a command it can be replaced with fly.

Installation

Using a Package Manager

Homebrew (macOS, Linux, WSL)
brew install flyctl

To upgrade to the latest version:

brew upgrade flyctl

Install Script

Download flyctl and install into a local bin directory.

MacOS, Linux, WSL

Installing the latest version:

curl -L https://fly.io/install.sh | sh

Installing the latest pre-release version:

curl -L https://fly.io/install.sh | sh -s pre

Installing a specific version:

curl -L https://fly.io/install.sh | sh -s 0.0.200
Windows

Run the Powershell install script:

iwr https://fly.io/install.ps1 -useb | iex

Downloading from GitHub

Download the appropriate version from the Releases page of the flyctl GitHub repository.

Getting Started

  1. Sign into your fly account
flyctl auth login
  1. List your apps
flyctl apps list
  1. View app status
flyctl status -a {app-name}

App Settings

flyctl will attempt to use the app name from a fly.toml file in the current directory. For example, if the current directory contains this file:

$ cat fly.toml
app: banana

flyctl will operate against the banana app unless overridden by the -a flag or other app name setting in the command line.

Building on Windows

There is a simple Powershell script, winbuild.ps1, which will run the code generation for the help files, format them, and run a full build, leaving a new binary in the bin directory.

Running from branches on your local machine

Run scripts/build-dfly to build a Docker image from the current branch. Then, use scripts/dfly to run it. This assumes you are already authenticated to Fly in your local environment.

Cutting a release

If you have write access to this repo, you can ship a prerelease or full release with:

scripts/bump_version.sh prerel

or

scripts/bump_version.sh

Running preflight tests

Copy .direnv/preflight-example to .direnv/preflight and edit following these guidelines:

  • Grab your auth token from ~/.fly/config.yml
  • Do not use your "personal" org, create an new org (i.e. flyctl-tests-YOURNAME) Ask for 100% comp for employees at https://flyio.discourse.team/t/employee-accounts-how-to-prevent-charges/526/95
  • Set 2 regions, ideally not your closest region because it leads to false positives when --region or primary region handling is buggy. Run fly platform regions for valid ids

Finally run the tests:

make preflight-test

Oh, add more preflight tests at tests/preflight/*

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api module
cmd
Borrowed from https://www.calhoun.io/creating-random-strings-in-go/
Borrowed from https://www.calhoun.io/creating-random-strings-in-go/
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL