gnunet-svn
[Top][All Lists]
Advanced

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

[taler-deployment] branch master updated (697e9cc -> 38db50e)


From: gnunet
Subject: [taler-deployment] branch master updated (697e9cc -> 38db50e)
Date: Thu, 29 Sep 2022 23:20:25 +0200

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

ms pushed a change to branch master
in repository deployment.

    from 697e9cc  Docker: merchant starts
     new 2fd32f2  create default instance
     new 38db50e  docker: launch libeufin

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/hybrid/docker-compose.yml                   |  8 ++++
 docker/hybrid/images/base/Dockerfile               |  8 ++++
 docker/hybrid/images/exchange/startup.sh           | 16 +++++--
 docker/hybrid/images/exchange/taler.conf           | 33 ++++++-------
 .../images/{exchange => libeufin}/Dockerfile       |  1 -
 docker/hybrid/images/libeufin/startup.sh           | 54 ++++++++++++++++++++++
 docker/hybrid/images/merchant/startup.sh           | 10 +++-
 7 files changed, 105 insertions(+), 25 deletions(-)
 copy docker/hybrid/images/{exchange => libeufin}/Dockerfile (73%)
 create mode 100644 docker/hybrid/images/libeufin/startup.sh

diff --git a/docker/hybrid/docker-compose.yml b/docker/hybrid/docker-compose.yml
index ede1dc5..7d07879 100644
--- a/docker/hybrid/docker-compose.yml
+++ b/docker/hybrid/docker-compose.yml
@@ -6,15 +6,23 @@ services:
     build: ./images/postgres
     ports:
       - 8888:5432
+
   exchange:
     build: ./images/exchange
     depends_on:
       - talerdb
     ports:
       - 5555:80
+
   merchant:
     build: ./images/merchant
     depends_on:
       - talerdb
     ports:
       - 5556:80
+
+  bank:
+    build: ./images/libeufin
+    ports:
+      - 5557:5000
+      - 5558:5001
diff --git a/docker/hybrid/images/base/Dockerfile 
b/docker/hybrid/images/base/Dockerfile
index 9e4d487..0733100 100644
--- a/docker/hybrid/images/base/Dockerfile
+++ b/docker/hybrid/images/base/Dockerfile
@@ -8,10 +8,13 @@ RUN apt-get install -y autoconf autopoint libtool texinfo \
   libqrencode-dev zip jq nodejs npm openjdk-17-jre nginx procps \
   curl python3-jinja2 wget curl
 
+RUN pip3 install requests click
+
 RUN git clone git://git.gnunet.org/libmicrohttpd
 RUN git clone git://git.gnunet.org/gnunet
 RUN git clone git://git.taler.net/exchange /exchange
 RUN git clone git://git.taler.net/merchant /merchant
+RUN git clone git://git.taler.net/libeufin /libeufin
 
 WORKDIR /libmicrohttpd
 RUN ./bootstrap
@@ -34,3 +37,8 @@ RUN ./configure CFLAGS="-ggdb -O0" \
   --enable-logging=verbose \
   --disable-doc
 RUN make install
+
+WORKDIR /libeufin
+RUN ./bootstrap
+RUN ./configure
+RUN make install
diff --git a/docker/hybrid/images/exchange/startup.sh 
b/docker/hybrid/images/exchange/startup.sh
index 9fe4052..535bc91 100644
--- a/docker/hybrid/images/exchange/startup.sh
+++ b/docker/hybrid/images/exchange/startup.sh
@@ -3,8 +3,18 @@
 set -eu
 export LD_LIBRARY_PATH=/usr/local/lib
 
-sed -i 's/\${EXCHANGE_URL}/http:\/\/exchange:80\//' /config/taler.conf
-sed -i 's/\${CURRENCY}/EUR/' /config/taler.conf
+# to be 'sed' in the config:
+EXCHANGE_NEXUS_USERNAME=exchange
+EXCHANGE_NEXUS_PASSWORD=x
+EXCHANGE_IBAN=DE159593
+TALER_FACADE_NAME=exchange-facade
+
+sed -i 's/__EXCHANGE_URL__/http:\/\/exchange:80\//' /config/taler.conf
+sed -i 's/__CURRENCY__/EUR/' /config/taler.conf
+sed -i "s/__EXCHANGE_NEXUS_USERNAME__/${EXCHANGE_NEXUS_USERNAME}/" 
/config/taler.conf
+sed -i "s/__EXCHANGE_NEXUS_PASSWORD__/${EXCHANGE_NEXUS_PASSWORD}/" 
/config/taler.conf
+sed -i "s/__EXCHANGE_IBAN__/${EXCHANGE_IBAN}/" /config/taler.conf
+sed -i "s/__TALER_FACADE_NAME__/${TALER_FACADE_NAME}/" /config/taler.conf
 
 while ! pg_isready -h talerdb -d taler; do
   echo DB not ready yet.
