Skip to main content

Uplinks

Um uplink é um link com um registro externo que fornece acesso a pacotes externos.

Uplinks

Utilização

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

Você pode definir vários uplinks e cada um deles deve ter um nome exclusivo (chave). Eles podem ter as seguintes propriedades:

PropriedadeTipoObrigatórioExemploSuporteDescriçãoPadrão
urlstringSimhttps://registry.npmjs.org/completoA url do registronpmjs
castringNão~./ssl/client.crt'completoLocal do certificado SSLNo default
timeoutstringNão100mscompletodefine novo tempo limite para o pedido30s
maxagestringNão10mcompletoo limite de tempo para o cache ser válido2m
fail_timeoutstringNão10mcompletodefine o tempo máximo quando uma solicitação se torna uma falha5m
max_failsnúmeroNão2completolimite máximo de falhas2
cachebooleanNão[true,false]>= 2.1armazenar em cache todos os tarballs remotos presentes no armazenamentotrue
authlistaNãoveja abaixo>= 2.5atribui o cabeçalho 'Autorização' mais infodisabled
headerslistaNãoauthorization: "Bearer SecretJWToken=="completolista de cabeçalhos customizados para o uplinkdisabled
strict_sslbooleanNão[true,false]>= 3.0Se verdadeiro, requer certificados SSL válidos.true
agent_optionsobjectNãomaxSockets: 10>= 4.0.2options for the HTTP or HTTPS Agent responsible for managing uplink connection persistence and reuse more infoNo default

Propriedade Auth

A propriedade auth permite que você use um token de autenticação com um uplink. Usando a variável de ambiente padrão:

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

ou através de uma variável de ambiente especificada:

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

token_env: FOO_TOKEN internamente vai usar process.env['FOO_TOKEN']

ou especificando diretamente um token:

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

Nota: token possui prioridade sobre token_env

Deves Saber

  • Os uplinks devem ser registros compatíveis com os npm endpoints. Por exemplo: verdaccio, sinopia@1.4.0, npmjs registry, yarn registry, JFrog, Nexus e mais.
  • Configurar o cache para false ajudará a economizar espaço no seu disco rígido. Isto vai evitar armazenar as tarballs mas irá manter o metadata em pastas.
  • Exceder com vários uplinks pode atrasar a busca por pacotes, pois para cada solicitação um cliente npm é encaminhado, o verdaccio, por sua vez, faz uma chamada para cada uplink.
  • O formato (timeout, maxage e fail_timeout) segue as unidades de medida NGINX