-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathmake_config.py
57 lines (44 loc) · 1.91 KB
/
make_config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import json
import sys
def load_json(path):
with open(path, 'r') as f:
return json.load(f)
def apply_override(config, overrides, key, type):
value = overrides.get(key)
if value is not None:
config[key] = type(value)
config_path = sys.argv[1]
integ_config_path = sys.argv[2]
overrides_path = sys.argv[3]
thread_count = int(sys.argv[4])
config = load_json(config_path)
overrides = load_json(overrides_path)
# set API key
config['core_api_token'] = overrides['api_token']
config['optout_api_token'] = overrides['api_token']
# number of threads
config['service_instances'] = thread_count
# environment
if overrides.get('environment') == 'integ':
integ_config = load_json(integ_config_path)
apply_override(config, integ_config, 'sites_metadata_path', str)
apply_override(config, integ_config, 'clients_metadata_path', str)
apply_override(config, integ_config, 'keysets_metadata_path', str)
apply_override(config, integ_config, 'keyset_keys_metadata_path', str)
apply_override(config, integ_config, 'client_side_keypairs_metadata_path', str)
apply_override(config, integ_config, 'salts_metadata_path', str)
apply_override(config, integ_config, 'services_metadata_path', str)
apply_override(config, integ_config, 'service_links_metadata_path', str)
apply_override(config, integ_config, 'optout_metadata_path', str)
apply_override(config, integ_config, 'core_attest_url', str)
apply_override(config, integ_config, 'optout_api_uri', str)
apply_override(config, integ_config, 'optout_s3_folder', str)
apply_override(config, overrides, 'operator_type', str)
if 'operator_type' in config and config['operator_type'] == 'public':
config.update(overrides)
else:
# allowed overrides
apply_override(config, overrides, 'loki_enabled', bool)
apply_override(config, overrides, 'optout_synthetic_logs_enabled', bool)
apply_override(config, overrides, 'optout_synthetic_logs_count', int)
print(json.dumps(config))