@@ -22,7 +32,7 @@ taler-exchange-secmod-rsa -c /config/taler.conf &
 taler-exchange-secmod-cs -c /config/taler.conf &
 echo "Crypto helpers started.."
 EXCHANGE_MASTER_PUB=$(taler-exchange-offline -c /config/taler.conf setup)
-sed -i "s/\${EXCHANGE_MASTER_PUB}/$EXCHANGE_MASTER_PUB/" /config/taler.conf
+sed -i "s/__EXCHANGE_MASTER_PUB__/$EXCHANGE_MASTER_PUB/" /config/taler.conf
 taler-exchange-httpd -c /config/taler.conf &
 for n in `seq 1 80`
   do
diff --git a/docker/hybrid/images/exchange/taler.conf 
b/docker/hybrid/images/exchange/taler.conf
index dd93b3d..5ca50c4 100644
--- a/docker/hybrid/images/exchange/taler.conf
+++ b/docker/hybrid/images/exchange/taler.conf
@@ -1,12 +1,5 @@
-# TO REPLACE (wrapped with ${}):
-
-# NEXUS_URL
-# EXCHANGE_URL
-# CURRENCY
-# EXCHANGE_MASTER_PUB
-
 [taler]
-currency = ${CURRENCY}
+currency = __CURRENCY__
 
 [paths]
 taler_data_home = /data
@@ -23,21 +16,21 @@ sm_priv_key = 
/data/taler-exchange-secmod-cs/secmod-private-key
 unixpath = /sockets/exchange-secmod-cs.sock
 
 [exchange-accountcredentials-1]
-username = exchange-nexus-user
+username = __EXCHANGE_NEXUS_USERNAME__
 wire_gateway_auth_method = basic
-wire_gateway_url = 
${NEXUS_URL}/facades/exchange-taler-facade/taler-wire-gateway/
-password = exchange-nexus-password
+wire_gateway_url = 
${NEXUS_URL}/facades/__TALER_FACADE_NAME__/taler-wire-gateway/
+password = __EXCHANGE_NEXUS_PASSWORD__
 
 [exchange-account-1]
 enable_credit = yes
 enable_debit = yes
-payto_uri = payto://iban/SANDBOXX/DE159593?receiver-name=Name+unknown
+payto_uri = payto://iban/SANDBOXX/__EXCHANGE_IBAN__?receiver-name=Name+unknown
 
 [exchange]
-master_public_key = ${EXCHANGE_MASTER_PUB}
+master_public_key = __EXCHANGE_MASTER_PUB__
 privacy_dir = /usr/local/share/taler/exchange/pp
 terms_dir = /usr/local/share/taler/exchange/tos
-base_url = ${EXCHANGE_URL}
+base_url = __EXCHANGE_URL__
 unixpath = /sockets/exchange.sock
 serve = tcp
 port = 80
@@ -46,14 +39,14 @@ port = 80
 [exchangedb-postgres]
 config = postgres://talerdb/taler
 
-[coin_${CURRENCY}_1]
+[coin___CURRENCY___1]
 rsa_keysize = 2048
-fee_deposit = ${CURRENCY}:0.01
-fee_refund = ${CURRENCY}:0.01
-fee_refresh = ${CURRENCY}:0.01
-fee_withdraw = ${CURRENCY}:0.01
+fee_deposit = __CURRENCY__:0.01
+fee_refund = __CURRENCY__:0.01
+fee_refresh = __CURRENCY__:0.01
+fee_withdraw = __CURRENCY__:0.01
 duration_legal = 10 years
 duration_spend = 5 years
 duration_withdraw = 3 years
-value = ${CURRENCY}:1
+value = __CURRENCY__:1
 cipher = RSA
