portal

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2026 License: BSD-3-Clause

README

UCL ARC Services Portal

Management portal for UCL ARC services.

The Service Portal aims to serve as a single entry point for researchers and other users to manage and engage with the various services and platforms supported by ARC, e.g. TRE, DSH.

Currently, the entities within the portal have the following relationships:

entity diagram

Local development

  1. Fork this repository and create a branch, or Clone it if you're on the project team.
  2. Install pre-commit (e.g. pip install pre-commit or brew install pre-commit), then run pre-commit install to set up the git hooks.
  3. Install the prerequisites: node, go, and Docker.
  4. Run cd web && npm install to install frontend dependencies.
  5. Create deploy/dev/oauth2-proxy.cfg from deploy/dev/oauth2-proxy.sample.cfg.
  6. Create deploy/dev/config.yaml from deploy/dev/config.sample.yaml.
  7. Spin up a development environment by running make dev.

Then go to http://localhost:8000.

To destroy the dev environment run make dev-destroy. To see other commands run make help.

Modify, commit, push and open a pull request against main for review.

Note that you will need entra credentials to allow logging in to the portal as different users. Speak to a senior member of the team to set these up.

Deployment

Staging

Staging is deployed automatically approximately 1 hour after merging into main.

Production

Production is deployed by updating the portal version in a separate deployment repository to the latest release. Releases are made at the team's discretion — typically once a set of changes has been verified on staging. Once agreed, create a release by creating a tag on main (replacing <x.y.z> with the version number)

git switch main && git pull
git tag v<x.y.z>
git push origin tag v<x.y.z>

then create a release based on the tag on GitHub. Pre-release release versions will not be deployed.

For more information on production deployments, refer to the project Slack channel docs.

Contact

Get in touch with the portal team.

Directories

Path Synopsis
cmd
api command
web-frontend command
internal
controller/myservices
Package myservices provides primitives to interact with the openapi HTTP API.
Package myservices provides primitives to interact with the openapi HTTP API.
openapi/dsh
Package openapi provides primitives to interact with the openapi HTTP API.
Package openapi provides primitives to interact with the openapi HTTP API.
openapi/tre
Package openapi provides primitives to interact with the openapi HTTP API.
Package openapi provides primitives to interact with the openapi HTTP API.
openapi/web
Package openapi provides primitives to interact with the openapi HTTP API.
Package openapi provides primitives to interact with the openapi HTTP API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL