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