Awesome
Holepunch
This is the code used to run api.holepunch.io <br/> Visit holepunch.io to find out more
Setting Up
The holepunch nomad cluster requires a loopback alias in order to communicate with containers running on the MacOS version of docker.
If you are running on a Mac, you can create this loopback alias at
172.16.123.1 by running task setup_net
If you are running locally, you will need to set the sshendpoint in your .punch.toml
file to this address as well.
This step is not necessary for running on Linux - but you will probably need
to change the SEA_HOST
environment variable to your local IP.
- You will need a dockerhub account to run the app.
- Create a virtualenv (using pyenv) called "holepunch" based on Python 3.7.0
- Install go-task via homebrew
- Run
task setup_local setup_net
- Run the tests
docker-compose run web pytest
Common Commands
Run Flask Shell
docker-compose run -e "FLASK_APP=app:create_app('development')" web python -m flask shell
Exec into a container
Most of the containers do not have bash so you'll need to use regular old sh.
docker ps
-> note the container id
docker exec -it <container_id> /bin/sh
Deploying Holepunch
Contributors and Holepunch Developers
- Spin up a pushbutton environment using Grid.
- Login to the Pushbutton VPN
- Cd into the deploy directory and create a holepunch workspace with the same name as your Pusbutton
- Push a release to Docker Hub - for development it will deploy a tag with your branch name. If you're on master, it will create a tag release.
- task deploy WORKSPACE=<your workspace name>
- If you are on master it will create new tags incremented by 0.0.1 and release those
- You can specify a version using the VER variable.