39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
# proxmanager.py
|
|
|
|
A script to execute management actions agains a proxmox cluster
|
|
|
|
## Setup
|
|
|
|
Clone the repository into `/opt/proxmanager` on a machine.
|
|
The machine needs HTTP API access to the cluster(s) it should run
|
|
against, and should not be a cluster node. The location
|
|
`/opt/proxmanager` and virtualenv name `env` are hardcoded to ensure
|
|
that the script can be run without first activating its virtualenv.
|
|
|
|
Once cloned, execute the following steps:
|
|
```bash
|
|
cd /opt/proxmanager
|
|
python3 -m venv env
|
|
source env/bin/activate
|
|
pip install -r requirements.txt
|
|
deactivate
|
|
cp config.ini.example config.ini
|
|
```
|
|
|
|
Create API keys in all clusters you intend to manage and edit
|
|
`config.ini` accordingly.
|
|
|
|
The cluster identifier used in `config.ini` should be a DNS name that
|
|
points to all nodes in that cluster. That identifier is also the one
|
|
to use for `<mycluster>` when calling the script. All node names as
|
|
reported by proxmox must be resolvable in the local DNS search domain.
|
|
|
|
Ensure basic functionality by running the following:
|
|
`./proxmanager.py <mycluster> fix-services`
|
|
|
|
Optionally create a symlink to the script somewhere on your PATH.
|
|
|
|
## Usage
|
|
|
|
Run `./proxmanager.py --help` for usage instructions.
|