gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

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