30 lines
1.8 KiB
Markdown
30 lines
1.8 KiB
Markdown
# mocha-suv
|
|
|
|
Single User Version - portable environments for Mocha advanced database infrastructure
|
|
|
|
## Prerequisites
|
|
|
|
The command-line Mocha SUV Manager (`./suv`) and the Mocha SUV Provisioner (`./provision`) were written with the assumption of a **BASH** scripting environment. They have not been tested on other shells, or written with the intention of being cross-platform. This may change in the future.
|
|
|
|
The SUV Provisioner uses `hexdump` to generate random ID numbers for newly-provisioned virtual machines. It also uses `shuf` to generate random IP address ranges for the SUVs.
|
|
|
|
The SUV Provisioner uses `vagrant` for virtual machine provisioning, which itself uses `virtualbox`.
|
|
|
|
## Configuration
|
|
|
|
The IP address ranges generated by the provisioner are outside the typically allowed range for VirtualBox host-only networks. To fix this, either change `SUV_IP_PREFIX` in `./provision` or create/open file `/etc/vbox/networks.conf` and add the following lines:
|
|
|
|
```
|
|
* 10.0.0.0/8 192.168.0.0/16
|
|
* 2001::/64
|
|
```
|
|
|
|
## Installation
|
|
|
|
1. Clone the repository with `git clone`
|
|
2. Initialize and update submodules with `git submodule init` and `git submodule update`
|
|
3. Provision a new Mocha Single User Version (SUV) with `./suv new`
|
|
|
|
## Usage
|
|
|
|
The provisioning process will create a new VirtualBox virtual machine with the appropriate configuration, download and install updates and packages for the virtual machine's operating system, and copy files related to the Mocha advanced database infrastructure. This process may take a long time. When the build is finished, the newly-provisioned virtual machine will be running and listening for requests. Point your favorite browser to the IP address or host name of the virtual machine (displayed at the end of the provisioning process) and log in with the displayed credentials. |