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.1.tar.gz (84.3 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: dob_cli-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 abca6978624b243203f8567678100030215769af84221a59658d3dcc6423cca0
MD5 4b2d57c846f760a16c4a1c04a200f19e
BLAKE2b-256 5ae2490042eeaf2c73e2aa1458b874e7a24cfe65e02d09f3dbec9a703f5c920b

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