Metadata-Version: 2.4
Name: bmc-launcher
Version: 0.1.0
Summary: A utility for launching BMC interfaces
License: GPL-3.0
License-File: LICENSE
Keywords: bmc,idrac,ilo,ipmi,supermicro,selenium
Author: Pritpal Sabharwal
Author-email: pritpal@theopsguy.co.uk
Requires-Python: >=3.12,<4.0
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: pydantic (>=2.11.7,<3.0.0)
Requires-Dist: ruamel-yaml (>=0.18.6,<0.19.0)
Requires-Dist: selenium (>=4.27.1,<5.0.0)
Requires-Dist: webdriver-manager (>=4.0.2,<5.0.0)
Project-URL: Homepage, https://github.com/theopsguy/bmc-launcher
Project-URL: Repository, https://github.com/theopsguy/bmc-launcher
Description-Content-Type: text/markdown

# BMC Launcher

A command-line utility that uses Selenium WebDriver to launch a browser, navigate to a server's BMC (Baseboard Management Controller) web interface, and login automatically.

## Installation

1. Create a virtualenv (recommended)
    ```
    python3 -m venv ~/bmc_launcher && source ~/bmc_launcher/bin/activate
    ```

1. Clone the repository
    ```
    git clone https://github.com/theopsguy/bmc-launcher.git
    cd bmc-launcher
    ```

1. Install dependencies and utility:
    ```
    pip3 install poetry && poetry install
    ```

## Configuration

### Default location:

`~/.bmc_launcher/config.yaml`

### Example

```yaml
default_credentials:
  hpe:
    username: admin
    password: mysecret
  dell:
    username: root
    password: dellpass

servers:
  - name: web00
    ip: 192.168.1.10
    manufacturer: HPE
  - name: db00
    ip: 192.168.1.11
    manufacturer: dell
    credentials:
      username: specialuser
      password: otherpass
```

## Usage

- List hosts defined in the configuration:

```
% python3 bmc_launcher/main.py -l
  - name: web00
    url: https://192.168.1.10
    manufacturer: HPE
    credentials:
      username: Administrator
      password: '**********'
    ilo_version: 4
  - name: firewall00
    url: https://192.168.1.1
    manufacturer: SUPERMICRO
    credentials:
  - name: test_dell
    url: https://10.0.0.1
    manufacturer: DELL
    credentials:
    idrac_version: 9
```

- Launch BMC:

```
python3 bmc_launcher/main.py -H web00 -i
```

Note, `-i` disables certificate validation.

