verdaccio-ssh-upload
v1.0.0
Published
Plugin do Verdaccio que envia tarballs publicados para um servidor remoto via SSH (SFTP)
Maintainers
Readme
verdaccio-ssh-upload
Plugin do Verdaccio que, após publicar/atualizar um pacote, extrai o tarball localmente e envia os arquivos descompactados para um servidor remoto via SSH (SFTP).
Requisitos
- Node.js >= 18
- Verdaccio 5 ou 6 (testado com API de middleware)
Instalação
Publique localmente ou instale direto do diretório do plugin no servidor que roda o Verdaccio.
# dentro do diretório do Verdaccio
npm i verdaccio-ssh-uploadConfiguração
No arquivo de configuração do Verdaccio (config.yaml):
middlewares:
verdaccio-ssh-upload:
enabled: true
host: "meu-servidor-remoto"
port: 22
username: "deploy"
# escolha um método de autenticação
# password: "minha-senha"
privateKey: "|~/.ssh/id_rsa" # prefixo |~ expande para $HOME
passphrase: "opcional"
remotePath: "/var/npmpackages" # diretório base remoto
mkdirp: trueApós publicar ou atualizar um pacote no Verdaccio, o plugin localiza o .tgz, extrai para uma pasta temporária e envia seu conteúdo descompactado para duas pastas no servidor remoto:
<remotePath>/<nome>@<versão><remotePath>/<nome>@latest(sempre substituída pela última versão)
Exemplo: /var/npmpackages/@scope/[email protected] e /var/npmpackages/@scope/pkg@latest.
Notas
- O plugin tenta inferir onde o Verdaccio salvou o tarball, e suporta layouts comuns do storage local. Se o seu layout for diferente, abra um PR para melhorar a descoberta.
- Logs aparecem com o prefixo
ssh-upload:no console do Verdaccio.
Segurança
Prefira autenticação por chave privada. Garanta permissões corretas da chave (chmod 600).
Licença
MIT
