summaryrefslogtreecommitdiff
path: root/config/generate-config
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2019-06-26 23:49:50 +0200
committerMarcello Stanisci <stanisci.m@gmail.com>2019-06-26 23:50:06 +0200
commitf9e32809e85d1e4f29730a8894f24a984012f1b7 (patch)
tree0d1b78822147f0b86a9d839e7f3a4769727fca7a /config/generate-config
parentbb0c5ae74bd80516b769c00c81bedf11a4d3e9ed (diff)
downloaddeployment-f9e32809e85d1e4f29730a8894f24a984012f1b7.tar.gz
deployment-f9e32809e85d1e4f29730a8894f24a984012f1b7.tar.bz2
deployment-f9e32809e85d1e4f29730a8894f24a984012f1b7.zip
refactor/simplofy config-gen
Diffstat (limited to 'config/generate-config')
-rwxr-xr-xconfig/generate-config151
1 files changed, 53 insertions, 98 deletions
diff --git a/config/generate-config b/config/generate-config
index be781e4..09dc1fa 100755
--- a/config/generate-config
+++ b/config/generate-config
@@ -8,10 +8,9 @@ import urllib.parse
import stat
class ConfigFile:
- def __init__(self, standalone, envname, currency, exchange_pub, twisted, filename):
+ def __init__(self, envname, currency, exchange_pub, twisted, filename):
self.sections = OrderedDict()
self.envname = envname
- self.standalone = standalone
self.filename = filename
self.currency = currency
self.twisted = twisted
@@ -64,7 +63,7 @@ def coin(obj,
obj.cfg_put(sec, "rsa_keysize", rsa_keysize)
def config(obj):
- obj.cfg_put("paths", "TALER_DEPLOYMENT_SHARED", "${HOME}/shared-data")
+ obj.cfg_put("paths", "TALER_DEPLOYMENT_DATA", "${HOME}/taler-data")
obj.cfg_put("taler", "CURRENCY", obj.currency)
# Twisting the merchant backend responses.
@@ -87,15 +86,8 @@ def config(obj):
obj.cfg_put("bank", "max_debt_bank", "%s:0.0" % obj.currency)
- if obj.standalone:
- obj.cfg_put("bank", "database", "postgres:///taler?host={}/sockets".format(os.getenv("HOME")))
- else:
- obj.cfg_put("bank", "database", "postgres:///taler{}".format(obj.envname))
-
- if obj.standalone:
- obj.cfg_put("bank", "suggested_exchange", "https://env.taler.net/{}/exchange/".format(obj.envname))
- else:
- obj.cfg_put("bank", "suggested_exchange", "https://exchange.{}.taler.net/".format(obj.envname))
+ obj.cfg_put("bank", "database", "postgres:///taler{}".format(obj.envname))
+ obj.cfg_put("bank", "suggested_exchange", "https://exchange.{}.taler.net/".format(obj.envname))
obj.cfg_put("bank-admin", "uwsgi_serve", "unix")
@@ -119,10 +111,7 @@ def config(obj):
obj.cfg_put("playground", "uwsgi_unixpath", "$HOME/sockets/playground.uwsgi")
obj.cfg_put("playground", "uwsgi_unixpath_mode", "660")
- if obj.standalone:
- obj.cfg_put("backoffice-all", "backend", "https://env.taler.net/{}/merchant-backend/".format(obj.envname))
- else:
- obj.cfg_put("backoffice-all", "backend", "https://backend.{}.taler.net/".format(obj.envname))
+ obj.cfg_put("backoffice-all", "backend", "https://backend.{}.taler.net/".format(obj.envname))
# Keep only one back-office service for all instances, for simplicity.
obj.cfg_put("backoffice-all", "uwsgi_serve", "unix")
@@ -137,80 +126,59 @@ def config(obj):
obj.cfg_put("merchant", "default_max_wire_fee", obj.currency + ":" + "0.01")
obj.cfg_put("merchant", "default_max_deposit_fee", obj.currency + ":" + "0.05")
- if obj.standalone:
- obj.cfg_put("merchantdb-postgres", "config", "postgres:///taler?host={}/sockets".format(os.getenv("HOME")))
- else:
- obj.cfg_put("merchantdb-postgres", "config", "postgres:///taler{}".format(obj.envname))
+ obj.cfg_put("merchantdb-postgres", "config", "postgres:///taler{}".format(obj.envname))
- if obj.standalone:
- obj.cfg_put("merchant-exchange-test", "url", "https://env.taler.net/{}/exchange/".format(obj.envname))
+ if obj.twisted:
+ obj.cfg_put("merchant-exchange-test", "url", "https://twister-exchange.wild.gv.taler.net/")
else:
- if obj.twisted:
- obj.cfg_put("merchant-exchange-test", "url", "https://twister-exchange.wild.gv.taler.net/")
- else:
- obj.cfg_put("merchant-exchange-test", "url", "https://exchange.test.taler.net/")
+ obj.cfg_put("merchant-exchange-test", "url", "https://exchange.test.taler.net/")
obj.cfg_put("merchant-exchange-test", "master_key", obj.exchange_pub)
obj.cfg_put("frontends", "backend_apikey", "sandbox".format(obj.envname))
- if obj.standalone:
- obj.cfg_put("frontends", "backend", "https://env.taler.net/{}/merchant-backend/".format(obj.envname))
- else:
- if "test" == obj.envname:
- if obj.twisted:
- obj.cfg_put("frontends", "backend", "https://twister-backend.wild.gv.taler.net/")
- else:
- obj.cfg_put("frontends", "backend", "https://backend.test.taler.net/")
+ if "test" == obj.envname:
+ if obj.twisted:
+ obj.cfg_put("frontends", "backend", "https://twister-backend.wild.gv.taler.net/")
else:
- assert ("demo" == obj.envname)
- obj.cfg_put("frontends", "backend", "https://backend.{}.taler.net/".format(obj.envname))
+ obj.cfg_put("frontends", "backend", "https://backend.test.taler.net/")
+ else:
+ assert ("demo" == obj.envname)
+ obj.cfg_put("frontends", "backend", "https://backend.{}.taler.net/".format(obj.envname))
obj.cfg_put("exchange-{}".format(obj.currency), "master_key", obj.exchange_pub)
obj.cfg_put("exchange-{}".format(obj.currency), "currency", obj.currency)
- if obj.standalone:
- obj.cfg_put("exchange-{}".format(obj.currency), "base_url", "https://env.taler.net/{}/exchange".format(obj.envname))
- else:
- obj.cfg_put("exchange-{}".format(obj.currency), "base_url", "https://exchange.{}.taler.net/".format(obj.envname))
+ obj.cfg_put("exchange-{}".format(obj.currency), "base_url", "https://exchange.{}.taler.net/".format(obj.envname))
- obj.cfg_put("auditor", "auditor_priv_file", "${TALER_DEPLOYMENT_SHARED}/auditor/offline-keys/auditor.priv")
+ obj.cfg_put("auditor", "auditor_priv_file", "${TALER_DEPLOYMENT_DATA}/auditor/offline-keys/auditor.priv")
obj.cfg_put("auditor", "serve", "unix")
obj.cfg_put("auditor", "auditor_url", "https://auditor.{}.taler.net/service/".format(obj.envname))
obj.cfg_put("auditor", "unixpath", "$HOME/sockets/auditor.http")
- obj.cfg_put("auditor", "reports", "${TALER_DEPLOYMENT_SHARED}/auditor/reports")
+ obj.cfg_put("auditor", "reports", "${TALER_DEPLOYMENT_DATA}/auditor/reports")
obj.cfg_put("exchange", "base_url", "https://exchange.{}.taler.net/".format(obj.envname))
obj.cfg_put("exchange", "serve", "unix")
obj.cfg_put("exchange", "unixpath", "$HOME/sockets/exchange.http")
obj.cfg_put("exchange", "master_public_key", obj.exchange_pub)
- obj.cfg_put("exchange", "master_priv_file", "${TALER_DEPLOYMENT_SHARED}/exchange/offline-keys/master.priv")
- obj.cfg_put("exchange", "keydir", "${TALER_DEPLOYMENT_SHARED}/exchange/live-keys/")
+ obj.cfg_put("exchange", "master_priv_file", "${TALER_DEPLOYMENT_DATA}/exchange/offline-keys/master.priv")
+ obj.cfg_put("exchange", "keydir", "${TALER_DEPLOYMENT_DATA}/exchange/live-keys/")
- obj.cfg_put("exchangedb", "auditor_base_dir", "${TALER_DEPLOYMENT_SHARED}/exchange/auditors/")
- obj.cfg_put("exchangedb", "wirefee_base_dir", "${TALER_DEPLOYMENT_SHARED}/exchange/wirefees/")
- obj.cfg_put("exchangedb", "auditor_inputs", "${TALER_DEPLOYMENT_SHARED}/exchange/auditor-inputs/")
+ obj.cfg_put("exchangedb", "auditor_base_dir", "${TALER_DEPLOYMENT_DATA}/exchange/auditors/")
+ obj.cfg_put("exchangedb", "wirefee_base_dir", "${TALER_DEPLOYMENT_DATA}/exchange/wirefees/")
+ obj.cfg_put("exchangedb", "auditor_inputs", "${TALER_DEPLOYMENT_DATA}/exchange/auditor-inputs/")
- if obj.standalone:
- obj.cfg_put("exchangedb-postgres", "db_conn_str", "postgres:///taler?host={}/sockets".format(os.getenv("HOME")))
- obj.cfg_put("exchangedb-postgres", "config", "postgres:///taler?host={}/sockets".format(os.getenv("HOME")))
- obj.cfg_put("auditordb-postgres", "db_conn_str", "postgres:///taler?host={}/sockets".format(os.getenv("HOME")))
- obj.cfg_put("auditordb-postgres", "config", "postgres:///taler?host={}/sockets".format(os.getenv("HOME")))
- else:
- obj.cfg_put("exchangedb-postgres", "db_conn_str", "postgres:///taler{}".format(obj.envname))
- obj.cfg_put("exchangedb-postgres", "config", "postgres:///taler{}".format(obj.envname))
- obj.cfg_put("auditordb-postgres", "db_conn_str", "postgres:///taler{}".format(obj.envname))
- obj.cfg_put("auditordb-postgres", "config", "postgres:///taler{}".format(obj.envname))
+ obj.cfg_put("exchangedb-postgres", "db_conn_str", "postgres:///taler{}".format(obj.envname))
+ obj.cfg_put("exchangedb-postgres", "config", "postgres:///taler{}".format(obj.envname))
+ obj.cfg_put("auditordb-postgres", "db_conn_str", "postgres:///taler{}".format(obj.envname))
+ obj.cfg_put("auditordb-postgres", "config", "postgres:///taler{}".format(obj.envname))
- if obj.standalone:
- obj.cfg_put("account-1", "url", "payto://x-taler-bank/env.taler.net/{}/bank/2".format(obj.envname))
+ if obj.twisted:
+ obj.cfg_put("account-1", "url", "payto://x-taler-bank/twister-bank.wild.gv.taler.net/2")
else:
- if obj.twisted:
- obj.cfg_put("account-1", "url", "payto://x-taler-bank/twister-bank.wild.gv.taler.net/2")
- else:
- obj.cfg_put("account-1", "url", "payto://x-taler-bank/bank.test.taler.net/2")
+ obj.cfg_put("account-1", "url", "payto://x-taler-bank/bank.test.taler.net/2")
- obj.cfg_put("account-1", "wire_response", "${TALER_DEPLOYMENT_SHARED}/exchange/wire/test.json")
+ obj.cfg_put("account-1", "wire_response", "${TALER_DEPLOYMENT_DATA}/exchange/wire/test.json")
obj.cfg_put("account-1", "plugin", "taler_bank")
obj.cfg_put("account-1", "taler_bank_auth_method", "basic")
obj.cfg_put("account-1", "username", "Exchange")
@@ -249,43 +217,40 @@ def config(obj):
obj.cfg_put("exchange_keys", "lookahead_provide", "4 weeks 1 day")
# instance FSF
- obj.cfg_put("instance-FSF", "keyfile", "${TALER_DEPLOYMENT_SHARED}/merchant/fsf.priv")
+ obj.cfg_put("instance-FSF", "keyfile", "${TALER_DEPLOYMENT_DATA}/merchant/fsf.priv")
obj.cfg_put("instance-FSF", "name", "Free Software Foundation")
obj.cfg_put("merchant-location-FSF-address", "street", "51 Franklin Street, Fifth Floor.")
obj.cfg_put("merchant-location-FSF-address", "city", "Boston")
obj.cfg_put("merchant-location-FSF-address", "country", "USA")
# instance Tor
- obj.cfg_put("instance-Tor", "keyfile", "${TALER_DEPLOYMENT_SHARED}/merchant/tor.priv")
+ obj.cfg_put("instance-Tor", "keyfile", "${TALER_DEPLOYMENT_DATA}/merchant/tor.priv")
obj.cfg_put("instance-Tor", "name", "The Tor Project")
# instance GNUnet
- obj.cfg_put("instance-GNUnet", "keyfile", "${TALER_DEPLOYMENT_SHARED}/merchant/gnunet.priv")
+ obj.cfg_put("instance-GNUnet", "keyfile", "${TALER_DEPLOYMENT_DATA}/merchant/gnunet.priv")
obj.cfg_put("instance-GNUnet", "name", "GNUnet Project")
# instance Taler
- obj.cfg_put("instance-Taler", "keyfile", "${TALER_DEPLOYMENT_SHARED}/merchant/taler.priv")
+ obj.cfg_put("instance-Taler", "keyfile", "${TALER_DEPLOYMENT_DATA}/merchant/taler.priv")
obj.cfg_put("instance-Taler", "name", "Taler")
# instance default
- obj.cfg_put("instance-default", "keyfile", "${TALER_DEPLOYMENT_SHARED}/merchant/default.priv")
+ obj.cfg_put("instance-default", "keyfile", "${TALER_DEPLOYMENT_DATA}/merchant/default.priv")
obj.cfg_put("instance-default", "name", "Kudos Inc.")
obj.cfg_put("merchant-location-default-address", "country", "Kudosland")
- obj.cfg_put("instance-default", "tip_reserve_priv_filename", "${TALER_DEPLOYMENT_SHARED}/merchant/default-tip.priv")
+ obj.cfg_put("instance-default", "tip_reserve_priv_filename", "${TALER_DEPLOYMENT_DATA}/merchant/default-tip.priv")
obj.cfg_put("instance-default", "tip_exchange", "https://exchange.{}.taler.net/".format(obj.envname))
# instance tutorial
- obj.cfg_put("instance-Tutorial", "keyfile", "${TALER_DEPLOYMENT_SHARED}/merchant/tutorial.priv")
+ obj.cfg_put("instance-Tutorial", "keyfile", "${TALER_DEPLOYMENT_DATA}/merchant/tutorial.priv")
obj.cfg_put("instance-Tutorial", "name", "Tutorial")
- if obj.standalone:
- obj.cfg_put("account-merchant", "url", "payto://x-taler-bank/env.taler.net/{}/bank/{}".format(obj.envname, "3"))
+ if obj.twisted:
+ obj.cfg_put("account-merchant", "url", "payto://x-taler-bank/twister-bank.taler.net/3")
else:
- if obj.twisted:
- obj.cfg_put("account-merchant", "url", "payto://x-taler-bank/twister-bank.taler.net/3")
- else:
- obj.cfg_put("account-merchant", "url", "payto://x-taler-bank/bank.test.taler.net/3")
+ obj.cfg_put("account-merchant", "url", "payto://x-taler-bank/bank.test.taler.net/3")
obj.cfg_put("account-merchant", "plugin", "taler_bank")
obj.cfg_put("account-merchant", "taler_bank_auth_method", "basic")
obj.cfg_put("account-merchant", "username", "user")
obj.cfg_put("account-merchant", "password", "pass")
- obj.cfg_put("account-merchant", "wire_response", "${TALER_DEPLOYMENT_SHARED}/merchant/wire/merchant.json")
+ obj.cfg_put("account-merchant", "wire_response", "${TALER_DEPLOYMENT_DATA}/merchant/wire/merchant.json")
obj.cfg_put("account-merchant", "wire_file_mode", "770")
obj.cfg_put("account-merchant", "HONOR_default", "YES")
@@ -306,35 +271,25 @@ def config(obj):
@click.command()
@click.option("--currency", default="KUDOS")
@click.option("--envname", default="demo")
-@click.option("--outdir", default=None)
-@click.option("--shared-outdir", default=None)
-@click.option("--standalone", default=None, help="Enable a standalone/env deployment instead of test/demo")
+@click.option("--outdir", required=True)
+# datadir is where all keys / wire-details files / are placed.
@click.option("--exchange-pub", required=True)
@click.option("--twisted", is_flag=True)
-def main(currency, envname, outdir, shared_outdir, exchange_pub, standalone, twisted):
-
- if not standalone:
- if envname not in ("demo", "test"):
- print("envname {} not supported unless in standalone mode".format(envname))
- return
-
- # We have the --standalone option as 0/1 instead of as a flag,
- # since this way it's easier to read it from an environment variable
- # in shell scripts.
- if standalone == "1":
- standalone = True
- else:
- standalone = False
+def main(currency, envname, outdir, exchange_pub, twisted):
+
+ if envname not in ("demo", "test"):
+ print("envname (%s) not demo/test, aborting config generation" % envname)
+ return
config_files = []
- mc = ConfigFile(standalone, envname, currency, exchange_pub, twisted, "taler.conf")
+ mc = ConfigFile(envname, currency, exchange_pub, twisted, "taler.conf")
config(mc)
config_files.append(mc)
if "test" == envname and twisted:
# Twisting the exchange.
- twist_exchange_conf = ConfigFile(standalone, envname, currency, exchange_pub, "twister-exchange.conf")
+ twist_exchange_conf = ConfigFile(envname, currency, exchange_pub, "twister-exchange.conf")
twist_exchange_conf.cfg_put("twister", "serve", "unix")
twist_exchange_conf.cfg_put("twister", "chaos_rate", "20")
twist_exchange_conf.cfg_put("twister", "destination_base_url", "https://exchange.test.taler.net")
@@ -346,7 +301,7 @@ def main(currency, envname, outdir, shared_outdir, exchange_pub, standalone, twi
config_files.append(twist_exchange_conf)
# Twisting the bank.
- twist_bank_conf = ConfigFile(standalone, envname, currency, exchange_pub, "twister-bank.conf")
+ twist_bank_conf = ConfigFile(envname, currency, exchange_pub, "twister-bank.conf")
twist_bank_conf.cfg_put("twister", "serve", "unix")
twist_bank_conf.cfg_put("twister", "chaos_rate", "20")
twist_bank_conf.cfg_put("twister", "destination_base_url", "https://bank.test.taler.net")