Configurable Environment Variables

METAGRID_SEARCH_URL

Required

The URL at which the ESG-Search api can be queried. A suitable endpoint will return XML in the browser.

Example Values

https://esgf-node.llnl.gov/esg-search/search

METAGRID_STAC_URL

Optional

Default: None

(Optional) The STAC URL at which the ESG-Search api can be queried. A suitable endpoint will return JSON in the browser.

Example Values

https://api.stac.esgf-west.org/

METAGRID_DATA_UPLOAD_MAX_NUMBER_FIELDS

Optional

Default: 1024

Maximum number of form fields allowed in a single upload. Useful for large wget payloads.

Example Values

1024

METAGRID_WGET_URL

Optional

Default: None

(Optional) If set, the URL at which the ESG-Search wget endpoint can be reached. If None (default), the wget download script is generated by an integrated WGET within the Metagrid deployment.

Example Values

https://esgf-node.llnl.gov/esg-search/wget

METAGRID_GLOBUS_PUBLIC_INDEX_ENDPOINT_ID

Optional

Default: a8ef4320-9e5a-4793-837b-c45161ca1845

The Globus index ID for the public ESGF2 data.

Example Values

a8ef4320-9e5a-4793-837b-c45161ca1845

METAGRID_WGET_SCRIPT_FILE_DEFAULT_LIMIT

Optional

Default: 9999

Default limit on the number of files allowed in a generated wget script.

Example Values

9999

METAGRID_WGET_SCRIPT_FILE_MAX_LIMIT

Optional

Default: 100000

Maximum number of files allowed in a generated wget script.

Example Values

100000

METAGRID_WGET_MAX_DIR_LENGTH

Optional

Default: 50

Maximum character length for facet values when creating directory names for wget downloads.

Example Values

50

METAGRID_KEYCLOAK_CLIENT_ID

Optional

Default: metagrid-localhost

Used in data migration to register Keycloak social app

Example Values

metagrid-localhost

METAGRID_ADMIN_URL

Optional

The default URL for the Django administration interface is /admin. This is a well-known fact and attackers will try to access this URL on your site. The solution is to change the URL of the administration interface. If not set, a random secure path will be generated using secrets.token_urlsafe() and can be retrieved using a command similar to the following: docker compose -f docker-compose.yml -f docker-compose.SITENAME-overlay.yml run --rm django python manage.py get_setting ADMIN_URL

Note

This path will change each time the backend is restarted.

Example Values

C5PhMrfRDd0x5RY-og2Tk_SwLFs4xWge1j8iM4wx6XQ/

METAGRID_ADMINS

Optional

Default: []

A list of all the people who get code error notifications. When DEBUG=False and AdminEmailHandler is configured in LOGGING (done by default), Django emails these people the details of exceptions raised in the request/response cycle. Each item in the list should be a tuple of (Full name, email address). Reference: https://docs.djangoproject.com/en/5.1/ref/settings/#admins

Example Values

[('Author', 'downie4@llnl.gov'), ('Author', 'ames4@llnl.gov')]

METAGRID_DATABASE_URL

Optional

Default: postgresql://postgres:postgres@postgres:5432/postgres

The database connection URL for the Metagrid backend database.

Example Values

postgresql://postgres:postgres@postgres:5432/postgres

METAGRID_SOCIAL_AUTH_GLOBUS_KEY

Required

The Client UUID obtained by registering a portal, science gateway, or other application you host with Globus at https://app.globus.org/settings/developers

Example Values

94c44808-9efd-4236-bffd-1185b1071736

METAGRID_SOCIAL_AUTH_GLOBUS_SECRET

Required

A Client Secret associated with the Client UUID created for SOCIAL_AUTH_GLOBUS_KEY at https://app.globus.org/settings/developers

Example Values

6aWj3gBYsxUBO++cSXtPzbl4n/sGJdhAmtn70XRoUMA=

METAGRID_AUTHENTICATION_METHOD

Optional

Default: none

Which authentication method to enable for user sign in on the frontend or 'none' for no sign-in.

Possible values keycloak, globus, none

METAGRID_SEARCH_URL

Required

The URL at which the ESG-Search api can be queried. A suitable endpoint will return XML in the browser.

Example Values

https://esgf-node.ornl.gov/esgf-1-5-bridge

METAGRID_STAC_URL

Optional

Default: None

(Optional) The STAC URL at which the ESG-Search api can be queried. A suitable endpoint will return JSON in the browser.

Example Values

https://api.stac.esgf-west.org/

METAGRID_BANNER_TEXT

Optional

Default: None

(Optional) Text to display as a banner above the main body. Useful for providing maintenance notices or important news. The banner will be hidden permanently if the user clicks the close button.

Example Values

My banner notification text.

METAGRID_SUPPORT_INFO

Optional

Default: None

(Optional) Text to display site administrator support information. Useful for providing help or contact information to site visitors.

Example Values

  • Questions or problems? Please contact the site administrator at: siteadmin@site.org

Optional

Default: ``

Text to display in the footer of the frontend. Useful for adding a link to the terms of service or other legal information. The string should be formatted as MarkDown and will be rendered as such.

METAGRID_STATUS_URL

Optional

Default: None

(Optional) The URL at which the backend can reach the Node Status API.

Example Values

https://esgf-node.llnl.gov/proxy/status

METAGRID_GLOBUS_NODES

Optional

Default: ['aims3.llnl.gov', 'esgf-data1.llnl.gov', 'esgf-data2.llnl.gov', 'esgf-node.ornl.gov', 'eagle.alcf.anl.gov']

The list of data nodes known to be Globus enabled. A data node must be in this list in order to transfer files from it via Globus.

METAGRID_KEYCLOAK_REALM

Optional

Default: None

(Optional) The Keycloak realm to use for authentication.

Example Values

myrealm

METAGRID_KEYCLOAK_URL

Optional

Default: None

The URL of the Keycloak server.

Example Values

https://keycloak.example.com

METAGRID_KEYCLOAK_CLIENT_ID

Optional

Default: ``

(Optional) The Keycloak client ID to use for authentication.

Example Values

myclientid

METAGRID_HOTJAR_ID

Optional

Default: None

(Optional) The Hotjar ID for tracking user interactions.

Example Values

123456

METAGRID_HOTJAR_SV

Optional

Default: None

(Optional) The Hotjar SV for tracking user interactions.

Example Values

7

METAGRID_GOOGLE_ANALYTICS_TRACKING_ID

Optional

Default: None

(Optional) The Google Analytics tracking ID for tracking user interactions.

Example Values

UA-12345678-1