Commit 8348453ebc987a576f11c7e5fdb626f7824e0e25

Authored by ALEXIS-PC\alexis
1 parent 754bee06
Exists in dev

Updating environment variables (add PYROS_LOGIN and PYROS_PWD) in docker-compose and settings.py

docker/docker-compose.yml
... ... @@ -37,7 +37,8 @@ services:
37 37 - MYSQL_TCP_PORT=3306
38 38 # environment variables available for both Docker usage and non Docker usage
39 39 - "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-root}"
40   -
  40 + - "MYSQL_PYROS_LOGIN=${MYSQL_PYROS_LOGIN:-pyros}"
  41 + - "MYSQL_PYROS_PWD=${MYSQL_PYROS_PWD:-DjangoPyros}"
41 42 #- "IP_PYROS_USER=${IP_PYROS_USER:-172.28.1.5}"
42 43 volumes:
43 44 - ..:/home/pyros_user/app
... ...
src/core/pyros_django/pyros/settings.py
... ... @@ -56,14 +56,14 @@ def set_environment_variables_if_not_configured(env_path: str,env_sample_path: s
56 56 env_path (str): path to .env file
57 57 env_sample_path (str): path to .env-sample file
58 58 """
59   - is_environment_variables_not_defined = os.environ.get("MYSQL_ROOT_PASSWORD") == None or os.environ.get("MYSQL_ROOT_LOGIN") == None
  59 + is_environment_variables_not_defined = os.environ.get("MYSQL_PYROS_LOGIN") == None or os.environ.get("MYSQL_PYROS_PWD") == None or os.environ.get("MYSQL_TCP_PORT") == None
60 60 if(is_environment_variables_not_defined):
61 61 print("Some environment variables are not configured...")
62 62 try:
63 63 with open(env_path,"r") as env_file:
64 64 print("Reading env file")
65 65 for line in env_file:
66   - if(line.startswith("#") and not env_sample_line.strip()):
  66 + if(line.startswith("#") and not line.strip()):
67 67 continue
68 68 else:
69 69 key,value = line.split("=")
... ... @@ -81,7 +81,7 @@ def set_environment_variables_if_not_configured(env_path: str,env_sample_path: s
81 81 os.environ[key] = value
82 82 env_file.write(env_sample_line)
83 83 else:
84   - print("The environment variables are already configured, skipping...")
  84 + print("The environment variables are already configured, skipping this step...")
85 85  
86 86 # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
87 87 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
... ... @@ -116,19 +116,19 @@ ENV_SAMPLE_PATH="../../../../docker/.env-sample"
116 116 # default value of mysql port
117 117 MYSQL_PORT = "3306"
118 118 SQL_USER = ""
119   -SQL_PSWD = ""
  119 +SQL_PWD = ""
120 120 ALLOWED_HOSTS = ['localhost', '127.0.0.1', 'pyros.irap.omp.eu']
121 121 # defining variables when using Docker
122 122 if WITH_DOCKER:
123 123 ALLOWED_HOSTS.append('0.0.0.0')
124 124 HTTP_PORT = ":8000"
125   -else:
126   - try:
127   - MYSQL_PORT = os.environ['MYSQL_TCP_PORT']
128   - SQL_USER = os.environ.get("MYSQL_PYROS_LOGIN").strip()
129   - SQL_PSWD = os.environ.get("MYSQL_PYROS_PWD").strip()
130   - except:
131   - set_environment_variables_if_not_configured(ENV_PATH,ENV_SAMPLE_PATH)
  125 +
  126 +try:
  127 + MYSQL_PORT = os.environ['MYSQL_TCP_PORT'].strip()
  128 + SQL_USER = os.environ["MYSQL_PYROS_LOGIN"].strip()
  129 + SQL_PWD = os.environ["MYSQL_PYROS_PWD"].strip()
  130 +except:
  131 + set_environment_variables_if_not_configured(ENV_PATH,ENV_SAMPLE_PATH)
132 132 # TODO : Change ALLOWED_HOSTS depending if you are using docker with windows (the domain is "localhost") or docker with another OS (the domain is "0.0.0.0"). If you are running PyROS without Docker, the domain is "localhost".
133 133 DEFAULT_DOMAIN = f'{ALLOWED_HOSTS[0]}{HTTP_PORT}'
134 134 # Application definition
... ... @@ -226,8 +226,8 @@ if MYSQL:
226 226 'OPTIONS': mysql_options,
227 227 'ENGINE': 'django.db.backends.mysql',
228 228 'NAME': 'pyros',
229   - 'USER': 'pyros',
230   - 'PASSWORD': 'DjangoPyros',
  229 + 'USER': SQL_USER,
  230 + 'PASSWORD': SQL_PWD,
231 231 'PORT': MYSQL_PORT,
232 232 '''
233 233 (See https://docs.djangoproject.com/fr/2.1/topics/testing/overview/#the-test-database)
... ...