Skip to content

Provide MAAS power control via webhooks for various remote control power switches.

License

Notifications You must be signed in to change notification settings

gilesknap/maaspower

Repository files navigation

CI Coverage PyPI License

maaspower

Power control webhook server for Canonical's MAAS.

The requirements for such webhooks are defined here:

Source https://github.com/gilesknap/maaspower
PyPI pip install maaspower
Docker docker run ghcr.io/gilesknap/maaspower:latest
Documentation https://gilesknap.github.io/maaspower
Releases https://github.com/gilesknap/maaspower/releases

This project implements MAAS power control for machines that do not already have a BMC type supported by MAAS. It uses webhooks to control any number of remote switching devices that can power cycle such machines.

The project uses an extensible architecture so more switching device types may be added, see add_api.

At present it supports two flavours of switching control:

  • Command line interface. Anything that is controllable by a command line utility that can be installed on the machine running this webhook service.
  • SmartThings API: a popular Samsung IoT protocol that is supported by thousands of devices
  • Web UI controlled devices - uses selenium to connect to the web UI and control the device. A basic DSL describes the UI fields to scrape.
  • Cisco IOS PoE Switches
from maaspower import __version__

print(f"Hello maaspower {__version__}")

Or if it is a commandline tool then you might put some example commands here:

python -m maaspower --version

See https://gilesknap.github.io/maaspower for more detailed documentation.