Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cypherpunkarmory/holepunch
Holepunch API
https://github.com/cypherpunkarmory/holepunch
python rest-api reverse-tunnel
Last synced: 9 days ago
JSON representation
Holepunch API
- Host: GitHub
- URL: https://github.com/cypherpunkarmory/holepunch
- Owner: CypherpunkArmory
- License: agpl-3.0
- Created: 2019-02-22T21:07:33.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-11-02T06:32:47.000Z (about 5 years ago)
- Last Synced: 2024-04-13T16:24:25.891Z (7 months ago)
- Topics: python, rest-api, reverse-tunnel
- Language: Python
- Homepage:
- Size: 1.15 MB
- Stars: 54
- Watchers: 10
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/62df8afdbbe64aeb92e32be409932f6e)](https://www.codacy.com/app/CypherpunkArmory/holepunch?utm_source=github.com&utm_medium=referral&utm_content=CypherpunkArmory/holepunch&utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/62df8afdbbe64aeb92e32be409932f6e)](https://www.codacy.com/app/CypherpunkArmory/holepunch?utm_source=github.com&utm_medium=referral&utm_content=CypherpunkArmory/holepunch&utm_campaign=Badge_Coverage)
[![CircleCI](https://circleci.com/gh/CypherpunkArmory/holepunch.svg?style=svg)](https://circleci.com/gh/CypherpunkArmory/holepunch)
# HolepunchThis is the code used to run [api.holepunch.io](https://api.holepunch.io)
Visit [holepunch.io](https://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.1. You will need a dockerhub account to run the app.
2. Create a virtualenv (using pyenv) called "holepunch" based on Python 3.7.0
3. Install go-task via homebrew
4. Run `task setup_local setup_net`
5. 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 /bin/sh`# Deploying Holepunch
Contributors and Holepunch Developers
1. Spin up a pushbutton environment using Grid.
2. Login to the Pushbutton VPN
3. Cd into the deploy directory and create a holepunch workspace with the _same
name_ as your Pusbutton
4. 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.
5. task deploy WORKSPACE=
- 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.