def __init__(self): super().__init__() if app_common_python.isClowderEnabled(): self.clowder() else: self.legacy() self.other()
def load_db_setting(env_name, attribute, default): if isClowderEnabled(): cfg = LoadedConfig return vars(cfg.database)[attribute] return os.getenv(env_name, default)
def load_kakfa_setting(env_name, default): if isClowderEnabled(): cfg = LoadedConfig broker_cfg = cfg.kafka.brokers[0] return f"{broker_cfg.hostname}:{broker_cfg.port}" return os.getenv(env_name, default).split(",")
def load_kafka_ssl_creds(env_name, attribute, default): if isClowderEnabled(): cfg = LoadedConfig broker_cfg = cfg.kafka.brokers[0] try: return broker_cfg.sasl.username if attribute == "username" else broker_cfg.sasl.password except AttributeError: return None return os.getenv(env_name, default)
def test_load_config(): assert LoadedConfig.kafka.brokers[ 0].port == 27015, "Port failed to be found" assert KafkaTopics["originalName"].name == "someTopic" assert DependencyEndpoints["app1"]["endpoint1"].port == 8000 assert DependencyEndpoints["app2"]["endpoint2"].name == "endpoint2" assert ObjectBuckets["reqname"].name == "name" assert KafkaServers[0] == "broker-host:27015" with open(LoadedConfig.rds_ca()) as fp: ca_content = fp.read() assert ca_content == "ca" assert isClowderEnabled() == True assert LoadedConfig.featureFlags.hostname == "ff-server.server.example.com"
def load_kafka_ssl_cert(env_name, default): if isClowderEnabled(): cfg = LoadedConfig broker_cfg = cfg.kafka.brokers[0] cacert_filename = None if broker_cfg.cacert: with tempfile.NamedTemporaryFile(delete=False) as tf: cacert_filename = tf.name tf.write(broker_cfg.cacert.encode("utf-8")) return cacert_filename return os.getenv(env_name, default)
def topic(topic): if isClowderEnabled(): return KafkaTopics[topic].name return topic
REDIS_HOST = os.environ.get('PULP_REDIS_HOST') REDIS_PORT = os.environ.get('PULP_REDIS_PORT') REST_FRAMEWORK__DEFAULT_RENDERER_CLASSES = [ 'rest_framework.renderers.JSONRenderer' ] # Clowder # ------- try: import app_common_python as clowder_config except ImportError: clowder_config = None if clowder_config and clowder_config.isClowderEnabled(): # Database configuration LocalConfig = clowder_config.LoadedConfig DATABASES['default'] = { 'ENGINE': 'django.db.backends.postgresql', 'NAME': LocalConfig.database.name, 'HOST': LocalConfig.database.hostname, 'PORT': LocalConfig.database.port, 'USER': LocalConfig.database.username, 'PASSWORD': LocalConfig.database.password } # AWS S3 configuration AWS_S3_ENTRYPOINT_URL = 'http://{}:{}'.format( LocalConfig.objectStore.hostname, LocalConfig.objectStore.port) AWS_ACCESS_KEY_ID = LocalConfig.objectStore.accessKey AWS_SECRET_ACCESS_KEY = LocalConfig.objectStore.secretKey