Skip to main content

Command-line tool for managing Plain Cloud.

Project description

plain.cloud

Command-line tool for Plain Cloud.

Overview

Mint a personal API token at https://plainframework.com/dashboard/api-keys/, then log in. The token is stored in your OS keyring (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux); the api_url lives in plain text at ~/.plain/cloud/config.toml.

plain-cloud login
plain-cloud whoami
plain-cloud apps list

Commands

  • plain-cloud login — paste a token, validate it, and save it to your OS keyring.
  • plain-cloud logout — forget the saved token.
  • plain-cloud whoami — show the user the current token belongs to.
  • plain-cloud apps list — list apps you have access to across every team.
  • plain-cloud api <path> — call any API path with the saved token. Modeled on gh api: -X/--method (default GET); -H KEY:VALUE for headers; -f key=value for string fields; -F key=value for typed fields (true/false/null/numbers become JSON literals, @path reads a string from disk); --input FILE (or - for stdin) to send a raw body; --raw to skip JSON pretty-printing. Fields go in the query string for GET and in the JSON body otherwise. Exit code is 0 for 2xx, 1 otherwise.

Pass paths exactly as listed in plain-cloud openapi — the /api/ mount prefix is added for you (passing it explicitly also works).

plain-cloud api /me/
plain-cloud api /apps/ -F page=2
plain-cloud api /apps/foo/exceptions/abc123/resolve/ -X POST
plain-cloud api /apps/ -X POST --input body.json -H "X-Trace: 1"
  • plain-cloud openapi — fetch the OpenAPI document. No token required (the schema is metadata). Pipe into jq or save with > openapi.json to feed to an agent.
  • plain-cloud open [path] — open a Plain Cloud URL in your browser. Defaults to /dashboard/.
  • plain-cloud config — show the active keyring backend and api_url.

Self-hosted / staging

Pass --api-url at login to point at a non-production install:

plain-cloud login --api-url https://plain-cloud.example.com

Headless / CI use

Skip login entirely and pass the token via env var. This works everywhere — useful for CI, Docker, and headless Linux boxes that don't ship a keyring backend, but also as a per-shell override on a machine that's already logged in.

PLAIN_CLOUD_TOKEN=...           # required
PLAIN_CLOUD_API_URL=...         # optional, defaults to https://plainframework.com

When PLAIN_CLOUD_TOKEN is set, it overrides anything stored in the keyring.

FAQs

Where is my token stored?

In your OS keyring under the service name plain-cloud, keyed by the api_url. Run plain-cloud config to see which backend is active.

Can I have prod and staging tokens at the same time?

Tokens are keyed by api_url in the keyring, so multiple installations coexist. The config.toml tracks the most recent login; switch by running plain-cloud login --api-url ... again.

What if login says "no OS keyring backend available"?

You're on a system without a keyring (common on headless Linux). Use the PLAIN_CLOUD_TOKEN env var instead — see Headless / CI use.

Installation

uv tool install plain-cloud

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plain_cloud-0.4.1.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plain_cloud-0.4.1-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file plain_cloud-0.4.1.tar.gz.

File metadata

  • Download URL: plain_cloud-0.4.1.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for plain_cloud-0.4.1.tar.gz
Algorithm Hash digest
SHA256 193845a97e9eb8108a3da7e0c1bc941801259d4216ac3d410c0233e544150e77
MD5 170204400c848a427a7bc8af389246c4
BLAKE2b-256 25e1110b3cd16f02e5910f6e30e9eb6284064a94fe43034f4156d39c97c0c1f8

See more details on using hashes here.

File details

Details for the file plain_cloud-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: plain_cloud-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for plain_cloud-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 aedfd3838ebaa9458c2a6a1132643a3536956093bfbdd4d642d8ce4c325c493f
MD5 971327f5974ce6d54ff88758ea6eb60e
BLAKE2b-256 e2d56fe4cd473797ff3a60578f9f72fa6b7e8af7a78b0cf5f1c43ea7dfc42af2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page