gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-deployment] 02/02: deploy Sync; expose custom ports.


From: gnunet
Subject: [taler-deployment] 02/02: deploy Sync; expose custom ports.
Date: Thu, 10 Nov 2022 22:21:31 +0100

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository deployment.

commit f5c6b148506a8f6daf0bdc174f477931446539c5
Author: MS <ms@taler.net>
AuthorDate: Thu Nov 10 19:00:43 2022 +0100

    deploy Sync; expose custom ports.
---
 docker/demo/README                     |  2 ++
 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, 68 insertions(+), 21 deletions(-)

diff --git a/docker/demo/README b/docker/demo/README
index 13fa913..6432650 100644
--- a/docker/demo/README
+++ b/docker/demo/README
@@ -133,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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]