|
7 | 7 | import logging
|
8 | 8 | import logging.config
|
9 | 9 |
|
10 |
| -import db_client |
11 |
| -import db_client_transform |
| 10 | +from db_client import DbClient as TransitClient |
| 11 | +from db_client_transform import DbClient as TransformClient |
12 | 12 |
|
13 |
| -dbc = None |
| 13 | +dbc: TransitClient = None |
14 | 14 | vclient = None
|
15 | 15 |
|
16 | 16 | log_level = {
|
@@ -119,47 +119,49 @@ def update_submit():
|
119 | 119 | records = update_customer()
|
120 | 120 | return render_template('records.html', results = json.loads(records), record_updated = True)
|
121 | 121 |
|
122 |
| -if __name__ == '__main__': |
123 |
| - logger.warn('In Main...') |
124 |
| - conf = read_config() |
| 122 | +def init_vault(): |
| 123 | + global dbc |
| 124 | + dbc = TransitClient() |
| 125 | + if conf.has_section('VAULT') or conf['VAULT']['Enabled'].lower() == 'true': |
| 126 | + return |
| 127 | + |
| 128 | + logger.info('Vault is enabled...') |
| 129 | + vault_token = "" |
| 130 | + if conf['VAULT']['InjectToken'].lower() == 'true': |
| 131 | + logger.info('Using Injected vault token') |
| 132 | + vault_token = read_vault_token() |
| 133 | + else: |
| 134 | + vault_token = conf['VAULT']['Token'] |
| 135 | + |
| 136 | + if not conf['VAULT'].has_section('Transform') or conf['VAULT']['Transform'].lower() == 'false': |
| 137 | + dbc.init_vault(addr=conf['VAULT']['Address'], token=vault_token, namespace=conf['VAULT']['Namespace'], path=conf['VAULT']['KeyPath'], key_name=conf['VAULT']['KeyName']) |
| 138 | + else: |
| 139 | + logger.info('Using Transform database client...') |
| 140 | + dbc = TransformClient() |
| 141 | + dbc.init_vault(addr=conf['VAULT']['Address'], token=vault_token, namespace=conf['VAULT']['Namespace'], path=conf['VAULT']['KeyPath'], key_name=conf['VAULT']['KeyName'],transform_path=conf['VAULT']['TransformPath'], ssn_role=conf['VAULT']['SSNRole'], transform_masking_path=conf['VAULT']['TransformMaskingPath'], ccn_role=conf['VAULT']['CCNRole']) |
125 | 142 |
|
| 143 | + if conf["VAULT"].hasattr("database_auth") and conf["VAULT"]["database_auth"] != "": |
| 144 | + dbc.vault_db_auth(conf["VAULT"]["database_auth"]) |
126 | 145 |
|
| 146 | +if __name__ == '__main__': |
| 147 | + logger.warning('In Main...') |
| 148 | + conf = read_config() |
127 | 149 | logging.basicConfig(
|
128 | 150 | level=log_level[conf['DEFAULT']['LogLevel']],
|
129 | 151 | format='%(asctime)s - %(levelname)8s - %(name)9s - %(funcName)15s - %(message)s'
|
130 | 152 | )
|
131 | 153 |
|
132 | 154 | try:
|
133 |
| - dbc = db_client.DbClient() |
134 |
| - |
135 |
| - if conf.has_section('VAULT'): |
136 |
| - if conf['VAULT']['Enabled'].lower() == 'true': |
137 |
| - logger.info('Vault is enabled...') |
138 |
| - # if conf['VAULT']['Transform'].lower() == 'true': |
139 |
| - # logger.info('Using Transform database client...') |
140 |
| - # try: |
141 |
| - # dbc = db_client_transform.DbClient() |
142 |
| - # except Exception as e: |
143 |
| - # logging.error("There was an error starting the server: {}".format(e)) |
144 |
| - vault_token = "" |
145 |
| - if conf['VAULT']['InjectToken'].lower() == 'true': |
146 |
| - logger.info('Using Injected vault token') |
147 |
| - vault_token = read_vault_token() |
148 |
| - else: |
149 |
| - vault_token = conf['VAULT']['Token'] |
150 |
| - |
151 |
| - # transform_path=conf['VAULT']['TransformPath'], ssn_role=conf['VAULT']['SSNRole'], transform_masking_path=conf['VAULT']['TransformMaskingPath'], ccn_role=conf['VAULT']['CCNRole'] |
152 |
| - dbc.init_vault(addr=conf['VAULT']['Address'], token=vault_token, namespace=conf['VAULT']['Namespace'], path=conf['VAULT']['KeyPath'], key_name=conf['VAULT']['KeyName']) |
153 |
| - |
154 |
| - if dbc.is_initialized is False: # we didn't use dynamic credentials |
155 |
| - logger.info('Using DB credentials from config.ini...') |
156 |
| - dbc.init_db( |
157 |
| - uri=conf['DATABASE']['Address'], |
158 |
| - prt=conf['DATABASE']['Port'], |
159 |
| - uname=conf['DATABASE']['User'], |
160 |
| - pw=conf['DATABASE']['Password'], |
161 |
| - db=conf['DATABASE']['Database'] |
162 |
| - ) |
| 155 | + init_vault() |
| 156 | + if not dbc.is_initialized: |
| 157 | + logger.info('Using DB credentials from config.ini...') |
| 158 | + dbc.init_db( |
| 159 | + uri=conf['DATABASE']['Address'], |
| 160 | + prt=conf['DATABASE']['Port'], |
| 161 | + uname=conf['DATABASE']['User'], |
| 162 | + pw=conf['DATABASE']['Password'], |
| 163 | + db=conf['DATABASE']['Database'] |
| 164 | + ) |
163 | 165 | appPort = conf["DEFAULT"]["port"]
|
164 | 166 | logger.info('Starting Flask server on {} listening on port {}'.format('0.0.0.0', appPort))
|
165 | 167 | app.run(host='0.0.0.0', port=appPort)
|
|
0 commit comments