aboutsummaryrefslogtreecommitdiff
path: root/taler-exchange/root
diff options
context:
space:
mode:
authorSlack Coder <slackcoder@server.ky>2023-11-29 10:35:20 -0500
committerSlack Coder <slackcoder@server.ky>2024-03-12 16:38:56 -0500
commitb9eaaf853abd4250a6bc424914dae5189bc23de6 (patch)
tree873ca2d04e4c7f5516876822dafd0f0b38b01f5b /taler-exchange/root
parentd978a115ef800c22e5cc1a30d075b26c896cabad (diff)
downloadslackbuilds-b9eaaf853abd4250a6bc424914dae5189bc23de6.tar.xz
Add GNU Taler
Add the following packages and dependencies to build them from their git source repositories. - taler-exchange - taler-merchant - libeufin
Diffstat (limited to 'taler-exchange/root')
-rw-r--r--taler-exchange/root/etc/httpd/sites-available/taler-exchange.conf.new4
-rwxr-xr-xtaler-exchange/root/etc/rc.d/rc.taler-exchange.new305
-rw-r--r--taler-exchange/root/etc/taler/conf.d/exchange-business.conf.new48
-rw-r--r--taler-exchange/root/etc/taler/conf.d/exchange-coins.conf.new34
-rw-r--r--taler-exchange/root/etc/taler/conf.d/exchange-system.conf.new10
-rw-r--r--taler-exchange/root/etc/taler/secrets/exchange-accountcredentials-1.secret.conf.new16
-rw-r--r--taler-exchange/root/etc/taler/secrets/exchange-db.secret.conf.new10
7 files changed, 427 insertions, 0 deletions
diff --git a/taler-exchange/root/etc/httpd/sites-available/taler-exchange.conf.new b/taler-exchange/root/etc/httpd/sites-available/taler-exchange.conf.new
new file mode 100644
index 0000000..39f2643
--- /dev/null
+++ b/taler-exchange/root/etc/httpd/sites-available/taler-exchange.conf.new
@@ -0,0 +1,4 @@
+<Location "/taler-exchange/">
+ ProxyPass "unix:/run/taler/exchange-httpd/exchange-http.sock|http://example.com/"
+ RequestHeader add "X-Forwarded-Proto" "https"
+</Location>
diff --git a/taler-exchange/root/etc/rc.d/rc.taler-exchange.new b/taler-exchange/root/etc/rc.d/rc.taler-exchange.new
new file mode 100755
index 0000000..b032830
--- /dev/null
+++ b/taler-exchange/root/etc/rc.d/rc.taler-exchange.new
@@ -0,0 +1,305 @@
+#!/bin/sh
+#
+# Startup/shutdown script for GNU Taler's exchange.
+#
+
+create_run_dir() {
+ if [ ! -d /run/taler/ ]; then
+ mkdir -p /run/taler
+ chown :taler /run/taler
+ chmod g+wX /run/taler
+ fi
+}
+
+start_httpd() {
+ echo "Starting Taler Exchange's httpd service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-httpd \
+ --user=taler-exchange-httpd \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-httpd.log \
+ -- taler-exchange-httpd --config /etc/taler/taler.conf
+}
+
+status_httpd() {
+ /usr/bin/daemon --name=taler-exchange-httpd --pidfiles=/run/taler --running --verbose
+}
+
+stop_httpd() {
+ echo "Stopping Taler Exchange's httpd service"
+ /usr/bin/daemon --name=taler-exchange-httpd --pidfiles=/run/taler --stop
+}
+
+start_aggregator() {
+ echo "Starting Taler Exchange's aggregator service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-aggregator \
+ --user=taler-exchange-aggregator \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-aggregator.log \
+ -- taler-exchange-aggregator --config /etc/taler/taler.conf
+}
+
+status_aggregator() {
+ /usr/bin/daemon --name=taler-exchange-aggregator --pidfiles=/run/taler --running --verbose
+}
+
+stop_aggregator() {
+ echo "Stopping Taler Exchange's aggregator service"
+ /usr/bin/daemon --name=taler-exchange-aggregator --pidfiles=/run/taler --stop
+}
+
+start_closer() {
+ echo "Starting Taler Exchange's closer service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-closer \
+ --user=taler-exchange-closer \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-closer.log \
+ -- taler-exchange-closer --config /etc/taler/taler.conf
+}
+
+status_closer() {
+ /usr/bin/daemon --name=taler-exchange-closer --pidfiles=/run/taler --running --verbose
+}
+
+stop_closer() {
+ echo "Stopping Taler Exchange's closer service"
+ /usr/bin/daemon --name=taler-exchange-closer --pidfiles=/run/taler --stop
+}
+
+start_secmod_cs() {
+ echo "Starting Taler Exchange's secmod-cs service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-secmod-cs \
+ --user=taler-exchange-secmod-cs \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-secmod-cs.log \
+ -- taler-exchange-secmod-cs --config /etc/taler/taler.conf
+}
+
+status_secmod_cs() {
+ /usr/bin/daemon --name=taler-exchange-secmod-cs --pidfiles=/run/taler --running --verbose
+}
+
+stop_secmod_cs() {
+ echo "Stopping Taler Exchange's secmod-cs service"
+ /usr/bin/daemon --name=taler-exchange-secmod-cs --pidfiles=/run/taler --stop
+}
+
+start_secmod_rsa() {
+ echo "Starting Taler Exchange's secmod-rsa service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-secmod-rsa \
+ --user=taler-exchange-secmod-rsa \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-secmod-rsa.log \
+ -- taler-exchange-secmod-rsa --config /etc/taler/taler.conf
+}
+
+status_secmod_rsa() {
+ /usr/bin/daemon --name=taler-exchange-secmod-rsa --pidfiles=/run/taler --running --verbose
+}
+
+stop_secmod_rsa() {
+ echo "Stopping Taler Exchange's secmod-rsa service"
+ /usr/bin/daemon --name=taler-exchange-secmod-rsa --pidfiles=/run/taler --stop
+}
+
+start_secmod_eddsa() {
+ echo "Starting Taler Exchange's secmod-eddsa service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-secmod-eddsa \
+ --user=taler-exchange-secmod-eddsa \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-secmod-eddsa.log \
+ -- taler-exchange-secmod-eddsa --config /etc/taler/taler.conf
+}
+
+stop_secmod_eddsa() {
+ echo "Stopping Taler Exchange's secmod-eddsa service"
+ /usr/bin/daemon --name=taler-exchange-secmod-eddsa --pidfiles=/run/taler --stop
+}
+
+start_transfer() {
+ echo "Starting Taler Exchange's transfer service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-transfer \
+ --user=taler-exchange-transfer \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-transfer.log \
+ -- taler-exchange-transfer --config /etc/taler/taler.conf
+}
+
+status_transfer() {
+ /usr/bin/daemon --name=taler-exchange-transfer --pidfiles=/run/taler --running --verbose
+}
+
+stop_transfer() {
+ echo "Stopping Taler Exchange's transfer service"
+ /usr/bin/daemon --name=taler-exchange-transfer --pidfiles=/run/taler --stop
+}
+
+start_wirewatch() {
+ echo "Starting Taler Exchange's wirewatch service"
+ create_run_dir
+
+ daemon \
+ --name=taler-exchange-wirewatch \
+ --user=taler-exchange-wirewatch \
+ --pidfiles=/run/taler \
+ --output=/var/log/taler/taler-exchange-wirewatch.log \
+ -- taler-exchange-wirewatch --config /etc/taler/taler.conf
+}
+
+status_wirewatch() {
+ /usr/bin/daemon --name=taler-exchange-wirewatch --pidfiles=/run/taler --running --verbose
+}
+
+stop_wirewatch() {
+ echo "Stopping Taler Exchange's wirewatch service"
+ /usr/bin/daemon --name=taler-exchange-wirewatch --pidfiles=/run/taler --stop
+}
+
+start() {
+ start_httpd
+ start_aggregator
+ start_closer
+ start_secmod_cs
+ start_secmod_rsa
+ start_secmod_eddsa
+ start_transfer
+ start_wirewatch
+}
+
+status() {
+ status_httpd
+ status_aggregator
+ status_closer
+ status_secmod_cs
+ status_secmod_rsa
+ status_transfer
+ status_wirewatch
+}
+
+stop() {
+ stop_httpd
+ stop_aggregator
+ stop_closer
+ stop_secmod_cs
+ stop_secmod_rsa
+ stop_transfer
+ stop_wirewatch
+}
+
+case "$1" in
+start-httpd)
+ start_httpd
+ ;;
+status-httpd)
+ status_httpd
+ ;;
+stop-httpd)
+ stop_httpd
+ ;;
+
+start-aggregator)
+ start_aggregator
+ ;;
+status-aggregator)
+ status_aggregator
+ ;;
+stop-aggregator)
+ stop_aggregator
+ ;;
+
+start-closer)
+ start_closer
+ ;;
+status-closer)
+ status_closer
+ ;;
+stop-closer)
+ stop_closer
+ ;;
+
+start-secmod_cs)
+ start_secmod_cs
+ ;;
+status-secmod_cs)
+ status_secmod_cs
+ ;;
+stop-secmod_cs)
+ stop_secmod_cs
+ ;;
+
+start-secmod_rsa)
+ start_secmod_rsa
+ ;;
+status-secmod_rsa)
+ status_secmod_rsa
+ ;;
+stop-secmod_rsa)
+ stop_secmod_rsa
+ ;;
+
+start-secmod_eddsa)
+ start_secmod_eddsa
+ ;;
+status-secmod_eddsa)
+ status_secmod_eddsa
+ ;;
+stop-secmod_eddsa)
+ stop_secmod_eddsa
+ ;;
+
+start-transfer)
+ start_transfer
+ ;;
+status-transfer)
+ status_transfer
+ ;;
+stop-transfer)
+ stop_transfer
+ ;;
+
+start-wirewatch)
+ start_wirewatch
+ ;;
+status-wirewatch)
+ status_wirewatch
+ ;;
+stop-wirewatch)
+ stop_wirewatch
+ ;;
+
+start)
+ start
+ ;;
+status)
+ status
+ ;;
+stop)
+ stop
+ ;;
+*)
+ echo "Usage: $0 {start\(-*\)|stop\(-*\)|status\(-*\)}"
+ exit 1
+esac
+
+
+
diff --git a/taler-exchange/root/etc/taler/conf.d/exchange-business.conf.new b/taler-exchange/root/etc/taler/conf.d/exchange-business.conf.new
new file mode 100644
index 0000000..f56e47b
--- /dev/null
+++ b/taler-exchange/root/etc/taler/conf.d/exchange-business.conf.new
@@ -0,0 +1,48 @@
+# Configuration for business-level aspects of the exchange.
+
+[exchange]
+
+# Here you MUST add the master public key of the offline system
+# which you can get using `taler-exchange-offline setup`.
+# This is just an example, your key will be different!
+# MASTER_PUBLIC_KEY = YE6Q6TR1EDB7FD0S68TGDZGF1P0GHJD2S0XVV8R2S62MYJ6HJ4ZG
+# MASTER_PUBLIC_KEY =
+
+# Publicly visible base URL of the exchange.
+# BASE_URL = https://example.com/
+# BASE_URL =
+
+# Here you MUST configure the amount above which transactions are
+# always subject to manual AML review.
+# AML_THRESHOLD =
+
+# Attribute encryption key for storing attributes encrypted
+# in the database. Should be a high-entropy nonce.
+ATTRIBUTE_ENCRYPTION_KEY = SET_ME_PLEASE
+
+# For your terms of service and privacy policy, you should specify
+# an Etag that must be updated whenever there are significant
+# changes to either document. The format is up to you, what matters
+# is that the value is updated and never re-used. See the HTTP
+# specification on Etags.
+# TERMS_ETAG =
+# PRIVACY_ETAG =
+
+SERVE = unix
+UNIXPATH_MODE = 666
+
+# Bank accounts used by the exchange should be specified here:
+[exchange-account-1]
+
+ENABLE_CREDIT = NO
+ENABLE_DEBIT = NO
+
+# Account identifier in the form of an RFC-8905 payto:// URI.
+# For SEPA, looks like payto://sepa/$IBAN?receiver-name=$NAME
+# Make sure to URL-encode spaces in $NAME!
+PAYTO_URI =
+
+# Credentials to access the account are in a separate
+# config file with restricted permissions.
+@inline-secret@ exchange-accountcredentials-1 ../secrets/exchange-accountcredentials-1.secret.conf
+
diff --git a/taler-exchange/root/etc/taler/conf.d/exchange-coins.conf.new b/taler-exchange/root/etc/taler/conf.d/exchange-coins.conf.new
new file mode 100644
index 0000000..562ba05
--- /dev/null
+++ b/taler-exchange/root/etc/taler/conf.d/exchange-coins.conf.new
@@ -0,0 +1,34 @@
+#
+# This configuration file specifies the various denominations offered by your
+# exchange.
+#
+# Each denomination must be specified in a sections starting with
+# "coin_".
+#
+# What follows is an example.
+#
+
+# [coin_FOO]
+## Actual value of the coin
+#VALUE = KUDOS:1
+
+## How long will one key be used for withdrawals?
+#DURATION_WITHDRAW = 7 days
+
+## How long do users have to spend their coins?
+#DURATION_SPEND = 2 years
+
+## How long does the exchange keep the proofs around for legal disputes?
+#DURATION_LEGAL = 6 years
+
+## Fees charged. Note that for the lowest denomination, the
+## fee must precisely be the lowest denomination, or zero.
+#FEE_WITHDRAW = KUDOS:0
+#FEE_DEPOSIT = KUDOS:0
+#FEE_REFRESH = KUDOS:0
+#FEE_REFUND = KUDOS:0
+
+## How long should the RSA keys be. Do not change unless you really know
+## what you are doing (consult your local cryptographer first!).
+#RSA_KEYSIZE = 2048
+
diff --git a/taler-exchange/root/etc/taler/conf.d/exchange-system.conf.new b/taler-exchange/root/etc/taler/conf.d/exchange-system.conf.new
new file mode 100644
index 0000000..75c670f
--- /dev/null
+++ b/taler-exchange/root/etc/taler/conf.d/exchange-system.conf.new
@@ -0,0 +1,10 @@
+# Configuration settings for system parameters of the exchange.
+
+# Read secret sections into configuration, but only
+# if we have permission to do so.
+@inline-secret@ exchangedb-postgres ../secrets/exchange-db.secret.conf
+
+[exchange]
+
+# Only supported database is Postgres right now.
+DATABASE = postgres
diff --git a/taler-exchange/root/etc/taler/secrets/exchange-accountcredentials-1.secret.conf.new b/taler-exchange/root/etc/taler/secrets/exchange-accountcredentials-1.secret.conf.new
new file mode 100644
index 0000000..603dc60
--- /dev/null
+++ b/taler-exchange/root/etc/taler/secrets/exchange-accountcredentials-1.secret.conf.new
@@ -0,0 +1,16 @@
+# This file contains the secret credentials
+# to access the Taler Wire Gateway API (usually
+# provided by LibEuFin) for the exchange accounts.
+#
+# Each exchange-account-* section should have a matching
+# exchange-accountcredentials-* section here.
+#
+# Each of those sections must be imported via @inline-secret@,
+# usually in conf.d/exchange-business.conf.
+
+[exchange-accountcredentials-1]
+
+wire_gateway_auth_method = basic
+password =
+username =
+wire_gateway_url =
diff --git a/taler-exchange/root/etc/taler/secrets/exchange-db.secret.conf.new b/taler-exchange/root/etc/taler/secrets/exchange-db.secret.conf.new
new file mode 100644
index 0000000..08c2007
--- /dev/null
+++ b/taler-exchange/root/etc/taler/secrets/exchange-db.secret.conf.new
@@ -0,0 +1,10 @@
+# Database configuration for the Taler exchange.
+
+[exchangedb-postgres]
+
+# Typically, there should only be a single line here, of the form:
+
+CONFIG=postgres:///taler-exchange
+
+# The details of the URI depend on where the database lives and how
+# access control was configured.