From 980191be4f1f3e7d9e8dd3fd6da5e0ed27a6d1b4 Mon Sep 17 00:00:00 2001 From: nolash Date: Fri, 8 Oct 2021 11:19:21 +0200 Subject: [PATCH 1/5] Add verify check for cache, use chainlib cli for cic-cache --- apps/cic-cache/cic_cache/data/config/cic.ini | 2 +- .../cic_cache/runnable/daemons/query.py | 45 +++++++++++++++++-- .../cic_cache/runnable/daemons/server.py | 29 ++++-------- apps/cic-cache/config/celery.ini | 3 -- apps/cic-cache/config/cic.ini | 3 -- apps/cic-cache/config/database.ini | 9 ---- apps/cic-cache/config/docker/celery.ini | 3 -- apps/cic-cache/config/docker/cic.ini | 3 -- apps/cic-cache/config/docker/database.ini | 9 ---- apps/cic-cache/config/docker/syncer.ini | 4 -- apps/cic-cache/config/test/bancor.ini | 2 - apps/cic-cache/config/test/cic.ini | 4 -- apps/cic-cache/config/test/database.ini | 9 ---- apps/cic-cache/config/test/eth.ini | 5 --- apps/cic-cache/config/test/syncer.ini | 2 - apps/cic-cache/requirements.txt | 2 +- apps/cic-cache/scripts/migrate.py | 40 +++++++++-------- apps/data-seeding/verify.py | 28 +++++++++++- docker-compose.yml | 2 + 19 files changed, 102 insertions(+), 102 deletions(-) delete mode 100644 apps/cic-cache/config/celery.ini delete mode 100644 apps/cic-cache/config/cic.ini delete mode 100644 apps/cic-cache/config/database.ini delete mode 100644 apps/cic-cache/config/docker/celery.ini delete mode 100644 apps/cic-cache/config/docker/cic.ini delete mode 100644 apps/cic-cache/config/docker/database.ini delete mode 100644 apps/cic-cache/config/docker/syncer.ini delete mode 100644 apps/cic-cache/config/test/bancor.ini delete mode 100644 apps/cic-cache/config/test/cic.ini delete mode 100644 apps/cic-cache/config/test/database.ini delete mode 100644 apps/cic-cache/config/test/eth.ini delete mode 100644 apps/cic-cache/config/test/syncer.ini diff --git a/apps/cic-cache/cic_cache/data/config/cic.ini b/apps/cic-cache/cic_cache/data/config/cic.ini index b4275352..d2382746 100644 --- a/apps/cic-cache/cic_cache/data/config/cic.ini +++ b/apps/cic-cache/cic_cache/data/config/cic.ini @@ -1,4 +1,4 @@ [cic] registry_address = trust_address = -health_modules = cic_eth.check.db,cic_eth.check.redis,cic_eth.check.signer,cic_eth.check.gas +health_modules = diff --git a/apps/cic-cache/cic_cache/runnable/daemons/query.py b/apps/cic-cache/cic_cache/runnable/daemons/query.py index d7edf6ab..bd67d962 100644 --- a/apps/cic-cache/cic_cache/runnable/daemons/query.py +++ b/apps/cic-cache/cic_cache/runnable/daemons/query.py @@ -5,7 +5,10 @@ import re import base64 # external imports -from hexathon import add_0x +from hexathon import ( + add_0x, + strip_0x, + ) # local imports from cic_cache.cache import ( @@ -19,6 +22,7 @@ logg = logging.getLogger(__name__) re_transactions_all_bloom = r'/tx/(\d+)?/?(\d+)/?' re_transactions_account_bloom = r'/tx/user/((0x)?[a-fA-F0-9]+)(/(\d+)(/(\d+))?)?/?' re_transactions_all_data = r'/txa/(\d+)?/?(\d+)/?' +re_transactions_account_data = r'/txa/user/((0x)?[a-fA-F0-9]+)(/(\d+)(/(\d+))?)?/?' DEFAULT_LIMIT = 100 @@ -28,9 +32,7 @@ def process_transactions_account_bloom(session, env): if not r: return None - address = r[1] - if r[2] == None: - address = add_0x(address) + address = strip_0x(r[1]) offset = 0 if r.lastindex > 2: offset = r[4] @@ -113,3 +115,38 @@ def process_transactions_all_data(session, env): j = json.dumps(o) return ('application/json', j.encode('utf-8'),) + + +def process_transactions_account_data(session, env): + r = re.match(re_transactions_account_data, env.get('PATH_INFO')) + if not r: + return None + if env.get('HTTP_X_CIC_CACHE_MODE') != 'all': + return None + + logg.debug('got data request {}'.format(env)) + address = strip_0x(r[1]) + #if r[2] == None: + # address = add_0x(address) + offset = 0 + if r.lastindex > 2: + offset = r[4] + limit = DEFAULT_LIMIT + if r.lastindex > 4: + limit = r[6] + + c = DataCache(session) + (lowest_block, highest_block, tx_cache) = c.load_transactions_account_with_data(address, offset, limit) + + for r in tx_cache: + r['date_block'] = r['date_block'].timestamp() + + o = { + 'low': lowest_block, + 'high': highest_block, + 'data': tx_cache, + } + + j = json.dumps(o) + + return ('application/json', j.encode('utf-8'),) diff --git a/apps/cic-cache/cic_cache/runnable/daemons/server.py b/apps/cic-cache/cic_cache/runnable/daemons/server.py index d7a29edd..2dc71bbb 100644 --- a/apps/cic-cache/cic_cache/runnable/daemons/server.py +++ b/apps/cic-cache/cic_cache/runnable/daemons/server.py @@ -12,36 +12,24 @@ from cic_cache.db import dsn_from_config from cic_cache.db.models.base import SessionBase from cic_cache.runnable.daemons.query import ( process_transactions_account_bloom, + process_transactions_account_data, process_transactions_all_bloom, process_transactions_all_data, ) +import cic_cache.cli logging.basicConfig(level=logging.WARNING) logg = logging.getLogger() -rootdir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) -dbdir = os.path.join(rootdir, 'cic_cache', 'db') -migrationsdir = os.path.join(dbdir, 'migrations') -config_dir = os.path.join('/usr/local/etc/cic-cache') - -argparser = argparse.ArgumentParser() -argparser.add_argument('-c', type=str, default=config_dir, help='config file') -argparser.add_argument('--env-prefix', default=os.environ.get('CONFINI_ENV_PREFIX'), dest='env_prefix', type=str, help='environment prefix for variables to overwrite configuration') -argparser.add_argument('-v', action='store_true', help='be verbose') -argparser.add_argument('-vv', action='store_true', help='be more verbose') +arg_flags = cic_cache.cli.argflag_std_read +local_arg_flags = cic_cache.cli.argflag_local_sync +argparser = cic_cache.cli.ArgumentParser(arg_flags) +argparser.process_local_flags(local_arg_flags) args = argparser.parse_args() -if args.vv: - logging.getLogger().setLevel(logging.DEBUG) -elif args.v: - logging.getLogger().setLevel(logging.INFO) - -config = confini.Config(args.c, args.env_prefix) -config.process() -config.censor('PASSWORD', 'DATABASE') -config.censor('PASSWORD', 'SSL') -logg.debug('config:\n{}'.format(config)) +# process config +config = cic_cache.cli.Config.from_args(args, arg_flags, local_arg_flags) dsn = dsn_from_config(config) SessionBase.connect(dsn, config.true('DATABASE_DEBUG')) @@ -58,6 +46,7 @@ def application(env, start_response): process_transactions_all_data, process_transactions_all_bloom, process_transactions_account_bloom, + process_transactions_account_data, ]: r = None try: diff --git a/apps/cic-cache/config/celery.ini b/apps/cic-cache/config/celery.ini deleted file mode 100644 index 6136b166..00000000 --- a/apps/cic-cache/config/celery.ini +++ /dev/null @@ -1,3 +0,0 @@ -[celery] -broker_url = redis:/// -result_url = redis:/// diff --git a/apps/cic-cache/config/cic.ini b/apps/cic-cache/config/cic.ini deleted file mode 100644 index 48c32fad..00000000 --- a/apps/cic-cache/config/cic.ini +++ /dev/null @@ -1,3 +0,0 @@ -[cic] -registry_address = -trust_address = diff --git a/apps/cic-cache/config/database.ini b/apps/cic-cache/config/database.ini deleted file mode 100644 index 7c5836a2..00000000 --- a/apps/cic-cache/config/database.ini +++ /dev/null @@ -1,9 +0,0 @@ -[database] -NAME=cic_cache -USER=postgres -PASSWORD= -HOST=localhost -PORT=5432 -ENGINE=postgresql -DRIVER=psycopg2 -DEBUG=0 diff --git a/apps/cic-cache/config/docker/celery.ini b/apps/cic-cache/config/docker/celery.ini deleted file mode 100644 index 98c5012f..00000000 --- a/apps/cic-cache/config/docker/celery.ini +++ /dev/null @@ -1,3 +0,0 @@ -[celery] -broker_url = redis://localhost:63379 -result_url = redis://localhost:63379 diff --git a/apps/cic-cache/config/docker/cic.ini b/apps/cic-cache/config/docker/cic.ini deleted file mode 100644 index af112724..00000000 --- a/apps/cic-cache/config/docker/cic.ini +++ /dev/null @@ -1,3 +0,0 @@ -[cic] -registry_address = -trust_address = 0xEb3907eCad74a0013c259D5874AE7f22DcBcC95C diff --git a/apps/cic-cache/config/docker/database.ini b/apps/cic-cache/config/docker/database.ini deleted file mode 100644 index db1f5086..00000000 --- a/apps/cic-cache/config/docker/database.ini +++ /dev/null @@ -1,9 +0,0 @@ -[database] -NAME=cic_cache -USER=grassroots -PASSWORD= -HOST=localhost -PORT=63432 -ENGINE=postgresql -DRIVER=psycopg2 -DEBUG=0 diff --git a/apps/cic-cache/config/docker/syncer.ini b/apps/cic-cache/config/docker/syncer.ini deleted file mode 100644 index 255dc00f..00000000 --- a/apps/cic-cache/config/docker/syncer.ini +++ /dev/null @@ -1,4 +0,0 @@ -[syncer] -loop_interval = 1 -offset = 0 -no_history = 0 diff --git a/apps/cic-cache/config/test/bancor.ini b/apps/cic-cache/config/test/bancor.ini deleted file mode 100644 index c1591774..00000000 --- a/apps/cic-cache/config/test/bancor.ini +++ /dev/null @@ -1,2 +0,0 @@ -[bancor] -dir = diff --git a/apps/cic-cache/config/test/cic.ini b/apps/cic-cache/config/test/cic.ini deleted file mode 100644 index d985ae3e..00000000 --- a/apps/cic-cache/config/test/cic.ini +++ /dev/null @@ -1,4 +0,0 @@ -[cic] -registry_address = -chain_spec = -trust_address = diff --git a/apps/cic-cache/config/test/database.ini b/apps/cic-cache/config/test/database.ini deleted file mode 100644 index 113c1fa4..00000000 --- a/apps/cic-cache/config/test/database.ini +++ /dev/null @@ -1,9 +0,0 @@ -[database] -NAME=cic-cache-test -USER=postgres -PASSWORD= -HOST=localhost -PORT=5432 -ENGINE=sqlite -DRIVER=pysqlite -DEBUG=1 diff --git a/apps/cic-cache/config/test/eth.ini b/apps/cic-cache/config/test/eth.ini deleted file mode 100644 index 77a00315..00000000 --- a/apps/cic-cache/config/test/eth.ini +++ /dev/null @@ -1,5 +0,0 @@ -[eth] -#ws_provider = ws://localhost:8546 -#ttp_provider = http://localhost:8545 -provider = http://localhost:8545 -#chain_id = diff --git a/apps/cic-cache/config/test/syncer.ini b/apps/cic-cache/config/test/syncer.ini deleted file mode 100644 index 452fb81c..00000000 --- a/apps/cic-cache/config/test/syncer.ini +++ /dev/null @@ -1,2 +0,0 @@ -[syncer] -loop_interval = 1 diff --git a/apps/cic-cache/requirements.txt b/apps/cic-cache/requirements.txt index 8f47f9b5..6dc44d57 100644 --- a/apps/cic-cache/requirements.txt +++ b/apps/cic-cache/requirements.txt @@ -2,7 +2,7 @@ alembic==1.4.2 confini>=0.3.6rc4,<0.5.0 uwsgi==2.0.19.1 moolb~=0.1.1b2 -cic-eth-registry~=0.6.1a1 +cic-eth-registry~=0.6.1a5 SQLAlchemy==1.3.20 semver==2.13.0 psycopg2==2.8.6 diff --git a/apps/cic-cache/scripts/migrate.py b/apps/cic-cache/scripts/migrate.py index b6925144..28d35db2 100644 --- a/apps/cic-cache/scripts/migrate.py +++ b/apps/cic-cache/scripts/migrate.py @@ -1,14 +1,19 @@ -#!/usr/bin/python +#!/usr/bin/python3 + +# standard imports import os import argparse import logging import re +# external imports import alembic from alembic.config import Config as AlembicConfig import confini +# local imports from cic_cache.db import dsn_from_config +import cic_cache.cli logging.basicConfig(level=logging.WARNING) logg = logging.getLogger() @@ -18,30 +23,27 @@ rootdir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) dbdir = os.path.join(rootdir, 'cic_cache', 'db') migrationsdir = os.path.join(dbdir, 'migrations') -config_dir = os.path.join('/usr/local/etc/cic-cache') +#config_dir = os.path.join('/usr/local/etc/cic-cache') -argparser = argparse.ArgumentParser() -argparser.add_argument('-c', type=str, default=config_dir, help='config file') -argparser.add_argument('--env-prefix', default=os.environ.get('CONFINI_ENV_PREFIX'), dest='env_prefix', type=str, help='environment prefix for variables to overwrite configuration') -argparser.add_argument('--migrations-dir', dest='migrations_dir', default=migrationsdir, type=str, help='path to alembic migrations directory') +arg_flags = cic_cache.cli.argflag_std_base +local_arg_flags = cic_cache.cli.argflag_local_sync +argparser = cic_cache.cli.ArgumentParser(arg_flags) +argparser.process_local_flags(local_arg_flags) argparser.add_argument('--reset', action='store_true', help='downgrade before upgrading') -argparser.add_argument('-f', action='store_true', help='force action') -argparser.add_argument('-v', action='store_true', help='be verbose') -argparser.add_argument('-vv', action='store_true', help='be more verbose') +argparser.add_argument('-f', '--force', action='store_true', help='force action') +argparser.add_argument('--migrations-dir', dest='migrations_dir', type=str, help='migrations directory') args = argparser.parse_args() -if args.vv: - logging.getLogger().setLevel(logging.DEBUG) -elif args.v: - logging.getLogger().setLevel(logging.INFO) +extra_args = { + 'reset': None, + 'force': None, + 'migrations_dir': None, + } -config = confini.Config(args.c, args.env_prefix) -config.process() -config.censor('PASSWORD', 'DATABASE') -config.censor('PASSWORD', 'SSL') -logg.debug('config:\n{}'.format(config)) +# process config +config = cic_cache.cli.Config.from_args(args, arg_flags, local_arg_flags, extra_args=extra_args) -migrations_dir = os.path.join(args.migrations_dir, config.get('DATABASE_ENGINE')) +migrations_dir = os.path.join(config.get('_MIGRATIONS_DIR'), config.get('DATABASE_ENGINE')) if not os.path.isdir(migrations_dir): logg.debug('migrations dir for engine {} not found, reverting to default'.format(config.get('DATABASE_ENGINE'))) migrations_dir = os.path.join(args.migrations_dir, 'default') diff --git a/apps/data-seeding/verify.py b/apps/data-seeding/verify.py index 216b26ef..ad3923cb 100644 --- a/apps/data-seeding/verify.py +++ b/apps/data-seeding/verify.py @@ -68,7 +68,11 @@ admin_tests = [ 'local_key', ] -all_tests = eth_tests + custodial_tests + metadata_tests + phone_tests +cache_tests = [ + 'cache_tx_user', + ] + +all_tests = eth_tests + custodial_tests + metadata_tests + phone_tests + cache_tests argparser = argparse.ArgumentParser(description='daemon that monitors transactions in new blocks') argparser.add_argument('-p', '--provider', dest='p', type=str, help='chain rpc provider address') @@ -77,11 +81,14 @@ argparser.add_argument('--old-chain-spec', type=str, dest='old_chain_spec', defa argparser.add_argument('-i', '--chain-spec', type=str, dest='i', help='chain spec') argparser.add_argument('--meta-provider', type=str, dest='meta_provider', default='http://localhost:63380', help='cic-meta url') argparser.add_argument('--ussd-provider', type=str, dest='ussd_provider', default='http://localhost:63315', help='cic-ussd url') +argparser.add_argument('--cache-provider', type=str, dest='cache_provider', default='http://localhost:63313', help='cic-cache url') argparser.add_argument('--skip-custodial', dest='skip_custodial', action='store_true', help='skip all custodial verifications') argparser.add_argument('--skip-ussd', dest='skip_ussd', action='store_true', help='skip all ussd verifications') argparser.add_argument('--skip-metadata', dest='skip_metadata', action='store_true', help='skip all metadata verifications') +argparser.add_argument('--skip-cache', dest='skip_cache', action='store_true', help='skip all cache verifications') argparser.add_argument('--exclude', action='append', type=str, default=[], help='skip specified verification') argparser.add_argument('--include', action='append', type=str, help='include specified verification') +argparser.add_argument('--list-verifications', action='store_true', help='print a list of verification check identifiers') argparser.add_argument('--token-symbol', default='GFT', type=str, dest='token_symbol', help='Token symbol to use for trnsactions') argparser.add_argument('-r', '--registry-address', type=str, dest='r', help='CIC Registry address') argparser.add_argument('--env-prefix', default=os.environ.get('CONFINI_ENV_PREFIX'), dest='env_prefix', type=str, help='environment prefix for variables to overwrite configuration') @@ -111,6 +118,7 @@ config.censor('PASSWORD', 'DATABASE') config.censor('PASSWORD', 'SSL') config.add(args.meta_provider, '_META_PROVIDER', True) config.add(args.ussd_provider, '_USSD_PROVIDER', True) +config.add(args.cache_provider, '_CACHE_PROVIDER', True) token_symbol = args.token_symbol @@ -349,6 +357,22 @@ class Verifier: raise VerifierError(o_retrieved, 'metadata (person)') + def verify_cache_tx_user(self, address, balance=None): + url = os.path.join(config.get('_CACHE_PROVIDER'), 'txa', 'user', address) + req = urllib.request.Request(url) + req.add_header('X_CIC_CACHE_MODE', 'all') + try: + res = urllib.request.urlopen(req) + except urllib.error.HTTPError as e: + raise VerifierError( + '({}) {}'.format(url, e), + 'cache', + ) + r = json.load(res) + for tx in r['data']: + logg.warning('found tx {} for {} but not checking validity'.format(tx['tx_hash'], address)) + + def verify_metadata_phone(self, address, balance=None): upper_address = strip_0x(address).upper() f = open(os.path.join( @@ -395,11 +419,13 @@ class Verifier: if m != 'CON Welcome': raise VerifierError(response_data, 'ussd') + def verify_ussd_pins(self, address, balance): response_data = send_ussd_request(address, self.data_dir) if response_data[:11] != 'CON Balance' and response_data[:9] != 'CON Salio': raise VerifierError(response_data, 'pins') + def verify(self, address, balance, debug_stem=None): for k in active_tests: diff --git a/docker-compose.yml b/docker-compose.yml index 9d59d79a..b929df3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -245,6 +245,8 @@ services: DATABASE_PORT: ${DATABASE_PORT:-5432} #DATABASE_PASSWORD: ${DATABASE_PASSWORD:- DATABASE_NAME: ${DATABASE_NAME_CIC_CACHE:-cic_cache} + DATABASE_ENGINE: ${DATABASE_ENGINE:-postgres} + DATABASE_DRIVER: ${DATABASE_DRIVER:-psycopg2} DATABASE_DEBUG: 1 #PGPASSWORD: $DATABASE_PASSWORD SERVER_PORT: 8000 From 4c9f20aa7f651d42c8351dd9549578ac28ece797 Mon Sep 17 00:00:00 2001 From: nolash Date: Fri, 8 Oct 2021 11:26:09 +0200 Subject: [PATCH 2/5] Add explicit zero length tx lsit check for cic-cache verify --- apps/data-seeding/verify.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/data-seeding/verify.py b/apps/data-seeding/verify.py index ad3923cb..338a296d 100644 --- a/apps/data-seeding/verify.py +++ b/apps/data-seeding/verify.py @@ -366,9 +366,11 @@ class Verifier: except urllib.error.HTTPError as e: raise VerifierError( '({}) {}'.format(url, e), - 'cache', + 'cache (tx user)', ) r = json.load(res) + if len(r['data']) == 0: + raise VerifierError('empty tx list for address {}'.format(address), 'cache (tx user)') for tx in r['data']: logg.warning('found tx {} for {} but not checking validity'.format(tx['tx_hash'], address)) From 3b1f470ddf1f8901235577bc013c6a4e99238045 Mon Sep 17 00:00:00 2001 From: nolash Date: Sat, 9 Oct 2021 16:33:40 +0200 Subject: [PATCH 3/5] Add empty config dir --- apps/cic-cache/config/config.ini | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/cic-cache/config/config.ini diff --git a/apps/cic-cache/config/config.ini b/apps/cic-cache/config/config.ini new file mode 100644 index 00000000..e69de29b From 335b7b30a4d03cc32621e299eaba43a0984664ec Mon Sep 17 00:00:00 2001 From: nolash Date: Sat, 9 Oct 2021 16:40:28 +0200 Subject: [PATCH 4/5] Add okota dep --- apps/cic-cache/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/cic-cache/requirements.txt b/apps/cic-cache/requirements.txt index 6dc44d57..4cabe432 100644 --- a/apps/cic-cache/requirements.txt +++ b/apps/cic-cache/requirements.txt @@ -12,3 +12,4 @@ chainsyncer[sql]>=0.0.6a3,<0.1.0 erc20-faucet>=0.3.2a2, <0.4.0 chainlib-eth>=0.0.9a14,<0.1.0 eth-address-index>=0.2.3a4,<0.3.0 +okota>=0.2.4a6,<0.3.0 From 71a7e3d3d506f6409b10976bcb78206000d1b034 Mon Sep 17 00:00:00 2001 From: nolash Date: Sat, 9 Oct 2021 17:23:34 +0200 Subject: [PATCH 5/5] Reinstate test config dir --- apps/cic-cache/config/test/bancor.ini | 2 ++ apps/cic-cache/config/test/cic.ini | 4 ++++ apps/cic-cache/config/test/database.ini | 9 +++++++++ apps/cic-cache/config/test/eth.ini | 5 +++++ apps/cic-cache/config/test/syncer.ini | 2 ++ apps/cic-cache/docker/Dockerfile | 3 ++- 6 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 apps/cic-cache/config/test/bancor.ini create mode 100644 apps/cic-cache/config/test/cic.ini create mode 100644 apps/cic-cache/config/test/database.ini create mode 100644 apps/cic-cache/config/test/eth.ini create mode 100644 apps/cic-cache/config/test/syncer.ini diff --git a/apps/cic-cache/config/test/bancor.ini b/apps/cic-cache/config/test/bancor.ini new file mode 100644 index 00000000..c1591774 --- /dev/null +++ b/apps/cic-cache/config/test/bancor.ini @@ -0,0 +1,2 @@ +[bancor] +dir = diff --git a/apps/cic-cache/config/test/cic.ini b/apps/cic-cache/config/test/cic.ini new file mode 100644 index 00000000..d985ae3e --- /dev/null +++ b/apps/cic-cache/config/test/cic.ini @@ -0,0 +1,4 @@ +[cic] +registry_address = +chain_spec = +trust_address = diff --git a/apps/cic-cache/config/test/database.ini b/apps/cic-cache/config/test/database.ini new file mode 100644 index 00000000..113c1fa4 --- /dev/null +++ b/apps/cic-cache/config/test/database.ini @@ -0,0 +1,9 @@ +[database] +NAME=cic-cache-test +USER=postgres +PASSWORD= +HOST=localhost +PORT=5432 +ENGINE=sqlite +DRIVER=pysqlite +DEBUG=1 diff --git a/apps/cic-cache/config/test/eth.ini b/apps/cic-cache/config/test/eth.ini new file mode 100644 index 00000000..77a00315 --- /dev/null +++ b/apps/cic-cache/config/test/eth.ini @@ -0,0 +1,5 @@ +[eth] +#ws_provider = ws://localhost:8546 +#ttp_provider = http://localhost:8545 +provider = http://localhost:8545 +#chain_id = diff --git a/apps/cic-cache/config/test/syncer.ini b/apps/cic-cache/config/test/syncer.ini new file mode 100644 index 00000000..452fb81c --- /dev/null +++ b/apps/cic-cache/config/test/syncer.ini @@ -0,0 +1,2 @@ +[syncer] +loop_interval = 1 diff --git a/apps/cic-cache/docker/Dockerfile b/apps/cic-cache/docker/Dockerfile index 368e08c9..2c82171c 100644 --- a/apps/cic-cache/docker/Dockerfile +++ b/apps/cic-cache/docker/Dockerfile @@ -23,7 +23,8 @@ RUN python setup.py install # ini files in config directory defines the configurable parameters for the application # they can all be overridden by environment variables # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package) -COPY config/ /usr/local/etc/cic-cache/ +#COPY config/ /usr/local/etc/cic-cache/ +COPY config/ . # for db migrations RUN git clone https://github.com/vishnubob/wait-for-it.git /usr/local/bin/wait-for-it/