ansible-taler-exchange

Ansible playbook to deploy a production Taler Exchange
Log | Files | Refs | Submodules | README | LICENSE

commit ab783886eb4f44c9abec4eefdef9d9b7d2221e70
parent 13c2da6b2bc10377b434ecf6814b4aaff9665e2a
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat, 23 Nov 2024 20:21:12 +0100

add denomination config

Diffstat:
Mplaybooks/setup.yml | 4+++-
Mroles/auditor/files/etc/taler-auditor/taler-auditor.conf | 10+++++-----
Droles/exchange/files/etc/taler-exchange/taler-exchange.conf | 45---------------------------------------------
Mroles/exchange/tasks/main.yml | 13++++++++-----
Aroles/exchange/templates/etc/taler-exchange/conf.d/denominations.conf.j2 | 232+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mroles/exchange/templates/etc/taler-exchange/conf.d/exchange-business.conf.j2 | 3+++
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!