O registro de pacotes
Uma pasta com um índice e tarballs — servida por qualquer host, e sem servidor a manter.
O registro é estático: um index.json e uma pasta de .tar.gz. Não há servidor, não há banco, não há processo a manter no ar — e é por isso que ele vai junto com o site.
text
site/public/registry/
index.json o catalogo: nome, versoes, sha256
pacotes/
validador-1.0.0.tar.gz
tabela-1.1.0.tar.gz
...| Decisão | O que ela evita |
|---|---|
| estático | um serviço a manter, com disponibilidade e custo |
| índice num arquivo | uma consulta de rede por dependência |
| sha256 no índice | confiar no host do download |
| qualquer host serve | ficar preso a um fornecedor |
Publicar#
bash
cd packages/validador
dataforge pack
dataforge publish --registry=../../site/public/registry
# E o registro da comunidade, com conta:
dataforge login
dataforge publish
dataforge whoamiUm registro próprio#
Para uma empresa, o registro interno é uma pasta servida por nginx, por um bucket S3, ou pelo próprio GitHub Pages. O forge.toml aponta para ele.
toml
[registro]
url = "https://pacotes.minhaempresa.com"
# Ou por ambiente, que e o que um CI usa:
# DATAFORGE_REGISTRY=https://pacotes.minhaempresa.com
Continue em Publicar.