mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-17 23:45:29 -05:00
86 lines
5.4 KiB
Markdown
86 lines
5.4 KiB
Markdown
|
---
|
|||
|
id: uplinks
|
|||
|
title: "Uplinks"
|
|||
|
---
|
|||
|
Un *uplink* est un lien avec un registre externe qui donne accès à des paquets externes.
|
|||
|
|
|||
|

|
|||
|
|
|||
|
### Utilisation
|
|||
|
|
|||
|
```yaml
|
|||
|
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
|
|||
|
|
|||
|
Vous pouvez définir de mutiple uplinks et chacun d’eux doit avoir un nom unique (clé). Ils peuvent avoir deux propriétés:
|
|||
|
|
|||
|
| Propriété | Type | Obligatoire | Exemple | Soutien | Description | Par défaut |
|
|||
|
| ------------ | -------------------- | ----------- | ------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
|
|||
|
| url | chaîne de caractères | Oui | https://registry.npmjs.org/ | tous | L’url du registre | npmjs |
|
|||
|
| ca | chaîne de caractères | Non | ~./ssl/client.crt' | tous | Certificat de chemin SSL | Pas par défaut |
|
|||
|
| timeout | chaîne de caractères | Non | 100ms | tous | définir le nouveau délai d’attente pour la demande | 30s |
|
|||
|
| maxage | chaîne de caractères | Non | 10m | tous | limite maximale d'échecs à chaque demande | 2m |
|
|||
|
| fail_timeout | chaîne de caractères | Non | 10m | tous | définit le temps maximal pour qu'une demande devienne un échec | 5m |
|
|||
|
| max_fails | numéro | Non | 2 | tous | limite maximale d'échecs à chaque demande | 2 |
|
|||
|
| cache | booléenne | Non | [vrai,faux] | >= 2.1 | mettre en cache tous les tarballs éloignés dans l'archive | vrai |
|
|||
|
| auth | liste | Non | [voir ci-dessous](uplinks.md#auth-property) | >= 2.5 | attribuer l'en-tête "Autorisation" [plus d'informations](http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules) | désactivé |
|
|||
|
| en-têtes | liste | Non | autorisation: "Bearer SecretJWToken==" | tous | liste des en-têtes personnalisés pour l'uplink | désactivé |
|
|||
|
| strict_ssl | booléenne | Non | [vrai,faux] | >= 3.0 | Si vrai, nécessite que les certificats SSL soient valides. | vrai |
|
|||
|
|
|||
|
#### 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:
|
|||
|
|
|||
|
```yaml
|
|||
|
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:
|
|||
|
|
|||
|
```yaml
|
|||
|
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:
|
|||
|
|
|||
|
```yaml
|
|||
|
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
|
|||
|
|
|||
|
* Verdaccio n'utilise plus l'authentification de base à partir de la version `v2.3.0`. Tous les jetons générés par verdaccio sont basés sur JWT ([jeton Web JSON](https://jwt.io/))
|
|||
|
* Les uplinks doivent être des registres compatibles avec les noeuds finaux `npm`. Par exemple: *verdaccio*, `sinopia@1.4.0`, *npmjs registry*, *yarn registry*, *JFrog*, *Nexus* et autre.
|
|||
|
* En affectant false au paramètre `cache`, vous économiserez de l'espace sur le disque dur. Cela évitera de stocker les `tarballs`, mais [conservera les métadonnées dans les dossiers](https://github.com/verdaccio/verdaccio/issues/391).
|
|||
|
* Le dépassement avec plusieurs uplinks peut ralentir la recherche de vos paquets car pour chaque demande transmise par un client npm, Verdaccio transmet à son tour un appel pour chaque uplink.
|
|||
|
* Le format (timeout, maxage et fail_timeout) suit les [unités de mesure NGINX](http://nginx.org/en/docs/syntax.html)
|