Skip to content

Virtual playground for experimenting with software infrastructure via VMs

License

Notifications You must be signed in to change notification settings

jgfranco17/olympus-network

Repository files navigation

The Olympus Network

Status License


📝 Table of Contents

🔎 About

A simple playground for software infrastructure tools and virtual machines. In this setup, the host machine will be the central device, networking with 3 virtual machines. Currently, this project is being developed on Linux, but should work on MacOS. Eventually, I plan to implement Infrastructure as Code (IaC) technologies for VM setup.

⚙️ Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

The following must be installed on the host machine:

It is highly recommended to use pyenv to manage Python versions. Everything else should be installed through the Makefile in a local scope only. The use of direnv allows for ease of access by allowing us to load and unload environment variables depending on the current directory.

🚀 Usage

In order to start up the Olympus Network machines, you can use the following command. Aside from enacting the standard vagrant up, this command first validates the Vagrantfile configuration before running.

# Start the Vagrant machines
make startup

If you want to use Ansible, we can configure a virtual environment to isolate the installation to local scope.

# Set up a Python3 virtual env, name it ".venv" for compatibility with the Makefile
python -m venv .venv

# Install Python prerequisites using local pip
make install-requirements

To remote connect into any of the virtual machines, we can use Vagrant's built-in ssh command. This allows us to connect via hostname rather than IP address.

# Connect to VM
vagrant ssh [zeus|poseidon|hades]

If you wish to completely wipe the environment and tear down the virtual machines, simply run:

# Destroys the Vagrant VMs and related drives
make clean

✍️ Authors

🎉 Acknowledgements

Special thanks to Brandon Fulljames for the project that served as an inspiration for this build.

About

Virtual playground for experimenting with software infrastructure via VMs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published