Skip to main content

DOB CLI for remote command execution with persona-based authentication.

Project description

🚀 DOB CLI – Secure Remote Command Execution with Persona Authentication

The DOB CLI (dob) is a secure and extensible command-line interface for executing remote tasks on your infrastructure via signed persona tokens. It supports authenticated command forwarding and secure screenplay execution through configuration files.


✨ Features

  • 🔐 Persona-Based Authentication – Execute remote commands using cryptographically signed tokens.
  • 📁 Screenplay File Execution – Send .yaml config files for infrastructure automation.
  • 🌐 Remote Host Execution – Forward commands from any environment to a central host.
  • ⚙️ Simple Configuration – Configure once with dob config, then just run.

📦 Installation

✅ From PyPI (Recommended)

Install using pip:

pip install dob-cli

Requires Python 3.6+


🔧 Configuration

Before executing any commands, configure your persona and host using:

dob config --persona-name <name> \
           --token <persona_token> \
           --private-key-path <path_to_private.pem> \
           --host-endpoint <http://host>

This creates a config file at:

~/.dobconfig.json

Example:

dob config \
  --persona-name alice_dev \
  --token 1234-abcd-token \
  --private-key-path ~/.ssh/alice_private.pem \
  --host-endpoint http://dob-819914.user.devops-bot.online/persona/api

🚀 Usage

1. Run a remote command

dob vault show

This will forward: dob vault show to your remote host via secure signed request.


2. Run a command with screenplay file

dob aws screenplay --file-path ec2.yaml

If --file-path is included, the file content will be read and sent inline.


🧪 Example

dob persona create \
  --name frontend \
  --role deploy \
  --namespace staging

or

dob aws screenplay --file-path ./infra/ec2.yaml

🛠 How It Works

  1. dob config saves credentials + host endpoint to ~/.dobconfig.json.
  2. dob signs your token with the private key.
  3. Command and file content (if any) are sent to the host via HTTP POST.
  4. Host authenticates, executes, and returns output.

❓ Troubleshooting

  • Config file not found
    Run dob config first to generate ~/.dobconfig.json.

  • Auth failed?
    Ensure token and private key match and host is reachable.

  • File not sent?
    Use --file-path with absolute or valid relative path.


💡 Development

Clone the repo and install in editable mode:

git clone https://github.com/Devops-Bot-Official/dob-cli.git
cd dob-cli
pip install -e .

📄 License

MIT License © 2025 Dee Empire GmbH / DevOps-Bot

Project details


Download files

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

Source Distribution

dob_cli-1.0.4.tar.gz (84.3 kB view details)

Uploaded Source

Built Distribution

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

dob_cli-1.0.4-py3-none-any.whl (84.7 kB view details)

Uploaded Python 3

File details

Details for the file dob_cli-1.0.4.tar.gz.

File metadata

  • Download URL: dob_cli-1.0.4.tar.gz
  • Upload date:
  • Size: 84.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dob_cli-1.0.4.tar.gz
Algorithm Hash digest
SHA256 0ca51a31018fe4680f6f5da0c2a7a09813fb6d89cd3843e50671868d83966d40
MD5 156fd0c441c381fef116a5068d23d514
BLAKE2b-256 6647a9d4c923a631f9690e4a08bec31f7f861ccec23a6935388c4f27345c0cbd

See more details on using hashes here.

File details

Details for the file dob_cli-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: dob_cli-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 84.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dob_cli-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 079d5c316b64f8c807b97ed2e909a303bfb69782f0bf77bfc47716a86ffed8a4
MD5 2bcd1b2955e0b0e0c890a8e5ce80fb02
BLAKE2b-256 9d08d061e1b31c71e26806a1113797e42c716a342f96f56d670be47e229359ce

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