-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce the number of configurable options / environment variables to declutter or at least restructure #30
Comments
Blocked until we fix the problems with the docker compose recipe |
The issue is now unblocked. |
As part of this issue, we might also want to revisit where default values for env variables should be set. At the moment, our docker-compose.yml recipe has fallback values for each env var that's used, using the Generally speaking, the defaults are consistent at the docker compose and individual tool level, but not always. We may want to get rid of defaults in one of these places to avoid redundancy |
Decisions:
|
🚀 Issue was released in |
Now that we have a single
.env
file and a singledocker-compose.yml
file in the works, it is a bit easier to go through all theENV
variables we support / put in our template files. And there are quite a lot!The issue here is that this can be overwhelming for a user to read through, e.g. in the setup instructions our
ENV
table is a big wall of text: https://neurobagel.org/infrastructure/#set-the-environment-variables.I have these assumptions:
With this in mind, I took a look at our variables, and I think there are three groups:
Here is my view:
NB_GRAPH_ADMIN_PASSWORD
NB_GRAPH_USERNAME
NB_GRAPH_ADDRESS
NB_GRAPH_PASSWORD
NB_GRAPH_DB
NB_GRAPH_PORT_HOST
NB_GRAPH_PORT
NB_GRAPH_IMG
LOCAL_GRAPH_DATA
.jsonld
files live - can be useful if that path is not a subdir of where thedocker-compose.yml
livesNB_RETURN_AGG
NB_NAPI_TAG
latest
in most casesNB_NAPI_ALLOWED_ORIGINS
NB_NAPI_PORT_HOST
NB_NAPI_PORT
NB_QUERY_TAG
latest
NB_QUERY_PORT_HOST
NB_API_QUERY_URL
NB_QUERY_APP_BASE_PATH
NB_FAPI_PORT_HOST
NB_FAPI_PORT
NB_FAPI_TAG
NB_FEDERATE_REMOTE_PUBLIC_NODES
NB_ENABLE_AUTH
NB_QUERY_CLIENT_ID
Based on this, my suggestion is:
[ ] Restructure the template.env
file so that the required variables sit at the top (with a comment explaining that they are needed), and the optional variables that are left sit in a separate section belowENV
variable table in the docs down to the required variables (the remaining optional ones can be in an expandable box)I think our deployment docs are going to become radically shorter, once we adopt the single docker-compose file (#32), and decluttering the
.env
file will go a long way to making them even clearer!Decision: we will do this first, only for the
dev
deployment docker compose recipe - and once we like it, give it to the default deployment for users.The text was updated successfully, but these errors were encountered: