Uplink
Un uplink è un collegamento con un registro esterno che fornisce accesso ai pacchetti esterni.
Utilizzo
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/
Here's an example of seamlessly integrating npmjs and GitHub registries using Verdaccio: How to use Verdaccio with GitHub registry
Configurazione
Puoi definire più upling e ognuno di essi deve avere un nome unico (chiave). Possono avere le seguenti proprietà:
Proprietà | Tipo | Richiesto | Esempio | Supporto | Descrizione | Default |
---|---|---|---|---|---|---|
url | stringa | Sì | https://registry.npmjs.org/ | tutti | L'url del registro | npmjs |
ca | stringa | No | ~./ssl/client.crt' | tutti | Certificato del percorso SSL | No default |
timeout | stringa | No | 100ms | tutti | imposta nuovo timeout per la richiesta | 30s |
maxage | stringa | No | 10m | tutti | la soglia di tempo alla cache è valida | 2m |
fail_timeout | stringa | No | 10m | tutti | definisce il tempo massimo quando una richiesta fallisce | 5m |
max_fails | numero | No | 2 | tutti | limite massimo di fallimenti della richiesta | 2 |
cache | booleano | No | [true,false] | >= 2.1 | salva nella cache tutti gli archivi tar remoti in memoria | true |
autenticazione | elenco | No | vedi sotto | >= 2.5 | assegna l'intestazione 'Autorizzazione' altre info | disabilitato |
intestazioni | elenco | No | autorizzazione: "Bearer SecretJWToken==" | tutti | elenco di intestazioni personalizzate per l'uplink | disabilitato |
strict_ssl | booleano | No | [true,false] | >= 3.0 | Se true, richiede che i certificati SSL siano validi. | true |
agent_options | oggetto | No | maxSockets: 10 | >= 4.0.2 | opzioni per l'Agente HTTP o HTTPS responsabile della gestione della persistenza della connessione dell'upling e riutilizzo altre info | No default |
Proprietà d'autenticazione
La proprietà auth
ti consente di usare un token d'autenticazione con un uplink. Usa la variabile ambientale predefinita:
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token_env: true # punta di default alla variabile ambientale `NPM_TOKEN`
o tramite una variabile ambientale personalizzata specificata:
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token_env: FOO_TOKEN # sovrascrive la `NPM_TOKEN` predefinita con una personalizzata
token_env: FOO_TOKEN
userà internamente process.env['FOO_TOKEN']
o specificando direttamente un token sul file di configurazione (sconsigliato per motivi di sicurezza):
uplinks:
private:
url: https://private-registry.domain.com/registry
auth:
type: bearer
token: 'token'
Nota: il
token
ha la priorità sutoken_env
Devi sapere
- Gli upling devono esser registri compatibili con gli endpoint di
npm
. Eg: verdaccio,sinopia@1.4.0
, npmjs registry, yarn registry, JFrog, Nexus and more. - Impostare la
cache
a false aiuterà a risparmiare spazio sul tuo disco rigido. Ciò eviterà di archiviaretarballs
(archivi tar), ma manterrà i meta-dati in cartelle. - Diversi uplink potrebbero rallentare la ricerca dei tuoi pacchetti. Per ogni richiesta effettuata da un client npm, Verdaccio effettua 1 chiamata a ogni uplink configurato.
- Il formato (timeout, maxage e fail_timeout) segue le unità di misura di NGINX
- Utilizzando il Chart di Helm, puoi utilizzare
secretEnvVars
per iniettare delle variabili ambientali sensibili, utilizzabili per configurare l'autenticazione dell'uplink privato.