Skip to main content

drown-cli

CLI tool for managing apps on Drown Platform - a self-hosted PaaS (Platform as a Service).

Deploy and manage containerized applications with simple commands, similar to Heroku CLI but for your own infrastructure.

Installation

pip install drown

Quick Start

# Login to your Drown Platform instance
# This also automatically sets up SSH keys for git push
drown login

# List your apps
drown apps

# Create a new app
drown create my-app

# Deploy your code (works automatically after login)
git push platform main

# Scale your app
drown scale my-app 3

# View logs
drown logs my-app

# Check metrics
drown metrics my-app

# Logout
drown logout

Commands

drown login

Authenticate with your Drown Platform instance. You'll be prompted for your username and password.

drown login

What happens during login:

  1. Authenticates with the platform API
  2. Generates an SSH key pair (if not already present) at ~/.drown/id_ed25519
  3. Registers the public key with the platform
  4. Updates ~/.ssh/config to use the key automatically for git operations
  5. Saves credentials to ~/.drown/config.json

After a successful login, git push platform main works automatically with no additional SSH configuration needed.

Note: Requires OpenSSH or Git for Windows to be installed (for ssh-keygen).

drown logout

Remove saved credentials.

drown logout

drown apps

List all your deployed applications.

drown apps

Output:

NAME           DOMAIN                    STATUS    REPLICAS
my-app         my-app.dr0wn.duckdns.org  running   3
web-frontend   web.dr0wn.duckdns.org     running   1

drown create <app-name>

Create a new application.

drown create my-new-app

If run from a git repository, automatically adds a platform git remote using the SSH host alias configured during login. Then deploy with:

git push platform main

The SSH key setup from drown login ensures this works seamlessly without any manual SSH configuration.

drown scale <app-name> <count>

Scale the number of replicas for an application.

drown scale my-app 5

drown logs <app-name>

View application logs.

drown logs my-app

drown metrics <app-name>

View resource usage metrics (CPU, memory) for all replicas.

drown metrics my-app

Output:

REPLICA    PORT    STATUS    CPU      MEMORY
0          8001    running   2.1%     64MiB
1          8002    running   1.8%     62MiB
2          8003    running   2.4%     65MiB

Configuration

SSH Keys

The CLI automatically manages SSH keys for git operations:

  • Private key: ~/.drown/id_ed25519
  • Public key: ~/.drown/id_ed25519.pub
  • SSH config: ~/.ssh/config (automatically updated with Host drown-platform entry)

These are set up during drown login and registered with your platform account. The keys are ed25519 format with no passphrase for non-interactive git operations.

API URL

By default, the CLI connects to https://dashboard.dr0wn.duckdns.org.

To use a custom instance, set the DROWN_API_URL environment variable:

export DROWN_API_URL=https://your-instance.com
drown login

Config File

Authentication token and user info are stored in ~/.drown/config.json:

{
  "token": "your-jwt-token",
  "username": "your-username",
  "api_base": "https://dashboard.dr0wn.duckdns.org"
}

Windows users: ~ resolves to C:\Users\<YourUsername>\, so config files are stored at:

  • C:\Users\<YourUsername>\.drown\config.json
  • C:\Users\<YourUsername>\.drown\id_ed25519
  • C:\Users\<YourUsername>\.ssh\config

Requirements

  • Python 3.7+
  • OpenSSH or Git for Windows (for SSH key generation and git operations)
  • Git (optional, for drown create auto-remote feature and deployment)

Development

git clone https://github.com/drownplatform/drown-cli.git
cd drown-cli
pip install -e .

License

MIT License - see LICENSE file for details.

Links

Support

For issues or questions, please open an issue on GitHub.

Download files

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

Source Distribution

drown-0.2.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

drown-0.2.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file drown-0.2.0.tar.gz.

File metadata

  • Download URL: drown-0.2.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for drown-0.2.0.tar.gz
Algorithm Hash digest
SHA256 53a86b2559c95f9f8a91ed110fb9ef6a73a1ccaf175b0ffc2b15fa2f988a05e2
MD5 30d38928dc87c372c70c6aa3ae14f218
BLAKE2b-256 388883d46d34290ad19945c1866b0e16bda6546540d5787e1c3bfd7354eb20d5

See more details on using hashes here.

File details

Details for the file drown-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: drown-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for drown-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87e4b85adb95b2f598cae79b65ddd48f6981163f8034d0701467d982454458e3
MD5 a7b7e82bf6fec53ac8ada68d646d638d
BLAKE2b-256 d37b93bb0b6a5256b36f00aa0ed9b25813c45229805fafcc4e65d917a6532255

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