OOF - Externalize configuration with Consul
[optf/osdf.git] / osdf / config / base.py
1 # -------------------------------------------------------------------------
2 #   Copyright (c) 2015-2017 AT&T Intellectual Property
3 #   Copyright (C) 2020 Wipro Limited.
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16 #
17 # -------------------------------------------------------------------------
18 #
19
20 import os
21 from osdf.config.consulconfig import call_consul_kv
22 import osdf.config.credentials as creds
23 import osdf.config.loader as config_loader
24 from osdf.utils.programming_utils import DotDict
25 from threading import Thread
26
27 config_spec = {
28     "deployment": os.environ.get("OSDF_CONFIG_FILE", "config/osdf_config.yaml"),
29     "core": "config/common_config.yaml"
30 }
31
32 slicing_spec = "config/slicing_config.yaml"
33
34 slice_config = config_loader.load_config_file(slicing_spec)
35
36 osdf_config = DotDict(config_loader.all_configs(**config_spec))
37
38 http_basic_auth_credentials = creds.load_credentials(osdf_config)
39
40 dmaap_creds = creds.dmaap_creds()
41
42 creds_prefixes = {"so": "so", "cm": "cmPortal", "pcih": "pciHMS"}
43
44 osdf_config_deployment = osdf_config.deployment
45
46
47 if osdf_config.deployment.get('activateConsulConfig'):
48     consulthread = Thread(target=call_consul_kv, args=(osdf_config,))
49     consulthread.start()