dmaax / mc-devops

A project to manage the infrastructure of a Minecraft network using Ansible, Terraform and Vagrant

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mc-devops

Description

Automate your Minecraft Network infrastructure with ease! This project configures and provisions everything a Minecraft Network needs, from firewall rules to databases and even the Pterodactyl game panel. Using Vagrant, Terraform, and Ansible, you can effortlessly manage your Minecraft network, providing a seamless and reliable gaming experience for players.

Prerequisites

  • Ansible - Version 8.2.0 or higher

  • Python - Version 3.9 or higher

  • Terraform - Version 1.5.4 or higher

  • Vagrant - Version 2.3.7 or higher

  • VirtualBox - Version 7.0.10 or higher

  • ansible/: Contains the Ansible-related files, including the inventory and playbook.

  • functions/: Contains the shell function files for Vagrant, Terraform, and Ansible actions.

  • terraform/: Contains the Terraform configuration files.

  • vagrant/: Contains the Vagrant configuration files.

  • deploy.sh: The main script/wrapper for all functions.

  • LICENSE: The project's license file.

  • README.md: This file provides an overview of the project.

  • TODO.md: This file tracks pending and completed tasks.

Usage

  1. Ensure you have the prerequisites installed.
  2. Clone the repository
git clone https://github.com/dmaax/mc-devops.git
cd mc-devops
  1. Run the deployment script with appropriate arguments to manage your Minecraft infrastructure. For example:

To start Vagrant VM:

./deploy.sh vagrant start

To halt Vagrant VM:

./deploy.sh vagrant halt

To run Terraform initialization:

./deploy.sh terraform init

To apply Terraform configuration and create infrastructure:

./deploy.sh terraform apply

To run the Ansible playbook:

./deploy.sh ansible run development.ini everything-playbook.yml

For more examples please refer to the show_usage function in deploy.sh.

License

This project is licensed under the MIT License.

About

A project to manage the infrastructure of a Minecraft network using Ansible, Terraform and Vagrant

License:MIT License


Languages

Language:Shell 90.5%Language:HCL 9.0%Language:Jinja 0.5%