[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-deployment] branch master updated (07dfee6 -> f5c6b14)
From: |
gnunet |
Subject: |
[taler-deployment] branch master updated (07dfee6 -> f5c6b14) |
Date: |
Thu, 10 Nov 2022 22:21:29 +0100 |
This is an automated email from the git hooks/post-receive script.
ms pushed a change to branch master
in repository deployment.
from 07dfee6 readme
new b78ec46 readme
new f5c6b14 deploy Sync; expose custom ports.
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
docker/demo/README | 23 ++++++++++++++++++++++-
docker/demo/config/deployment.conf | 1 +
docker/demo/docker-compose.yml | 21 +++++++++++----------
docker/demo/images/base/Dockerfile | 12 +++++++++++-
docker/demo/images/exchange/startup.sh | 16 ++++++++++------
docker/demo/images/exchange/taler.conf | 1 -
docker/demo/images/libeufin/startup.sh | 1 +
docker/demo/images/merchant/startup.sh | 24 +++++++++++++++++++++---
docker/demo/images/merchant/taler.conf | 11 +++++++++++
9 files changed, 88 insertions(+), 22 deletions(-)
diff --git a/docker/demo/README b/docker/demo/README
index 96df1bd..6432650 100644
--- a/docker/demo/README
+++ b/docker/demo/README
@@ -43,7 +43,26 @@ From this directory, run:
Hotfixes
--------
-TBD
+Attach to the base image first:
+
+ # $HOTFIX is arbitrary; helps avoid copying and pasting alphanumeric IDs
+ $ docker run --name $HOTFIX -it taler_local/taler_base /bin/bash
+
+From inside the container, navigate to "/$REPO", issue
+"git pull" and install the software as usual. Exit the
+container thereafter.
+
+Commit the container having the hotfix:
+
+ $ docker commit $HOTFIX
+
+That outputs a new ID ($RETVAL). That is the ID of the
+modified image. Tag it, to let other images use it to build:
+
+ $ docker tag $RETVAL taler_local/taler_base:latest
+
+Now build all the images with docker-compose, as described
+in the 'How to run' section.
How to run
==========
@@ -114,6 +133,8 @@ From this directory:
The above test registers a new bank account to libEufin,
withdraw coins and spend them directly at the merchant backend.
+NOTE: localhost works only with the default ports exposed.
+
How to deploy to online sites
=============================
diff --git a/docker/demo/config/deployment.conf
b/docker/demo/config/deployment.conf
index 78d7240..9fc1f7a 100644
--- a/docker/demo/config/deployment.conf
+++ b/docker/demo/config/deployment.conf
@@ -10,6 +10,7 @@ landing-url = http://localhost:5562/
blog-url = http://localhost:5559/
donations-url = http://localhost:5560/
survey-url = http://localhost:5561/
+sync-url = http://localhost:5563/
bank-url = http://localhost:15002/
# Bank accounts
diff --git a/docker/demo/docker-compose.yml b/docker/demo/docker-compose.yml
index 5e763a2..d44b9d2 100644
--- a/docker/demo/docker-compose.yml
+++ b/docker/demo/docker-compose.yml
@@ -8,7 +8,7 @@ services:
talerdb:
build: ./images/postgres
ports:
- - 8888:5432
+ - ${TALER_DB_PORT:-8888}:5432
volumes:
- talerlogs:/logs
- talerdata:/var/lib/postgresql/data/
@@ -32,7 +32,7 @@ services:
depends_on:
- talerdb
ports:
- - 5555:80
+ - ${TALER_EXCHANGE_PORT:-5555}:80
volumes:
- talerlogs:/logs
- talerdata:/data
@@ -43,11 +43,12 @@ services:
depends_on:
- talerdb
ports:
- - 5556:80 # backend
- - 5559:8080 # blog
- - 5560:8081 # donations
- - 5561:8082 # survey
- - 5562:8083 # landing
+ - ${TALER_MERCHANT_PORT:-5556}:80 # backend
+ - ${TALER_BLOG_PORT:-5559}:8080 # blog
+ - ${TALER_DONATIONS_PORT:-5560}:8081 # donations
+ - ${TALER_SURVEY_PORT:-5561}:8082 # survey
+ - ${TALER_LANDING_PORT:-5562}:8083 # landing
+ - ${TALER_SYNC_PORT:-5563}:8084 # sync
volumes:
- talerlogs:/logs
- ${TALER_DEPLOYMENT_CONFIG:?Please export
TALER_DEPLOYMENT_CONFIG}:/config/deployment.conf
@@ -55,9 +56,9 @@ services:
bank:
build: ./images/libeufin
ports:
- - 15000:15000 # Sandbox
- - 15001:15001 # Nexus
- - 15002:80 # Nginx serving the SPA
+ - ${LIBEUFIN_SANDBOX_PORT:-15000}:15000 # Sandbox
+ - ${LIBEUFIN_NEXUS_PORT:-15001}:15001 # Nexus
+ - ${LIBEUFIN_FRONTEND_PORT:-15002}:80 # Nginx serving the SPA
volumes:
- talerlogs:/logs
- talerdata:/data
diff --git a/docker/demo/images/base/Dockerfile
b/docker/demo/images/base/Dockerfile
index 3d12cf9..98f9799 100644
--- a/docker/demo/images/base/Dockerfile
+++ b/docker/demo/images/base/Dockerfile
@@ -18,6 +18,8 @@ RUN git clone git://git.taler.net/merchant /merchant
RUN git clone git://git.taler.net/libeufin /libeufin
RUN git clone git://git.taler.net/taler-merchant-demos /taler-merchant-demos
RUN git clone git://git.taler.net/wallet-core /wallet-core
+RUN git clone git://git.taler.net/sync /sync
+
WORKDIR /libmicrohttpd
RUN ./bootstrap
@@ -51,7 +53,6 @@ RUN ./bootstrap
RUN ./configure
RUN make install
-
# From:
https://github.com/nodesource/distributions/blob/master/README.md#debinstall
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | bash - && \
apt-get install -y nodejs
@@ -62,4 +63,13 @@ WORKDIR ./packages/demobank-ui
RUN ./configure
RUN make install
+WORKDIR /sync
+RUN ./bootstrap
+RUN ./configure CFLAGS="-ggdb -O0" \
+ --enable-logging=verbose \
+ --disable-doc
+RUN make install
+
+
+
WORKDIR /
diff --git a/docker/demo/images/exchange/startup.sh
b/docker/demo/images/exchange/startup.sh
index 48382fc..204c233 100644
--- a/docker/demo/images/exchange/startup.sh
+++ b/docker/demo/images/exchange/startup.sh
@@ -1,13 +1,16 @@
#!/bin/bash
+set -o pipefail
set -eu
-set -x
+
export LD_LIBRARY_PATH=/usr/local/lib
# Values from config file mounted at run time:
CURRENCY=`taler-config -c /config/deployment.conf -s taler-deployment -o
currency`
EXCHANGE_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o
default-exchange`
+socat TCP-LISTEN:5555,fork,reuseaddr TCP:localhost:80 &
+
EXCHANGE_NEXUS_USERNAME=`taler-config -c /config/deployment.conf -s
taler-deployment -o exchange-nexus-username`
EXCHANGE_NEXUS_PASSWORD=`taler-config -c /config/deployment.conf -s
taler-deployment -o exchange-nexus-password`
EXCHANGE_IBAN=DE159593
@@ -58,7 +61,7 @@ for n in `seq 1 50`
echo "."
sleep 0.3
OK=1
- wget http://exchange/ -o /dev/null -O /dev/null >/dev/null && break
+ wget $EXCHANGE_URL -t 1 -o /dev/null -O /dev/null >/dev/null && break
OK=0
done
if [ 1 != $OK ]
@@ -67,10 +70,7 @@ for n in `seq 1 50`
exit 1
fi
echo DONE
-# echo -n "Launching sync..."
-# sync-httpd -L DEBUG -c /config/taler.conf 2>&1 | \
-# rotatelogs -e /logs/sync-httpd-%Y-%m-%d 86400 &
-# echo DONE
+
echo -n "Launching wirewatch..."
taler-exchange-wirewatch -L DEBUG -c /config/taler.conf 2>&1 | \
rotatelogs -e /logs/taler-exchange-wirewatch-%Y-%m-%d 86400 &
@@ -93,4 +93,8 @@ taler-exchange-offline -L DEBUG -c /config/taler.conf \
upload 2>&1
echo DONE
+echo -n "Requesting exchange's /keys..."
+curl --max-time 4 -s "${EXCHANGE_URL}keys"
+echo DONE
+
wait
diff --git a/docker/demo/images/exchange/taler.conf
b/docker/demo/images/exchange/taler.conf
index fec00c3..7153a3d 100644
--- a/docker/demo/images/exchange/taler.conf
+++ b/docker/demo/images/exchange/taler.conf
@@ -37,7 +37,6 @@ base_url = __EXCHANGE_URL__
unixpath = /sockets/exchange.sock
serve = tcp
port = 80
-# serve = unix
[exchangedb-postgres]
config = postgres://root:__DB_PASSWORD__@talerdb/taler
diff --git a/docker/demo/images/libeufin/startup.sh
b/docker/demo/images/libeufin/startup.sh
index 777ddcc..f1eab38 100644
--- a/docker/demo/images/libeufin/startup.sh
+++ b/docker/demo/images/libeufin/startup.sh
@@ -1,5 +1,6 @@
#!/bin/bash
+set -o pipefail
set -eu
MAYBE_VOLUME_MOUNTPOINT="/data/libeufin"
diff --git a/docker/demo/images/merchant/startup.sh
b/docker/demo/images/merchant/startup.sh
index 7b55a94..7ba17c7 100644
--- a/docker/demo/images/merchant/startup.sh
+++ b/docker/demo/images/merchant/startup.sh
@@ -1,12 +1,15 @@
#!/bin/bash
+set -o pipefail
set -eu
+
export LD_LIBRARY_PATH=/usr/local/lib
# Values from config file mounted at run time:
CURRENCY=`taler-config -c /config/deployment.conf -s taler-deployment -o
currency`
BACKEND_APIKEY=`taler-config -c /config/deployment.conf -s taler-deployment -o
merchant-apikey`
BACKEND_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o
merchant-url`
+SYNC_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o
sync-url`
EXCHANGE_URL=`taler-config -c /config/deployment.conf -s taler-deployment -o
default-exchange`
DB_PASSWORD=`taler-config -c /config/deployment.conf -s taler-deployment -o
db-password`
@@ -42,6 +45,9 @@ socat TCP-LISTEN:5555,fork,reuseaddr TCP:exchange:80 &
# to make frontends reach the backend.
socat TCP-LISTEN:5556,fork,reuseaddr TCP:localhost:80 &
+# sync HTTPD redirect:
+socat TCP-LISTEN:5563,fork,reuseaddr TCP:localhost:8080 &
+
# $2 might have Authorization header.
is_serving () {
set +u # tolerate missing $2
@@ -53,9 +59,9 @@ for n in `seq 1 50`
OK=1
# auth case.
if test -n "$2"; then
- wget --header "$2" $1 -o /dev/null -O /dev/null >/dev/null && break
+ wget --header "$2" $1 -t 1 -o /dev/null -O /dev/null >/dev/null && break
else
- wget $1 -o /dev/null -O /dev/null >/dev/null && break
+ wget $1 -t 1 -o /dev/null -O /dev/null >/dev/null && break
fi
OK=0
done
@@ -64,7 +70,7 @@ for n in `seq 1 50`
echo "ERROR: $1 unreachable."
exit 1
fi
- set -e
+ set -u
}
is_serving ${EXCHANGE_URL}
@@ -87,6 +93,8 @@ taler-merchant-httpd -c /config/taler.conf 2>&1 | \
echo DONE
sleep 1
+is_serving "${BACKEND_URL}config"
+
source /create_instances.sh
export TALER_ENV_URL_MERCHANT_BLOG=`taler-config -c /config/deployment.conf -s
taler-deployment -o blog-url`
@@ -135,7 +143,17 @@ libeufin-cli sandbox \
--payto-with-subject ${PAYTO_RESERVE} --amount 20
unset LIBEUFIN_SANDBOX_USERNAME
unset LIBEUFIN_SANDBOX_PASSWORD
+echo DONE
+echo -n "Init sync database..."
+sync-dbinit -L DEBUG -c /config/taler.conf
echo DONE
+echo -n "Launching sync..."
+sync-httpd -L DEBUG -c /config/taler.conf 2>&1 | \
+ rotatelogs -e /logs/sync-httpd-%Y-%m-%d 86400 &
+echo DONE
+
+is_serving $SYNC_URL
+
wait
diff --git a/docker/demo/images/merchant/taler.conf
b/docker/demo/images/merchant/taler.conf
index a85510e..aef24d2 100644
--- a/docker/demo/images/merchant/taler.conf
+++ b/docker/demo/images/merchant/taler.conf
@@ -26,3 +26,14 @@ wire_response =
${TALER_DATA_HOME}/merchant/wire/merchant.json
[frontends]
backend = __BACKEND_URL__
backend_apikey = __BACKEND_APIKEY__
+
+[sync]
+serve = tcp
+port = 8084
+apikey = __BACKEND_APIKEY__
+annual_fee = __CURRENCY__:0.01
+fulfillment_url = __SYNC_FULFILLMENT_URL__
+payment_backend_url = __BACKEND_URL__
+
+[syncdb-postgres]
+config = postgres://root:__DB_PASSWORD__@talerdb/taler
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-deployment] branch master updated (07dfee6 -> f5c6b14),
gnunet <=