diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2019-06-26 23:49:50 +0200 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2019-06-26 23:50:06 +0200 |
commit | f9e32809e85d1e4f29730a8894f24a984012f1b7 (patch) | |
tree | 0d1b78822147f0b86a9d839e7f3a4769727fca7a /config/generate-config | |
parent | bb0c5ae74bd80516b769c00c81bedf11a4d3e9ed (diff) | |
download | deployment-f9e32809e85d1e4f29730a8894f24a984012f1b7.tar.gz deployment-f9e32809e85d1e4f29730a8894f24a984012f1b7.tar.bz2 deployment-f9e32809e85d1e4f29730a8894f24a984012f1b7.zip |
refactor/simplofy config-gen
Diffstat (limited to 'config/generate-config')
-rwxr-xr-x | config/generate-config | 151 |
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") |