Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ RSD_ENVIRONMENT=prod
# Allowed values are: SURFCONEXT, ORCID, AZURE, LINKEDIN or LOCAL
# if env value is not provided default provider is set to be SURFCONEXT
# if you add the value "LOCAL", then local accounts are enabled, USE THIS FOR TESTING PURPOSES ONLY
RSD_AUTH_PROVIDERS=LINKEDIN;ORCID;LOCAL
RSD_AUTH_PROVIDERS=LINKEDIN:EVERYONE;ORCID:INVITE_ONLY

# consumed by services: authentication, frontend (api/fe)
# provide a list of supported OpenID auth providers for coupling with the user's RSD account
# the values should be separated by semicolon (;)
# Allowed values are: ORCID
RSD_AUTH_COUPLE_PROVIDERS=ORCID
RSD_AUTH_COUPLE_PROVIDERS=ORCID;LINKEDIN

# Define a semicolon-separated list of user email addresses which are allowed to
# login to the RSD. If the variable is left empty, or is not defined, all users
Expand Down
26 changes: 26 additions & 0 deletions data-generation/accounts.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export async function generateAccounts(orcids){
const accounts = await postAccountsToBackend(100);
const ids = accounts.map(a => a.id)
const logins = await postToBackend('/login_for_account', generateLoginForAccount(ids, orcids))
const profiles = await postToBackend('/user_profile', generateUserProfiles(ids))
// console.log('accounts, login_for_accounts done');
return ids
}
Expand Down Expand Up @@ -80,3 +81,28 @@ export function generateLoginForAccount(accountIds, orcids) {
return login_for_accounts;
}

function generateUserProfiles(accountIds) {
const user_profiles = accountIds.map(account => {
let given_names = faker.person.firstName();
let family_names = faker.person.lastName();
// user_profile table props
return {
account,
given_names,
family_names,
email_address: faker.internet.email({
firstName: given_names,
lastName: family_names,
}),
role: faker.person.jobTitle(),
affiliation: faker.company.name(),
is_public:
faker.helpers.maybe(() => true, {
probability: 0.5,
}) ?? false,
avatar_id: null,
description: null,
};
});
return user_profiles;
}
8 changes: 4 additions & 4 deletions deployment/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@ RSD_ENVIRONMENT=prod
# Allowed values are: SURFCONEXT, ORCID, AZURE, LINKEDIN or LOCAL
# if env value is not provided default provider is set to be SURFCONEXT
# if you add the value "LOCAL", then local accounts are enabled, USE THIS FOR TESTING PURPOSES ONLY
RSD_AUTH_PROVIDERS=SURFCONEXT;LOCAL
RSD_AUTH_PROVIDERS=LINKEDIN:EVERYONE;ORCID:INVITE_ONLY

# consumed by services: authentication, frontend (api/fe)
# provide a list of supported OpenID auth providers for coupling with the user's RSD account
# the values should be separated by semicolon (;)
# Allowed values are: ORCID
# RSD_AUTH_COUPLE_PROVIDERS=ORCID
# RSD_AUTH_COUPLE_PROVIDERS=ORCID;LINKEDIN

# Define a semicolon-separated list of user email addresses which are allowed to
# login to the RSD. If the variable is left empty, or is not defined, all users
Expand Down Expand Up @@ -198,8 +198,8 @@ CROSSREF_CONTACT_EMAIL=

# consumed by: frontend
# URL (should end with a trailing slash) and ID for Matomo Tracking Code
# MATOMO_URL=
# MATOMO_ID=
MATOMO_URL=
MATOMO_ID=

# consumed by: scrapers
# LIBRARIES_IO_ACCESS_TOKEN=
36 changes: 31 additions & 5 deletions deployment/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
services:
database:
container_name: database
image: ghcr.io/research-software-directory/rsd-saas/database:v2.29.0
image: ghcr.io/research-software-directory/rsd-saas/database:v3.3.0
expose:
- 5432
environment:
Expand All @@ -25,7 +25,7 @@ services:

backend:
container_name: backend
image: ghcr.io/research-software-directory/rsd-saas/backend:v2.29.0
image: ghcr.io/research-software-directory/rsd-saas/backend:v3.3.0
expose:
- 3500
environment:
Expand All @@ -43,7 +43,7 @@ services:

