8000 GitHub - fastly/cli at v0.23.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fastly/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fastly CLI logo

Fastly CLI

A CLI for interacting with the Fastly platform.

Latest release Apache 2.0 License Go Report Card

Quick links

Installation

macOS

Homebrew

Install: brew install fastly/tap/fastly

Upgrade: brew upgrade fastly

Windows

scoop

Install:

scoop bucket add fastly-cli https://github.com/fastly/scoop-cli.git
scoop install fastly

Upgrade: scoop update fastly

Linux

Debian/Ubuntu Linux

Install and upgrade:

  1. Download the .deb file from the releases page
  2. sudo apt install ./fastly_*_linux_amd64.deb install the downloaded file

Fedora Linux

Install and upgrade:

  1. Download the .rpm file from the releases page
  2. sudo dnf install fastly_*_linux_amd64.rpm install the downloaded file

Centos Linux

Install and upgrade:

  1. Download the .rpm file from the releases page
  2. sudo yum localinstall fastly_*_linux_amd64.rpm install the downloaded file

openSUSE/SUSE Linux

Install and upgrade:

  1. Download the .rpm file from the releases page
  2. sudo zypper in fastly_*_linux_amd64.rpm install the downloaded file

From a prebuilt binary

Download the latest release from the releases page. Unarchive the binary and place it in your $PATH. You can verify the integrity of the binary using the SHA256 checksums file fastly_x.x.x_SHA256SUMS provided alongside the release.

Verify it works by running fastly version.

$ fastly version
Fastly CLI version vX.Y.Z (abc0001)
Built with go version go1.13.1 linux/amd64

The Fastly CLI will notify you if a new version is available, and can update itself via fastly update.

Usage

The Fastly CLI interacts with the Fastly API via an API token. You'll need to create an API token for yourself, and then provide it to the Fastly CLI in one of three ways:

  1. Stored in a config file by running fastly configure
  2. Explicitly via the --token, -t flag
  3. Implicitly via the FASTLY_API_TOKE B215 N environment variable

To see an overview of all commands, simply run fastly with no arguments. Succinct help about any command or subcommand is available via the -h, --help flag. Verbose help about any command or subcommand is available via the help argument, e.g. fastly help service.

Bash/ZSH shell completion

The CLI can generate completions for all commands, subcommands and flags.

By specifying --completion-bash as the first argument, the CLI will show possible subcommands. By ending your argv with --, hints for flags will be shown.

Configuring your shell

To install the completions source them in your bash_profile (or equivalent):

eval "$(fastly --completion-script-bash)"

Or for ZSH in your zshrc:

eval "$(fastly --completion-script-zsh)"

Development

The Fastly CLI requires Go 1.13 or above. Clone this repo to any path and type make to run all of the tests and generate a development build locally.

git clone git@github.com:fastly/cli
cd cli
make
./fastly version

The make task requires the following executables to exist in your $PATH:

If you have none of them installed, or don't mind them being upgraded automatically, you can run make dependencies to install them.

Testing

To run the test suite:

make test

Note that by default the tests are run using go test with the following configuration:

-race ./{cmd,pkg}/...

To run a specific test use the -run flag (exposed by go test) and also provide the path to the directory where the test files reside (replace ... and <path> with appropriate values):

make test TESTARGS="-run <...> <path>"

Example:

make test TESTARGS="-run TestBackendCreate ./pkg/backend/..."

Some integration tests aren't run outside of the CI environment, to enable these tests locally you'll need to set a specific environment variable relevant to the test.

The available environment variables are:

  • TEST_COMPUTE_INIT: runs TestInit.
  • TEST_COMPUTE_BUILD: runs TestBuildRust and TestBuildAssemblyScript.
  • TEST_COMPUTE_BUILD_RUST: runs TestBuildRust.
  • TEST_COMPUTE_BUILD_ASSEMBLYSCRIPT: runs TestBuildAssemblyScript.

Example:

TEST_COMPUTE_BUILD_RUST=1 make test TESTARGS="-run TestBuildRust/fastly_crate_prerelease ./pkg/compute/..." 

When running the tests locally, if you don't have the relevant language ecosystems set-up properly then the tests will fail to run and you'll need to review the code to see what the remediation steps are, as that output doesn't get shown when running the test suite.

Contributing

Refer to CONTRIBUTING.md

Issues

If you encounter any non-security-related bug or unexpected behavior, please file an issue using the bug report template.

Security issues

Please see our SECURITY.md for guidance on reporting security-related issues.

License

Apache 2.0.

About

Build, deploy and configure Fastly services from your terminal

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 59

Languages

0