Skip to main content

Uplinks

An uplink is a link with an external registry that provides access to external packages.

Uplinks

Utilisation#

uplinks:  npmjs:   url: https://registry.npmjs.org/  server2:    url: http://mirror.local.net/    timeout: 100ms  server3:    url: http://mirror2.local.net:9000/  baduplink:    url: http://localhost:55666/

Configuration#

You can define mutiple uplinks and each of them must have an unique name (key). They can have the following properties:

PropriétéTypeObligatoireExempleSoutienDescriptionPar défaut
urlchaîne de caractèresOuihttps://registry.npmjs.org/tousL’url du registrenpmjs
cachaîne de caractèresNon~./ssl/client.crt'tousCertificat de chemin SSLPas par défaut
timeoutchaîne de caractèresNon100mstousdéfinir le nouveau délai d’attente pour la demande30s
maxagechaîne de caractèresNon10mtousthe time threshold to the cache is valid2m
fail_timeoutchaîne de caractèresNon10mtousdéfinit le temps maximal pour qu'une demande devienne un échec5m
max_failsnuméroNon2touslimite maximale d'échecs à chaque demande2
cachebooléenneNon[vrai,faux]>= 2.1mettre en cache tous les tarballs éloignés dans l'archivevrai
authlisteNonvoir ci-dessous>= 2.5attribuer l'en-tête "Autorisation" plus d'informationsdésactivé
en-têteslisteNonautorisation: "Bearer SecretJWToken=="tousliste des en-têtes personnalisés pour l'uplinkdésactivé
strict_sslbooléenneNon[vrai,faux]>= 3.0Si vrai, nécessite que les certificats SSL soient valides.vrai
agent_optionsobjectNonmaxSockets: 10>= 4.0.2options for the HTTP or HTTPS Agent responsible for managing uplink connection persistence and reuse more infoPas par défaut

Propriété de l'auth#

La propriété auth vous permet d'utiliser un jeton d'authentification avec un uplink. Utilisez la variable environnementale par défaut:

uplinks:  private:    url: https://private-registry.domain.com/registry    auth:      type: bearer      token_env: true # defaults to `process.env['NPM_TOKEN']`

ou par une variable environnementale spécifique:

uplinks:  private:    url: https://private-registry.domain.com/registry    auth:      type: bearer      token_env: FOO_TOKEN

token_env: FOO_TOKEN utilisera en interne process.env['FOO_TOKEN']

ou en spécifiant directement un jeton:

uplinks:  private:    url: https://private-registry.domain.com/registry    auth:      type: bearer      token: "token"

Remarque: jeton a la priorité sur jeton_env

Vous devez savoir#

  • Uplinks must be registries compatible with the npm endpoints. Eg: verdaccio, sinopia@1.4.0, npmjs registry, yarn registry, JFrog, Nexus and more.
  • Setting cache to false will help to save space in your hard drive. This will avoid store tarballs but it will keep metadata in folders.
  • Exceed with multiple uplinks might slow down the lookup of your packages due for each request a npm client does, verdaccio does 1 call for each uplink.
  • The (timeout, maxage and fail_timeout) format follow the NGINX measurement units