Skip to content

GenomicDataInfrastructure/gdi-userportal-rems-synchronizer

Repository files navigation

REUSE status example workflow example workflow example workflow Quality Gate Status GitHub contributors Contributor Covenant

European Genomic Data Infrastructure Logo

GDI User Portal - REMS Synchronizer

The GDI User Portal REMS Synchronizer serves as the data steward-friendly command line interface for REMS management, responsible to fetch datasets from a CKAN, loading them into REMS.

Here, the data steward can easily configure the workflow and form, and replicate it throughout the entire dataset, with zero headache.

Installation

Locally

Before using the REMS Synchronizer, you need to ensure python is available:

pip install -r requirements.txt

You also have to create a new .env file in the root directory, and copy the content of .env.example into the new file. Please ensure you modified the environment variables accordingly to your setup.

Using Docker

Alternatively, you can run the compose file that provides a running instance of the application.

To start the containers:

  • For Podman: podman compose up -d
  • For Docker (new version): docker compose up -d
  • For Docker (older version): docker-compose up -d

Choose the command that matches your container runtime. We recommend using podman compose up for most setups.

Setting up

  • create bot user in REMS
POST <REMS_URL>/api/users/create
x-rems-api-key: existing-api-key
x-rems-user-id: owner-id
Content-Type: application/json

{
  "userid": "<BOT_USER_ID>",
  "name": "<BOT_USER_NAME>",
  "email": "<BOT_USER_EMAIL>"
}

* add a new api-key for this user

xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar grant-role owner <BOT_USER_ID> xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key add <TEST_BOT_API_KEY> xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key set-users <TEST_BOT_API_KEY> <BOT_USER_ID> xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key allow <TEST_BOT_API_KEY> any '/api/organizations.' xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key allow <TEST_BOT_API_KEY> any '/api/forms.' xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key allow <TEST_BOT_API_KEY> any '/api/workflows.' xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key allow <TEST_BOT_API_KEY> any '/api/resources.' xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key allow <TEST_BOT_API_KEY> any '/api/catalogue-items.' xxxxxxx:/rems# java -Dconfig.rems=config/config.edn -jar rems.jar api-key allow <TEST_BOT_API_KEY> any '/api/licenses.'


## License

- All original source code is licensed under [Apache-2.0](./LICENSES/Apache-2.0.txt).
- All documentation and images are licensed under [CC-BY-4.0](./LICENSES/CC-BY-4.0.txt).
- For more accurate information, check the individual files.