auth:
container_name: auth
image: ghcr.io/research-software-directory/rsd-saas/auth:v2.29.0
image: ghcr.io/research-software-directory/rsd-saas/auth:v3.3.0
expose:
- 7000
environment:
Expand All @@ -52,10 +52,13 @@ services:
- POSTGREST_URL
- RSD_AUTH_COUPLE_PROVIDERS
- RSD_AUTH_PROVIDERS
- RSD_AUTH_USER_MAIL_WHITELIST
- SURFCONEXT_CLIENT_ID
- SURFCONEXT_REDIRECT
- SURFCONEXT_WELL_KNOWN_URL
- HELMHOLTZID_CLIENT_ID
- HELMHOLTZID_REDIRECT
- HELMHOLTZID_WELL_KNOWN_URL
- HELMHOLTZID_SCOPES
- ORCID_CLIENT_ID
- ORCID_REDIRECT
- ORCID_REDIRECT_COUPLE
Expand All @@ -66,7 +69,9 @@ services:
- AZURE_ORGANISATION
- LINKEDIN_CLIENT_ID
- LINKEDIN_REDIRECT
- LINKEDIN_REDIRECT_COUPLE
- LINKEDIN_WELL_KNOWN_URL
- HELMHOLTZID_ALLOW_EXTERNAL_USERS
- AUTH_SURFCONEXT_CLIENT_SECRET
- AUTH_HELMHOLTZID_CLIENT_SECRET
- AUTH_ORCID_CLIENT_SECRET
Expand Down Expand Up @@ -102,23 +107,43 @@ services:
- net
restart: unless-stopped

background-services:
image: ghcr.io/research-software-directory/rsd-saas/background-services:v3.3.0
environment:
# it uses values from .env file
- POSTGRES_DB_HOST
- POSTGRES_DB_HOST_PORT
- POSTGRES_DB
- POSTGRES_USER
- POSTGRES_PASSWORD
depends_on:
- database
networks:
- net

frontend:
container_name: frontend
image: ghcr.io/research-software-directory/kin-rpd/frontend:latest
environment:
# it uses values from .env file
# it uses values from .env file
- POSTGREST_URL
- PGRST_JWT_SECRET
- RSD_AUTH_URL
- RSD_AUTH_PROVIDERS
- RSD_AUTH_COUPLE_PROVIDERS
- RSD_REVERSE_PROXY_URL
- MATOMO_URL
- MATOMO_ID
- SURFCONEXT_CLIENT_ID
- SURFCONEXT_REDIRECT
- SURFCONEXT_WELL_KNOWN_URL
- SURFCONEXT_SCOPES
- SURFCONEXT_RESPONSE_MODE
- HELMHOLTZID_CLIENT_ID
- HELMHOLTZID_REDIRECT
- HELMHOLTZID_WELL_KNOWN_URL
- HELMHOLTZID_SCOPES
- HELMHOLTZID_RESPONSE_MODE
- ORCID_CLIENT_ID
- ORCID_REDIRECT
- ORCID_REDIRECT_COUPLE
Expand All @@ -133,6 +158,7 @@ services:
- AZURE_DESCRIPTION_HTML
- LINKEDIN_CLIENT_ID
- LINKEDIN_REDIRECT
- LINKEDIN_REDIRECT_COUPLE
- LINKEDIN_WELL_KNOWN_URL
- CROSSREF_CONTACT_EMAIL
expose:
Expand Down
44 changes: 35 additions & 9 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

services:
database:
image: ghcr.io/research-software-directory/rsd-saas/database:v3.1.0
image: ghcr.io/research-software-directory/rsd-saas/database:v3.3.0
ports:
# enable connection from outside (development mode)
- "5432:5432"
Expand All @@ -23,7 +23,7 @@ services:
- net

backend:
image: ghcr.io/research-software-directory/rsd-saas/backend:v3.1.0
image: ghcr.io/research-software-directory/rsd-saas/backend:v3.3.0
expose:
- 3500
environment:
Expand All @@ -39,7 +39,7 @@ services:
- net

