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.2.tar.gz (84.2 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.2-py3-none-any.whl (84.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dob_cli-1.0.2.tar.gz
  • Upload date:
  • Size: 84.2 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.2.tar.gz
Algorithm Hash digest
SHA256 0129fc64566500a7d180fa29cef297f26bf4951676cc154412f567599256332f
MD5 4135c79bf5db6975bec6bd959aeaf445
BLAKE2b-256 7a531c0ee7d5ba78419ae065cb9176b79ee22e2493bc720c7e04b9a4711bcd9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dob_cli-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 84.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3d8ee01e0c27d80242643304797d0fbd64457d5794c2668b0219b6c0863f6642
MD5 90b46f8aefde38dd4140e41d5e5fd686
BLAKE2b-256 9e34350cffa9fb992a6edd00ad9e79d62fd9cac2ba502945d533dbc3e2acec1f

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