Skip to content
This repository has been archived by the owner on Sep 16, 2022. It is now read-only.

Commit

Permalink
Document env vars (#720)
Browse files Browse the repository at this point in the history
* document env vars part 1

* update .env.template to include only necessary env vars.

Co-authored-by: Toni Nurmi <[email protected]>
  • Loading branch information
Toni Nurmi and Toni Nurmi authored Dec 10, 2020
1 parent e29299e commit a05aece
Show file tree
Hide file tree
Showing 6 changed files with 117 additions and 85 deletions.
89 changes: 59 additions & 30 deletions ENV_VARS.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,62 @@
# Required environmental variables

copy .env.template to .env and fill following variables manually

| Name | Description | example |
| ------------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| DATACITE_PREFIX | | |
| DATACITE_URL | | |
| DATACITE_ETSIN_URL_TEMPLATE | | |
| DATACITE_USERNAME | | |
| DATACITE_PASSWORD | | |
| DJANGO_SECRET_KEY | replace with proper django secret key | |
| ERROR_FILES_PATH | | /home/user/repo-root/logs/errors |
| ES_CONFIG_DIR | | /home/user/repo-root/src/metax_api/tasks/refdata/refdata_indexer/resources/es-config/ |
| LOCAL_REF_DATA_FOLDER | | /home/user/repo-root/src/metax/metax-api/src/metax_api/tasks/refdata/refdata_indexer/resources/local-refdata/ |
| LOGGING_DEBUG_HANDLER_FILE | | /home/user/repo-root/src/metax/metax-api/logs/metax_api.log |
| LOGGING_GENERAL_HANDLER_FILE | | /home/user/repo-root/src/metax/metax-api/logs/metax_api.log |
| LOGGING_JSON_FILE_HANDLER_FILE | | /home/user/repo-root/src/metax/metax-api/logs/metax_api.json.log |
| METAX_DATABASE | postgres database, must be created first | metax |
| METAX_DATABASE_PASSWORD | postgres owner of the database | |
| METAX_DATABASE_PORT | | 5432 |
| METAX_DATABASE_USER | | username |
| OAI_BASE_URL | | |
| ORG_FILE_PATH | | /home/user/repo-root/src/metax_api/tasks/refdata/refdata_indexer/resources/organizations/organizations.csv |
| RABBIT_MQ_PASSWORD | | guest |
| RABBIT_MQ_USER | | guest |
| REDIS_LOCALHOST_PORT | | 6379 |
| REDIS_PASSWORD | | |
| REMS_ETSIN_URL_TEMPLATE | | |
| REMS_FORM_ID | | |
| VALIDATE_TOKEN_URL | | |
| WKT_FILENAME | | /home/user/repo-root/src/metax_api/tasks/refdata/refdata_indexer/resources/uri_to_wkt.json |
copy .env.template to .env and fill the required values from below table. Required column tells if you have to have the variable in the .env file

| Name | Required | Default | Description |
| ------------------------------ | -------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| ADDITIONAL_USER_PROJECTS_PATH | unknown | "" | No clue if this is important |
| ALLOWED_HOSTS | no | | defines which IP-addresses are allowed to access metax, DJANGO_ENV=local overrides this |
| AUTH_SERVER_LOGOUT_URL | unknown | | Requires testing if this is needed |
| DATACITE_ETSIN_URL_TEMPLATE | yes | |
| DATACITE_PASSWORD | yes | |
| DATACITE_PREFIX | yes | |
| DATACITE_URL | yes | |
| DATACITE_USERNAME | yes | |
| DEBUG | no | False |
| DJANGO_ENV | no | local | Specifies the environment, corresponds with the environments found in src/metax_api/settings/environments/ |
| DJANGO_SECRET_KEY | yes | |
| DRAFT_ENABLED | no | |
| ELASTIC_SEARCH_HOSTS | yes | | Elastic Search instance IP and port |
| ELASTIC_SEARCH_PORT | no | 9200 | Is not used currently, but should be in the future |
| ELASTIC_SEARCH_USE_SSL | yes | | Should Elastic Search queries use https |
| ERROR_FILES_PATH | no | src/log/errors | Error file folder |
| ES_CONFIG_DIR | no | src/metax_api/tasks/refdata/refdata_indexer/resources/es-config | metax-ops compatibility |
| LOCAL_REF_DATA_FOLDER | no | src/metax_api/tasks/refdata/refdata_indexer/resources/local-refdata | metax-ops compatibility |
| LOGGING_DEBUG_HANDLER_FILE | no | src/log/metax_api.log | metax-ops compatibility |
| LOGGING_GENERAL_HANDLER_FILE | no | src/log/metax_api.log | metax-ops compatibility |
| LOGGING_JSON_FILE_HANDLER_FILE | no | src/log/metax_api.json.log | metax-ops compatibility |
| METAX_API_ROOT | yes | | Metax internal variable, must be https |
| METAX_DATABASE | yes | | Postgres database name |
| METAX_DATABASE_PASSWORD | yes | | Postgres database password |
| METAX_DATABASE_PORT | no | 5432 | Postgres instance exposed port |
| METAX_DATABASE_USER | yes | | Postgres user which owns the database |
| METAX_ENV | no | local_development | Used by Metax internally, should be replaced with DJANGO_ENV in the future |
| OAI_BASE_URL | yes | |
| ORG_FILE_PATH | yes | src/metax_api/tasks/refdata/refdata_indexer/resources/organizations/organizations.csv | metax-ops compatibility |
| RABBIT_MQ_HOSTS | yes | | RabbitMQ instance IP |
| RABBIT_MQ_PASSWORD | no | guest |
| RABBIT_MQ_PORT | no | 5672 |
| RABBIT_MQ_TTV_ENABLED | no | |
| RABBIT_MQ_USER | no | guest |
| RABBIT_MQ_VHOST | no | |
| RABBIT_MQ_VHOST_TTV | no | |
| REDIS_HOST | yes | | Redis instance IP |
| REDIS_LOCALHOST_PORT | unknown | 6379 | Not sure if all references to this are gone |
| REDIS_PASSWORD | no | |
| REDIS_PORT | no | 6379 |
| REDIS_TEST_DB | yes | | Pick a number, any number |
| REDIS_USE_PASSWORD | no | false |
| REMS_API_KEY | no |
| REMS_AUTO_APPROVER | no |
| REMS_BASE_URL | no |
| REMS_ENABLED | no |
| REMS_ETSIN_URL_TEMPLATE | yes | |
| REMS_FORM_ID | yes | |
| REMS_METAX_USER | no |
| REMS_REPORTER_USER | no |
| SERVER_DOMAIN_NAME | no |
| TRAVIS | no | false | Metax internal used to figure out if Metax is running on Travis virtual machine |
| V1_ENABLED | no | |
| V2_ENABLED | no | |
| VALIDATE_TOKEN_URL | yes | |
| WKT_FILENAME | no | src/metax_api/tasks/refdata/refdata_indexer/resources/uri_to_wkt.json |
35 changes: 4 additions & 31 deletions src/metax_api/settings/.env.template
Original file line number Diff line number Diff line change
@@ -1,42 +1,15 @@
ALLOWED_HOSTS=metax.csc.local,20.20.20.20
AUTH_SERVER_LOGOUT_URL=<required>
DATACITE_PREFIX=<required>
DATACITE_URL=<required>
DATACITE_PASSWORD=<required>
DATACITE_ETSIN_URL_TEMPLATE=<required>
DATACITE_USERNAME=<required>
DATACITE_PASSWORD=<required>
DEBUG=on
DJANGO_ENV=local
DJANGO_SECRET_KEY=<required>
DRAFT_ENABLED=true
ELASTIC_SEARCH_HOSTS=http://localhost:9200/
ELASTIC_SEARCH_PORT=9200
ELASTIC_SEARCH_USE_SSL=False
FLUSH_PASSWORD=<required>
METAX_API_ROOT=<required>
METAX_DATABASE=<required>
METAX_DATABASE_HOST=localhost
METAX_DATABASE_PASSWORD=<required>
METAX_DATABASE_USER=<required>
OAI_BASE_URL=http:<required>
RABBIT_MQ_HOSTS=<required>
RABBIT_MQ_PASSWORD=<required>
RABBIT_MQ_PORT=<required>
RABBIT_MQ_USER=<required>
RABBIT_MQ_VHOST=metax
REDIS_HOST=<required>
REDIS_PASSWORD=<required>
REDIS_PORT=<required>
REDIS_SENTINEL_SERVICE=<required>
REDIS_TEST_DB=15
REDIS_USE_PASSWORD=false
REMS_API_KEY=<REPLACE_WITH_REMS_API_KEY>
REMS_AUTO_APPROVER=<required>
REMS_BASE_URL=
REMS_ENABLED=<required>
REMS_ETSIN_URL_TEMPLATE=<required>
REMS_FORM_ID=<required>
REMS_METAX_USER=<required>
REMS_REPORTER_USER=<required>
SERVER_DOMAIN_NAME=<required>
VALIDATE_TOKEN_URL=<required>
OAI_BASE_URL=<required>
RABBIT_MQ_VHOST=<required>
REMS_ENABLED=false
23 changes: 14 additions & 9 deletions src/metax_api/settings/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,32 @@
env = environ.Env(
# set casting, default value
ADDITIONAL_USER_PROJECTS_PATH=(str, ""),
ALLOWED_HOSTS=(list, ["metax.csc.local", "20.20.20.20"]),
DEBUG=(bool, False),
DJANGO_ENV=(str, "local"),
ELASTIC_SEARCH_PORT=(int, 9200),
ELASTIC_SEARCH_USE_SSL=(bool, False),
ERROR_FILES_PATH=(str, join(BASE_DIR, "log", "errors")),
ES_CONFIG_DIR=(str, join(REFDATA_INDEXER_PATH, "resources", "es-config/")),
LOCAL_REF_DATA_FOLDER=(
str,
join(REFDATA_INDEXER_PATH, "resources", "local-refdata/"),
),
LOCAL_REF_DATA_FOLDER=(str,join(REFDATA_INDEXER_PATH, "resources", "local-refdata/"),),
LOGGING_DEBUG_HANDLER_FILE=(str, join(BASE_DIR, "log", "metax_api.log")),
LOGGING_GENERAL_HANDLER_FILE=(str, join(BASE_DIR, "log", "metax_api.log")),
LOGGING_JSON_FILE_HANDLER_FILE=(str, join(BASE_DIR, "log", "metax_api.json.log")),
METAX_ENV=(str, "local_development"),
METAX_DATABASE_HOST=(str, "localhost"),
METAX_DATABASE_PORT=(str, 5432),
ORG_FILE_PATH=(
str,
join(REFDATA_INDEXER_PATH, "resources", "organizations", "organizations.csv"),
),
METAX_ENV=(str, "local_development"),
METAX_API_ROOT=(str, "https://localhost:8008"),
ORG_FILE_PATH=(str, join(REFDATA_INDEXER_PATH, "resources", "organizations", "organizations.csv"),),
RABBIT_MQ_PORT=(int, 5672),
REDIS_HOST=(str, "localhost"),
RABBIT_MQ_PASSWORD=(str, "guest"),
RABBIT_MQ_USER=(str, "guest"),
REDIS_PORT=(int, 6379),
REDIS_TEST_DB=(int, 15),
REDIS_USE_PASSWORD=(bool, False),
SERVER_DOMAIN_NAME=(str, "metax.csc.local"),
TRAVIS=(bool, False),
VALIDATE_TOKEN_URL=(str, "https://127.0.0.1/secure/validate_token"),
WKT_FILENAME=(str, join(REFDATA_INDEXER_PATH, "resources", "uri_to_wkt.json")),
)
# reading .env file
Expand All @@ -57,6 +61,7 @@
"components/elasticsearch.py",
"components/rabbitmq.py",
"components/externals.py",
"components/rems.py",
"environments/{0}.py".format(ENV),
# Optionally override some settings:
# optional('environments/legacy.py'),
Expand Down
10 changes: 0 additions & 10 deletions src/metax_api/settings/components/externals.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,6 @@
"PREFIX": env("DATACITE_PREFIX"),
"URL": env("DATACITE_URL"),
}
REMS = {
"ENABLED": env("REMS_ENABLED"),
"API_KEY": env("REMS_API_KEY"),
"BASE_URL": env("REMS_BASE_URL"),
"ETSIN_URL_TEMPLATE": env("REMS_ETSIN_URL_TEMPLATE"),
"METAX_USER": env("REMS_METAX_USER"),
"REPORTER_USER": env("REMS_REPORTER_USER"),
"AUTO_APPROVER": env("REMS_AUTO_APPROVER"),
"FORM_ID": int(env("REMS_FORM_ID")),
}
ORG_FILE_PATH = env("ORG_FILE_PATH")
WKT_FILENAME = env("WKT_FILENAME")
LOCAL_REF_DATA_FOLDER = env("LOCAL_REF_DATA_FOLDER")
Loading

0 comments on commit a05aece

Please sign in to comment.