Skip to content

Configuration

How repster knows which Repster Cloud endpoint to connect to, as whom, and about which project. Standard CLI pattern: global per-user credentials, per-repo non-secret pointers, env-var overrides for CI.

Resolution chain

Settings are resolved in priority order (highest first):

  1. CLI flags: --profile, --service-url
  2. Environment variables: REPSTER_CLOUD_URL, REPSTER_API_TOKEN
  3. Project config: [tool.repster] in pyproject.toml (non-secret; safe to commit)
  4. Machine defaults: [defaults] in ~/.repster/config.toml
  5. Global profiles: ~/.repster/config.toml (credentials; never commit this)
  6. Built-in default: the service URL falls back to https://cloud.repster.online

The service URL always resolves to something, which is why rp login never asks for it. Only a missing token means "not logged in".

Global credentials: ~/.repster/config.toml

Written by rp login. Edit it directly if needed.

[profiles.default]
service_url = "https://cloud.repster.online"
token = "rpk_K7mXwQ3..."

[profiles.prod]
service_url = "https://cloud.repster.online"
token = "rpk_..."

Use rp login --profile <name> to add a named profile. Use --profile <name> on any cloud command to select it.

Pointing at a different host by default

If you always talk to a self-hosted or local service, add a [defaults] table by hand. It applies before any profile exists, so the very first rp login targets it:

[defaults]
service_url = "http://127.0.0.1:8000"

rp login rewrites this file, and preserves anything outside [profiles].

Project config: pyproject.toml

Your project is already a uv project, so pyproject.toml exists. By default nothing needs configuring: the project name defaults to [project].name and the profile defaults to default.

Override when needed:

[tool.repster]
project = "acme-pipelines"   # defaults to [project].name
profile = "prod"              # defaults to "default"

Never put tokens in pyproject.toml; use ~/.repster/config.toml or environment variables.

Environment variables

Variable Description
REPSTER_CLOUD_URL Override the Repster Cloud URL
REPSTER_API_TOKEN Override the API token (useful for CI)
REPSTER_PASSWORD Password for rp login, so it stays out of the command line and shell history

Example CI setup:

REPSTER_API_TOKEN=rpk_... rp deploy