diff --git a/docker/hybrid/images/exchange/Dockerfile 
b/docker/hybrid/images/libeufin/Dockerfile
similarity index 73%
copy from docker/hybrid/images/exchange/Dockerfile
copy to docker/hybrid/images/libeufin/Dockerfile
index 4f744a5..992c9a1 100644
--- a/docker/hybrid/images/exchange/Dockerfile
+++ b/docker/hybrid/images/libeufin/Dockerfile
@@ -1,6 +1,5 @@
 FROM taler_local/taler_base
 
-COPY taler.conf /config/taler.conf
 COPY startup.sh /
 RUN chmod +x /startup.sh
 ENTRYPOINT /startup.sh
diff --git a/docker/hybrid/images/libeufin/startup.sh 
b/docker/hybrid/images/libeufin/startup.sh
new file mode 100644
index 0000000..a8d3bf3
--- /dev/null
+++ b/docker/hybrid/images/libeufin/startup.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+set -eu
+
+## SANDBOX SETUP
+
+# invoke: username password iban name
+register_sandbox_account() {
+  export LIBEUFIN_SANDBOX_USERNAME=$1
+  export LIBEUFIN_SANDBOX_PASSWORD=$2
+  libeufin-cli sandbox demobank register --name "$4" --iban $3
+  unset LIBEUFIN_SANDBOX_USERNAME
+  unset LIBEUFIN_SANDBOX_PASSWORD
+}
+
+# takes port and service name
+is_serving() {
+  for n in `seq 1 80`
+    do
+      echo "."
+      sleep 0.1
+      OK=1
+      wget http://localhost:$1 -o /dev/null -O /dev/null >/dev/null && break
+      OK=0
+    done
+    if [ 1 != $OK ]
+    then
+        echo "$2 unreachable."
+        exit 1
+    fi
+  echo $2 reachable.
+}
+
+export LIBEUFIN_SANDBOX_DB_CONNECTION="jdbc:sqlite:/libeufin.sqlite3"
+export LIBEUFIN_SANDBOX_ADMIN_PASSWORD=secret
+export LIBEUFIN_SANDBOX_URL="http://localhost:5000/demobanks/default";
+libeufin-sandbox config --currency EUR default
+libeufin-sandbox serve --no-localhost-only &
+is_serving 5000 Sandbox
+
+EXCHANGE_IBAN=DE159593
+EXCHANGE_USERNAME=taler-exchange
+EXCHANGE_PASSWORD=x
+
+register_sandbox_account $EXCHANGE_USERNAME $EXCHANGE_PASSWORD $EXCHANGE_IBAN 
"Exchange Company"
+
+## NEXUS SETUP
+export LIBEUFIN_NEXUS_DB_CONNECTION="jdbc:sqlite:/libeufin.sqlite3"
+libeufin-nexus superuser exchange --password x
+libeufin-nexus serve --no-localhost-only &
+
+is_serving 5001 Nexus
+
+wait
diff --git a/docker/hybrid/images/merchant/startup.sh 
b/docker/hybrid/images/merchant/startup.sh
index eade50f..4303e78 100644
--- a/docker/hybrid/images/merchant/startup.sh
+++ b/docker/hybrid/images/merchant/startup.sh
@@ -28,5 +28,13 @@ echo Found Exchange Pub: $EXCHANGE_MASTER_PUB
 sed -i 's/\${EXCHANGE_URL}/http:\/\/exchange\//' /config/taler.conf
 sed -i "s/\${EXCHANGE_PUB}/${EXCHANGE_MASTER_PUB}/" /config/taler.conf
 sed -i 's/\${CURRENCY}/EUR/' /config/taler.conf
+# FRONTENDS_APIKEY=secret-token:secret, later..
+
 taler-merchant-dbinit -c /config/taler.conf --reset
-taler-merchant-httpd -c /config/taler.conf
+taler-merchant-httpd -c /config/taler.conf &
+sleep 1
+
+curl -s -H "Content-Type: application/json" -X POST -d 
'{"auth":{"method":"external"},"payto_uris":["payto://iban/SANDBOXX/DE474361?receiver-name=Merchant43"],"id":"default","name":"default","address":{},"jurisdiction":{},"default_max_wire_fee":"EUR:1",
 
"default_max_deposit_fee":"EUR:1","default_wire_fee_amortization":1,"default_wire_transfer_delay":{"d_us"
 : 3600000000},"default_pay_delay":{"d_us": 3600000000}}' 
http://merchant/management/instances
+
+echo Default instance created.
+wait

-- 
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]