Skip to main content

ChatOps discord bot to request and provision Openstack resources in MidgardLab

Project description

Midgard Discord bot

pre-commit.ci status Python 3.10

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

  1. 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.
  2. For most teaching lab, the users do not deviate from a standard configuration.
  3. The resource should be accessible to most users so beginners and professionals alike can quickly provision, experiment and shutdown their solutions.
  4. We want to avoid running jumpboxes.
  5. We want to avoid installing any VPN solution.
  6. 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:

Midgard-Discord Bot Architecture Diagram

  1. Users will interface with the MidgardLab entirely through Discord slash commands.
  2. The Discord bot will communicate with the OpenStack API on the users' behalf to setup an account, register public key and provision VM.
  3. 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


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 details)

Uploaded Source

Built Distribution

midgard_discord-0.8.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file midgard_discord-0.8.0.tar.gz.

File metadata

  • Download URL: midgard_discord-0.8.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.8.10 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for midgard_discord-0.8.0.tar.gz
Algorithm Hash digest
SHA256 26e8d31f3c017ed31c7e28557289f345054425113b53d68e4c6220d72e4f69ee
MD5 caed2c9ce53eb1fb9efdf818b1ea5dc2
BLAKE2b-256 b09a877210845290bb7ea655606f3b6ff979e8f3344652eaa05c852b055f1cf5

See more details on using hashes here.

File details

Details for the file midgard_discord-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: midgard_discord-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.8.10 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for midgard_discord-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d556472cddc268d89c162a4aadc050064dbf62dfdc0ae7a95706e7ea2deb7ce7
MD5 eea64cdcc31e8e7797ab75242dc444b0
BLAKE2b-256 d75e92ffab552f51a6522a6e6763707e8ea3f7903928303862607a9751664b08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page