commit ab783886eb4f44c9abec4eefdef9d9b7d2221e70
parent 13c2da6b2bc10377b434ecf6814b4aaff9665e2a
Author: Christian Grothoff <christian@grothoff.org>
Date: Sat, 23 Nov 2024 20:21:12 +0100
add denomination config
Diffstat:
6 files changed, 251 insertions(+), 56 deletions(-)
diff --git a/playbooks/setup.yml b/playbooks/setup.yml
@@ -15,8 +15,10 @@
vars:
# Our currency.
CURRENCY = CHF
+# Main domain name.
+ DOMAIN_NAME = taler-ops.ch
# Base URL of the exchange REST API
- EXCHANGE_BASE_URL="https://exchange.taler-ops.ch/"
+ EXCHANGE_BASE_URL="https://exchange.{{ $DOMAIN_NAME }}/"
# Exchange offline master public key.
EXCHANGE_MASTER_PUB=
# Name of Terms of service resource file
diff --git a/roles/auditor/files/etc/taler-auditor/taler-auditor.conf b/roles/auditor/files/etc/taler-auditor/taler-auditor.conf
@@ -21,11 +21,11 @@
[paths]
-TALER_HOME = /var/lib/taler-exchange/
-TALER_RUNTIME_DIR = /run/taler-exchange/
-TALER_CACHE_HOME = /var/cache/taler-exchange/
-TALER_CONFIG_HOME = /etc/taler-exchange/
-TALER_DATA_HOME = /var/lib/taler-exchange/
+TALER_HOME = /var/lib/taler-auditor/
+TALER_RUNTIME_DIR = /run/taler-auditor/
+TALER_CACHE_HOME = /var/cache/taler-auditor/
+TALER_CONFIG_HOME = /etc/taler-auditor/
+TALER_DATA_HOME = /var/lib/taler-auditor/
[exchange]
diff --git a/roles/exchange/files/etc/taler-exchange/taler-exchange.conf b/roles/exchange/files/etc/taler-exchange/taler-exchange.conf
@@ -1,45 +0,0 @@
-# Main entry point for the GNU Taler configuration.
-#
-# Structure:
-# - taler.conf is the main configuration entry point
-# used by all Taler components (the file you are currently
-# looking at.
-# - overrides.conf contains configuration overrides that are
-# set by some tools that help with the configuration,
-# and should not be edited by humans. Comments in this file
-# are not preserved.
-# - conf.d/ contains configuration files for
-# Taler components, which can be read by all
-# users of the system and are included by the main
-# configuration.
-# - secrets/ contains configuration snippets
-# with secrets for particular services.
-# These files should have restrictive permissions
-# so that only users of the relevant services
-# can read it. All files in it should end with
-# ".secret.conf".
-
-[paths]
-
-TALER_HOME = /var/lib/taler-exchange/
-TALER_RUNTIME_DIR = /run/taler-exchange/
-TALER_CACHE_HOME = /var/cache/taler-exchange/
-TALER_CONFIG_HOME = /etc/taler-exchange/
-TALER_DATA_HOME = /var/lib/taler-exchange/
-
-[exchange]
-
-# Currency of the Taler deployment. This setting applies to all Taler
-# components that only support a single currency.
-currency = CHF
-
-# Smallest currency unit handled by the underlying bank system. Taler payments
-# can make payments smaller than this units, but interactions with external
-# systems is always rounded to this unit.
-currency_round_unit = CHF:0.01
-
-# Inline configurations from all Taler components.
-@inline-matching@ conf.d/*.conf
-
-# Overrides from tools that help with configuration.
-@inline@ overrides.conf
diff --git a/roles/exchange/tasks/main.yml b/roles/exchange/tasks/main.yml
@@ -12,11 +12,6 @@
dest: "/etc/nginx/sites-available/exchange-nginx.conf"
notify: restart nginx
-- name: Place taler-exchange config
- copy:
- src: etc/taler-exchange/taler-exchange.conf
- dest: "/etc/taler-exchange/taler-exchange.conf"
-
- name: Place taler-exchange business config
ansible.builtin.template:
src: templates/etc/taler-exchange/conf.d/exchange-business.conf.j2
@@ -25,6 +20,14 @@
group: root
mode: 0644
+- name: Place taler-exchange denominations config
+ ansible.builtin.template:
+ src: templates/etc/taler-exchange/conf.d/denominations.conf.j2
+ dest: "/etc/taler-exchange/conf.d/denominations.conf"
+ owner: root
+ group: root
+ mode: 0644
+
- name: Place taler-exchange account credentials
ansible.builtin.template:
src: templates/etc/taler-exchange/secrets/exchange-accountcredentials-primary.secret.conf.j2
diff --git a/roles/exchange/templates/etc/taler-exchange/conf.d/denominations.conf.j2 b/roles/exchange/templates/etc/taler-exchange/conf.d/denominations.conf.j2
@@ -0,0 +1,232 @@
+# Coin configuration for the exchange.
+# Should be placed in "/etc/taler/config.d/exchange-coins.conf".
+
+[COIN-n1-t1732389541]
+VALUE = {{ CURRENCY }}:0.0025
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n2-t1732389541]
+VALUE = {{ CURRENCY }}:0.005
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n3-t1732389541]
+VALUE = {{ CURRENCY }}:0.01
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n4-t1732389541]
+VALUE = {{ CURRENCY }}:0.02
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n5-t1732389541]
+VALUE = {{ CURRENCY }}:0.04
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n6-t1732389541]
+VALUE = {{ CURRENCY }}:0.08
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n7-t1732389541]
+VALUE = {{ CURRENCY }}:0.16
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n8-t1732389541]
+VALUE = {{ CURRENCY }}:0.32
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n9-t1732389541]
+VALUE = {{ CURRENCY }}:0.64
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n10-t1732389541]
+VALUE = {{ CURRENCY }}:1.28
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n11-t1732389541]
+VALUE = {{ CURRENCY }}:2.56
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n12-t1732389541]
+VALUE = {{ CURRENCY }}:5.12
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n13-t1732389541]
+VALUE = {{ CURRENCY }}:10.24
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n14-t1732389541]
+VALUE = {{ CURRENCY }}:20.48
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n15-t1732389541]
+VALUE = {{ CURRENCY }}:40.96
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n16-t1732389541]
+VALUE = {{ CURRENCY }}:81.92
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n17-t1732389541]
+VALUE = {{ CURRENCY }}:163.84
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n18-t1732389541]
+VALUE = {{ CURRENCY }}:327.68
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+[COIN-n19-t1732389541]
+VALUE = {{ CURRENCY }}:655.36
+DURATION_WITHDRAW = 7 days
+DURATION_SPEND = 2 years
+DURATION_LEGAL = 6 years
+FEE_WITHDRAW = {{ CURRENCY }}:0
+FEE_DEPOSIT = {{ CURRENCY }}:0
+FEE_REFRESH = {{ CURRENCY }}:0
+FEE_REFUND = {{ CURRENCY }}:0
+RSA_KEYSIZE = 2048
+CIPHER = RSA
+
+
diff --git a/roles/exchange/templates/etc/taler-exchange/conf.d/exchange-business.conf.j2 b/roles/exchange/templates/etc/taler-exchange/conf.d/exchange-business.conf.j2
@@ -2,6 +2,9 @@
[exchange]
+# Currency of this exchange.
+CURRENCY = {{ CURRENCY }}
+
# 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!