Files
firezone/CONTRIBUTING.md
Jamil Bou Kheir 3759f6d65d Rename instances
2021-07-10 06:29:16 -07:00

59 lines
1.4 KiB
Markdown

# Contributing Guide
Read this guide before opening a pull request.
## Table of Contents
1. [Prerequisites](#prerequisites)
2. [Project Setup](#project-setup)
1. [Provision the test VMs](#provision-the-test-vms)
2. [Start the WireGuard™ interface on the
server](#start-the-wireguard-interface-on-the-server)
3. [Start the WireGuard interface on the
client](#start-the-wireguard-interface-on-the-client)
3. [Testing](#testing)
TBD
## Prerequisites
You'll need the following software installed to develop for FireZone:
- [Vagrant](vagrantup.com)
- [Ansible](ansible.com)
- [VirtualBox](virtualbox.org)
- [asdf VM](asdf-vm.com)
- A recent version of [PostgreSQL](postgresql.org) server installed and running
- [dotenv](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dotenv)
functionality for your shell
## Project Setup
1. Ensure Postgres is running with a superuser role of `firezone`. E.g.
```
$ psql -h localhost -d postgres
> CREATE ROLE firezone;
```
2. Install the language versions defined in `.tool-versions`:
```
# Run this from the project root
$ asdf install
```
3. Resolve dependencies
```
$ mix deps.get
$ npm install --prefix apps/fz_http/assets
```
4. Bootstrap DB
```
$ mix ecto.setup
```
5. Launch Server
```
mix phx.server
```
## Testing
Run tests with `mix test` from the project root.