mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-14 03:43:08 +00:00
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv() # This will load environment variables from a .env file if it exists
|
|
|
|
|
|
def get_env_var(var_name, default=None):
|
|
env_var = os.getenv(var_name, default)
|
|
if env_var in [None, ""]:
|
|
print(f"{var_name} is not set; using default value: {default}")
|
|
env_var = default
|
|
print(f"{var_name}: {env_var}")
|
|
return env_var
|
|
|
|
|
|
def get_nodes(defaults):
|
|
nodes = []
|
|
# First, use the defaults provided
|
|
for node_var_name, default_value in defaults.items():
|
|
node = get_env_var(node_var_name, default_value)
|
|
nodes.append(node)
|
|
# Now check for additional NODE_X variables
|
|
index = len(defaults) + 1
|
|
while True:
|
|
extra_node_var_name = f"NODE_{index}"
|
|
extra_node = get_env_var(extra_node_var_name)
|
|
if not extra_node: # Break the loop if an additional NODE_X is not set
|
|
break
|
|
nodes.append(extra_node)
|
|
index += 1
|
|
return nodes
|
|
|
|
|
|
# Configuration constants. Need to be upercase to appear in reports
|
|
NODE_LIST = get_nodes(defaults={"NODE_1": "wakuorg/go-waku:latest", "NODE_2": "wakuorg/nwaku:latest", "NODE_3": "wakuorg/go-waku:latest"})
|
|
# more nodes need to follow the NODE_X pattern
|
|
DOCKER_LOG_DIR = get_env_var("DOCKER_LOG_DIR", "./log/docker")
|
|
NETWORK_NAME = get_env_var("NETWORK_NAME", "waku")
|
|
SUBNET = get_env_var("SUBNET", "172.18.0.0/16")
|
|
IP_RANGE = get_env_var("IP_RANGE", "172.18.0.0/24")
|
|
GATEWAY = get_env_var("GATEWAY", "172.18.0.1")
|
|
DEFAULT_PUBSUB_TOPIC = get_env_var("DEFAULT_PUBSUB_TOPIC", "/waku/2/default-waku/proto")
|
|
PROTOCOL = get_env_var("PROTOCOL", "REST")
|
|
RUNNING_IN_CI = get_env_var("CI")
|
|
NODEKEY = get_env_var("NODEKEY", "30348dd51465150e04a5d9d932c72864c8967f806cce60b5d26afeca1e77eb68")
|
|
API_REQUEST_TIMEOUT = get_env_var("API_REQUEST_TIMEOUT", 10)
|