Merge branch 'master' into ben/donation-addresses-endpoint

This commit is contained in:
Ben Wilson 2019-11-12 15:35:57 -05:00 committed by GitHub
commit 749d12a874
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 41 additions and 77 deletions

View File

@ -9,6 +9,4 @@ services:
volumes:
- ./:/app
- static_volume:/home/zcashd/zfaucet/faucet/static
zcashd:
build:
context: docker/zcashd

View File

@ -34,6 +34,7 @@ services:
RPCPASSWORD: $RPCPASSWORD
ZCASH_NETWORK: http://zcashd:18232
zcashd:
image: gcr.io/zcash-web/zcashd:latest
environment:
ZCASHD_NETWORK: $ZCASHD_NETWORK
ZCASHD_SHOWMETRICS: "1"

View File

@ -8,7 +8,7 @@ server {
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server ;
server_name faucet.testnet.z.cash;
server_name _;
ssl_certificate /ssl/faucet.testnet.z.cash.pem;
ssl_certificate_key /ssl/faucet.testnet.z.cash-private.key;

View File

@ -1,29 +0,0 @@
FROM debian:9
RUN apt-get update \
&& apt-get install -y gnupg2 apt-transport-https curl
ARG ZCASH_SIGNING_KEY_ID=6DEF3BAF272766C0
ARG ZCASH_VERSION=2.0.7+2
ARG ZCASHD_USER=zcashd
ARG ZCASHD_UID=2001
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $ZCASH_SIGNING_KEY_ID \
&& echo "deb [arch=amd64] https://apt.z.cash/ jessie main" > /etc/apt/sources.list.d/zcash.list \
&& apt-get update \
&& apt-get install -y zcash=$ZCASH_VERSION
RUN useradd --home-dir /srv/$ZCASHD_USER \
--shell /bin/bash \
--create-home \
--uid $ZCASHD_UID\
$ZCASHD_USER
USER $ZCASHD_USER
WORKDIR /srv/zcashd
RUN mkdir -p /srv/$ZCASHD_USER/.zcash/ \
&& touch /srv/$ZCASHD_USER/.zcash/zcash.conf
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
HEALTHCHECK --interval=5m --timeout=3s \
CMD zcash-cli getinfo || exit 1

View File

@ -1,29 +0,0 @@
#!/bin/bash
set -ex
set -o pipefail
env | sort
zcash-fetch-params
export ZCASHD_CMD='zcashd -printtoconsole -checkblocks=288'
if [[ ! -z "${ZCASHD_NETWORK}" ]];then ZCASHD_CMD+=" -testnet -addnode=testnet.z.cash ";fi
if [[ ! -z "${ZCASHD_SHOWMETRICS}" ]];then ZCASHD_CMD+=" -showmetrics=1";fi
if [[ ! -z "${ZCASHD_LOGIPS}" ]];then ZCASHD_CMD+=" -logips=1";fi
if [[ ! -z "${ZCASHD_EXPERIMENTALFEATURES}" ]];then ZCASHD_CMD+=" -experimentalfeatures=1";fi
if [[ ! -z "${ZCASHD_GEN}" ]];then ZCASHD_CMD+=" -gen=${ZCASHD_GEN}";fi
if [[ ! -z "${ZCASHD_ZSHIELDCOINBASE}" ]];then ZCASHD_CMD+=" -zshieldcoinbase=1";fi
if [[ ! -z "${ZCASHD_RPCUSER}" ]];then ZCASHD_CMD+=" -rpcuser=${ZCASHD_RPCUSER}";fi
if [[ ! -z "${ZCASHD_RPCPASSWORD}" ]];then ZCASHD_CMD+=" -rpcpassword=${ZCASHD_RPCPASSWORD}";fi
if [[ ! -z "${ZCASHD_RPCBIND}" ]];then ZCASHD_CMD+=" -rpcbind=${ZCASHD_RPCBIND}";fi
if [[ ! -z "${ZCASHD_ALLOWIP}" ]];then ZCASHD_CMD+=" -rpcallowip=${ZCASHD_ALLOWIP}";fi
if [[ "${ZCASHD_NETWORK}" == "testnet" ]];then
mkdir -p .zcash/testnet3
rm -f .zcash/testnet3/debug.log
fi
touch .zcash/zcash.conf
echo "Starting: ${ZCASHD_CMD}"
${ZCASHD_CMD}

View File

@ -1,12 +0,0 @@
listen=1
showmetrics=0
logips=1
testnet=1
gen=1
addnode=testnet.z.cash
experimentalfeatures=1
zshieldcoinbase=1
maxconnections=1000
rpcuser=zcashrpc
rpcpassword=295c0dea2d014e0c29d140a077a86b3b

View File

@ -2,10 +2,11 @@
set -e
python docker/zfaucet/wait_for.py --host db --port 5432 --timeout 60
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --no-input
python manage.py check_zcashd --wait 120
python manage.py check_zcashd --wait 240
python manage.py healthcheck
gunicorn --bind=0.0.0.0:8000 --workers=2 zfaucet.wsgi

View File

@ -0,0 +1,32 @@
#!env python3
import argparse
import socket
import time
import sys
waiting = True
elasped = 0
parser = argparse.ArgumentParser()
parser.add_argument("--host", help="Host to test")
parser.add_argument("--port", help="Port to test", type=int)
parser.add_argument("--timeout", help="Seconds to wait (default 10)", type=int, default=10 )
args = parser.parse_args()
print('waiting for: {}:{}'.format(args.host, args.port))
while waiting:
if elasped > args.timeout:
print('Timeout reached, exiting')
sys.exit(1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((args.host, args.port))
waiting = False
except socket.error:
elasped += 2
time.sleep(2)
print('Elapsed: {}s'.format(elasped))
print('Connect to {}:{}!'.format(args.host, args.port))

View File

@ -1,3 +1,3 @@
django
requests
git+https://github.com/benzcash/pyZcash@ben/python3-and-packaging
git+https://github.com/zcash-hackworks/pyZcash

View File

@ -40,7 +40,9 @@ DEBUG = ENVIRONMENT == 'dev'
# production
ALLOWED_HOSTS = ['faucet.testnet.z.cash', '127.0.0.1', 'localhost']
ALLOWED_HOSTS = ['faucet.testnet.z.cash', '127.0.0.1']
if os.getenv('ZFAUCET_HOSTNAME'):
ALLOWED_HOSTS.append(os.getenv('ZFAUCET_HOSTNAME'))
# Application definition