The command-line interface for Fogpipe Cloud — deploy apps, manage databases, attach domains, and serve object storage.
curl -fsSL https://raw.githubusercontent.com/fogpipe/cloud-cli/main/install.sh | shPin a version or install location with FPCLOUD_VERSION / FPCLOUD_INSTALL_DIR.
brew tap fogpipe/cloud-cli https://github.com/fogpipe/cloud-cli
brew install fogpipe/cloud-cli/fpcloudRun it directly:
nix run github:fogpipe/cloud-cliOr add it to your flake:
{
inputs.fpcloud.url = "github:fogpipe/cloud-cli";
# then, in your outputs, for a given system:
# fpcloud.packages.${system}.default
}Update through the channel you installed from:
| Installed with | Update with |
|---|---|
| the shell script | fpcloud upgrade |
| Homebrew | brew upgrade fpcloud |
| a Nix flake input | nix flake update fpcloud, then re-enter the dev shell |
nix profile install |
nix profile upgrade fpcloud |
fpcloud upgrade replaces the binary in place with the version your control
plane advertises, so the CLI tracks the API you talk to. It only works for the
shell install: a Nix-installed fpcloud lives in the read-only store and can't
replace itself, so fpcloud upgrade prints the commands above instead.
fpcloud login # browser sign-in
fpcloud org use <org> # select your organization
fpcloud project use <project> # select a project
fpcloud app deploy <app> --image <image> # deploy or update an appfpcloud --help lists everything; fpcloud <command> --help-llm prints dense,
machine-readable help for a command and its subtree.
This repository is the CLI. cmd/fpcloud is a thin main over pkg/cli, which
holds the command tree, and pkg/client is the Go SDK for the Fogpipe REST API
— usable on its own:
import "github.com/fogpipe/cloud-cli/pkg/client"go build ./...
go test ./...A binary you build yourself is the same one we release — nothing is injected at
release time. Google requires a client secret in the OAuth token exchange even
under PKCE, and a native app cannot keep one, so the platform holds it and
brokers the exchange; fpcloud login works from a plain go build.
The API this speaks to is published: openapi.yaml, /docs and /llms.txt on
your platform host.
Read rather than contributed to: the source is here so you can audit what holds your identity, mints your tokens and tunnels to your database. There is no contribution process, and issues here are not a support channel.
Apache-2.0, the licence every public Fogpipe repository carries.
Releases up to and including v0.117.0 were published under MIT, and that grant stands for those versions.