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

Uploaded Python 3

File details

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

File metadata

  • Download URL: dob_cli-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 2c6fb4b558cd668e1a4267023ac4d343dc8768884f32334cadd861a86e6e421d
MD5 4a49e297adac43025133132394b8b047
BLAKE2b-256 15fc88928f3ed6afb3caae6924848571e838fd43ab964ab4ec09202f345b9724

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dob_cli-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6502fcfd9d5d317c45460976e15d56079ed8cdcdae69aeb912c410b07a6cdd69
MD5 5c2494ef63b022967dac9cad58b983ea
BLAKE2b-256 5383d629050b48d2ccc1d1cdbc2afb16e92e9c6b917953faed38f5896c1074b2

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