auth:
image: ghcr.io/research-software-directory/rsd-saas/auth:v3.1.0
image: ghcr.io/research-software-directory/rsd-saas/auth:v3.3.0
ports:
- 5005:5005
expose:
Expand All @@ -50,10 +50,13 @@ services:
- POSTGREST_URL
- RSD_AUTH_COUPLE_PROVIDERS
- RSD_AUTH_PROVIDERS
- RSD_AUTH_USER_MAIL_WHITELIST
- SURFCONEXT_CLIENT_ID
- SURFCONEXT_REDIRECT
- SURFCONEXT_WELL_KNOWN_URL
- HELMHOLTZID_CLIENT_ID
- HELMHOLTZID_REDIRECT
- HELMHOLTZID_WELL_KNOWN_URL
- HELMHOLTZID_SCOPES
- ORCID_CLIENT_ID
- ORCID_REDIRECT
- ORCID_REDIRECT_COUPLE
Expand All @@ -64,7 +67,9 @@ services:
- AZURE_ORGANISATION
- LINKEDIN_CLIENT_ID
- LINKEDIN_REDIRECT
- LINKEDIN_REDIRECT_COUPLE
- LINKEDIN_WELL_KNOWN_URL
- HELMHOLTZID_ALLOW_EXTERNAL_USERS
- AUTH_SURFCONEXT_CLIENT_SECRET
- AUTH_HELMHOLTZID_CLIENT_SECRET
- AUTH_ORCID_CLIENT_SECRET
Expand All @@ -85,7 +90,7 @@ services:
]

scrapers:
image: ghcr.io/research-software-directory/rsd-saas/scrapers:v3.1.0
image: ghcr.io/research-software-directory/rsd-saas/scrapers:v3.3.0
environment:
# it uses values from .env file
- POSTGREST_URL
Expand All @@ -104,27 +109,47 @@ services:
networks:
- net

background-services:
image: ghcr.io/research-software-directory/rsd-saas/background-services:v3.3.0
environment:
# it uses values from .env file
- POSTGRES_DB_HOST
- POSTGRES_DB_HOST_PORT
- POSTGRES_DB
- POSTGRES_USER
- POSTGRES_PASSWORD
depends_on:
- database
networks:
- net

frontend:
build:
context: ./frontend
# dockerfile to use for build
dockerfile: Dockerfile
# update version number to correspond to frontend/package.json
image: kin-rpd/frontend:0.1.0
image: kin-rpd/frontend:1.0.0
environment:
# it uses values from .env file
- POSTGREST_URL
- PGRST_JWT_SECRET
- RSD_AUTH_URL
- RSD_AUTH_PROVIDERS
- RSD_AUTH_COUPLE_PROVIDERS
- RSD_REVERSE_PROXY_URL
- MATOMO_URL
- MATOMO_ID
- SURFCONEXT_CLIENT_ID
- SURFCONEXT_REDIRECT
- SURFCONEXT_WELL_KNOWN_URL
- SURFCONEXT_SCOPES
- SURFCONEXT_RESPONSE_MODE
- HELMHOLTZID_CLIENT_ID
- HELMHOLTZID_REDIRECT
- HELMHOLTZID_WELL_KNOWN_URL
- HELMHOLTZID_SCOPES
- HELMHOLTZID_RESPONSE_MODE
- ORCID_CLIENT_ID
- ORCID_REDIRECT
- ORCID_REDIRECT_COUPLE
Expand All @@ -139,6 +164,7 @@ services:
- AZURE_DESCRIPTION_HTML
- LINKEDIN_CLIENT_ID
- LINKEDIN_REDIRECT
- LINKEDIN_REDIRECT_COUPLE
- LINKEDIN_WELL_KNOWN_URL
- CROSSREF_CONTACT_EMAIL
expose:
Expand All @@ -161,7 +187,7 @@ services:
context: ./documentation
# dockerfile to use for build
dockerfile: Dockerfile
image: kin-rpd/documentation:0.1.0
image: kin-rpd/documentation:1.0.0
expose:
- "80"
networks:
Expand All @@ -170,7 +196,7 @@ services:
nginx:
build:
context: ./nginx
image: kin-rpd/nginx:0.0.1
image: kin-rpd/nginx:1.0.0
ports:
- "80:80"
- "443:443"
Expand All @@ -191,7 +217,7 @@ services:
#----------------------------------------------
data-generation:
build: ./data-generation
image: kin-rpd/generation:0.0.1
image: kin-rpd/generation:1.0.0
environment:
# it needs to be here to use values from .env file
- PGRST_JWT_SECRET
Expand Down
3 changes: 3 additions & 0 deletions frontend/.dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# SPDX-FileCopyrightText: 2021 Dusan Mijatovic (dv4all)
# SPDX-FileCopyrightText: 2021 dv4all
# SPDX-FileCopyrightText: 2024 Dusan Mijatovic (Netherlands eScience Center)
# SPDX-FileCopyrightText: 2024 Netherlands eScience Center
#
# SPDX-License-Identifier: Apache-2.0

Expand All @@ -15,6 +17,7 @@

# next.js
/.next/
/.swc/
/out/

# production
Expand Down
Loading