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.1.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.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: drown-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 9a2590e0e34dc8ca5f905164f6323ae36b87f31eb892219ad274ad8f19bbad06
MD5 393afc8f33358f52875985594ba08af7
BLAKE2b-256 3eabf8a6c2bb525aae34144317c065fccff95d0ea288d4ac725252a5f7862b73

See more details on using hashes here.

File details

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

File metadata

  • Download URL: drown-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76afdae4ce65ef4765113b8f1dc6c0700fa203e8b9f2c71d6243ec0005599e47
MD5 a89c74d7e6be69cbbde2a9d0cf5f9e50
BLAKE2b-256 acbf5c606e61764f5ff695c09ebbd5a5a69803af565abc162bd2bce956ace358

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