ChatOps discord bot to request and provision Openstack resources in MidgardLab
Project description
Midgard Discord bot
Midgard is a private OpenStack cloud for VAIT testing, training, and development purpose. This project aims to simplify and allow quick provisioning of OpenStack VM using an opinionated workflow entirely through Discord, following a ChatOps model.
Motivations
- Midgard is an OpenStack lab running entirely on-premise. While it has NAT connectivity, the sticking point is how to direct ingress point to the VMs provisioned inside the lab.
- For most teaching lab, the users do not deviate from a standard configuration.
- The resource should be accessible to most users so beginners and professionals alike can quickly provision, experiment and shutdown their solutions.
- We want to avoid running jumpboxes.
- We want to avoid installing any VPN solution.
- We want to avoid software client dependencies, access should simply be SSH into the VM.
Software Architecture
The software architecture for the bot is as followed:
- Users will interface with the MidgardLab entirely through Discord slash commands.
- The Discord bot will communicate with the OpenStack API on the users' behalf to setup an account, register public key and provision VM.
- The Discord bot will also setup Cloudflare DNS tunnels to allow users to SSH into the VMs provisioned.
Usage
Run the bot with the following command:
poetry run midgard
Contributing
See CONTRIBUTING.md for more information.
License
This project is licensed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
midgard_discord-0.8.0.tar.gz
(10.9 kB
view hashes)
Built Distribution
Close
Hashes for midgard_discord-0.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d556472cddc268d89c162a4aadc050064dbf62dfdc0ae7a95706e7ea2deb7ce7 |
|
MD5 | eea64cdcc31e8e7797ab75242dc444b0 |
|
BLAKE2b-256 | d75e92ffab552f51a6522a6e6763707e8ea3f7903928303862607a9751664b08 |