diff options
author | Slack Coder <slackcoder@server.ky> | 2023-11-29 10:35:20 -0500 |
---|---|---|
committer | Slack Coder <slackcoder@server.ky> | 2024-03-12 16:38:56 -0500 |
commit | b9eaaf853abd4250a6bc424914dae5189bc23de6 (patch) | |
tree | 873ca2d04e4c7f5516876822dafd0f0b38b01f5b /taler-exchange/root | |
parent | d978a115ef800c22e5cc1a30d075b26c896cabad (diff) | |
download | slackbuilds-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')
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. |