research-software-directory / RSD-as-a-service

This repo contains the new RSD-as-a-service implementation
https://research.software
23 stars 15 forks source link

Add "support" for additional package managers #1081

Closed dmijatovic closed 7 months ago

dmijatovic commented 8 months ago

Based on current RSD data we should extend the package manager list with:

The ENUM in db should be extended with additional keys and the logos should be obtained from official sources. Below is complete (new) list of package managers we "recognize" and the scraper services we support. If we do not have scraper service the services array is empty (no scrapers running).

In addition, package manager data should be updated from 'other' to proper enum value after the upgrade

Updated package manager configuration object on FE

export const packageManagerSettings = {
  anaconda: {
    name: 'Anaconda',
    icon: '/images/anaconda-logo-96.svg',
    hostname: ['anaconda.org'],
    services: ['dependents']
  },
  cran: {
    name: 'CRAN',
    icon: '/images/cran-r-logo.svg',
    hostname: ['cran.r-project.org'],
    services: ['dependents']
  },
  chocolatey: {
    name: 'Chocolatey',
    icon: '/images/chocolatey-logo.svg',
    hostname: ['community.chocolatey.org'],
    services: []
  },
  debian:{
    name: 'Debian',
    icon: '/images/debian-logo.svg',
    hostname: ['packages.debian.org'],
    services: []
  },
  dockerhub: {
    name: 'Dockerhub',
    icon: '/images/dockerhub-logo.webp',
    hostname: ['hub.docker.com'],
    services: ['downloads']
  },
  github: {
    name: 'Github',
    icon: '/images/github-logo.svg',
    hostname: ['github.com'],
    services: []
  },
  gitlab: {
    name: 'Gitlab',
    icon: '/images/gitlab-icon-rgb.svg',
    hostname: ['gitlab.com','registry.gitlab.com'],
    services: []
  },
  maven: {
    name: 'Maven',
    icon: '/images/apache-maven-logo.svg',
    hostname: ['mvnrepository.com'],
    services: ['dependents']
  },
  npm: {
    name: 'NPM',
    icon: '/images/npm-logo-64.png',
    hostname: ['www.npmjs.com','npmjs.com'],
    services: ['dependents']
  },
  pypi: {
    name: 'PyPi',
    icon: '/images/pypi-logo.svg',
    hostname: ['pypi.org'],
    services: ['dependents']
  },
  sonatype:{
    name: 'Sonatype',
    icon: '/images/sonatype-logo.svg',
    hostname: ['central.sonatype.com'],
    services: []
  },
  snapcraft:{
    name: 'Snapcraft',
    icon: '/images/snapcraft-logo.svg',
    hostname: ['snapcraft.io'],
    services: []
  },
  other: {
    name: 'Other',
    icon: null,
    hostname: [],
    services: []
  }
}
dmijatovic commented 8 months ago

@jmaassen, @ewan-escience, @fembau, @cmeessen Do you have additional software downloading location, preferably based on data already present in RSD?

cmeessen commented 8 months ago

Every GitLab repository can have its own container or package registry:

https://docs.gitlab.com/ee/user/packages/

For example, we distribute the Helmholtz RSD images via our own container registry.

jmaassen commented 8 months ago

Maybe add Rust crates: https://crates.io/

We could also add the julia / go ones, but I don't think these are used yet?