Metadata-Version: 2.4
Name: b3n-sentinel
Version: 0.3.1
Summary: B3n Sentinel CLI and MCP server - manage deployments, services, and projects
Project-URL: Homepage, https://sentinel.b3n.in
Project-URL: Repository, https://github.com/benaiah-ke/b3n-sentinel
Author-email: B3n Inc <admin@b3n.in>
License-Expression: MIT
Keywords: cli,deployment,devops,docker,mcp
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.12
Requires-Dist: httpx>=0.28.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: typer>=0.15.0
Description-Content-Type: text/markdown

# B3n Sentinel CLI

CLI and MCP server for B3n Sentinel.

Default API: `https://sentinel.b3n.in`

## Login

Run GateKeeper device authorization:

```bash
b3n-sentinel login --url https://sentinel.b3n.in
```

Approve the displayed code in GateKeeper. The CLI stores refreshable credentials
in `~/.b3n-sentinel/credentials.json` and sends the GateKeeper access token as
`Authorization: Bearer`.

For rollback or automation, create an admin API token in the Sentinel web UI
(`System -> Admin API Tokens -> Create token`) and run:

```bash
b3n-sentinel login --url https://sentinel.b3n.in --admin-token
```

The old username/password OTP flow has been removed. Revoke CLI tokens from the
web UI and revoke GateKeeper sessions from GateKeeper when they are no longer
needed.

## Common Commands

```bash
b3n-sentinel status
b3n-sentinel projects
b3n-sentinel services
b3n-sentinel project create my-app \
  --type fastapi \
  --domain my-app.b3n.in \
  --repo https://github.com/benaiah-ke/my-app \
  --image ghcr.io/benaiah-ke/my-app:latest
b3n-sentinel logs my-app
b3n-sentinel domain list
```

Set `B3N_SENTINEL_URL` or pass `--url` for non-production instances. For
automation, use `B3N_SENTINEL_TOKEN`; generic `SENTINEL_*` names are left to
Payd-era tooling and are intentionally not read by this package.

Repository: `https://github.com/benaiah-ke/b3n-sentinel`
