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

Uploaded Python 3

File details

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

File metadata

  • Download URL: drown-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 0ea1fec8ba91100bb9c054c20754b8756ea5412055c00c8057143b96d00b2dfd
MD5 4ba5ab69eb3f08623095216e03bad745
BLAKE2b-256 92f6458c5f04a0be208121300f69aeb57222fe13a2a63213d28f05040fe37f2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: drown-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7e7f35c4960294c11c9746c05ecc1a0d4146771665dfcc9a0e0d44b1f23b5d11
MD5 52faa38801cce860fb39abfc6d3e4541
BLAKE2b-256 011548cd5ea41fc0a3056ebce07edb8f792775a66330173700c744df401d3b8f

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