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.3.tar.gz (12.0 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.3-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: drown-0.2.3.tar.gz
  • Upload date:
  • Size: 12.0 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.3.tar.gz
Algorithm Hash digest
SHA256 96bc64863a0b9a425912083ebb497e0c918347440c81dce57a8f94c7dbf20fcd
MD5 2ff5de761c3a561b63197ba395d5feac
BLAKE2b-256 87e55527b19858214c1f95e1e4da6cf434aaf4a9e5288cfcb7f20e14b8b390a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: drown-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 11.2 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b0a8c6c55aeb432e494c85b560c5e1961259eb0056514425301fdfb417b65281
MD5 800dbba181f98c12e7e199a18a2309d6
BLAKE2b-256 0ed80439b068f71923a27a2b60accdcd88eccd27612169ae012efce1393b351f

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