Todos os produtos do AWS Marketplace
FerroRepo
Armazenamento & dados

FerroRepo

Repositório universal de artefatos nativo em Rust

Binário único, sem JVM / DB Serviço da AWS que substitui: Sonatype Nexus / JFrog Artifactory
Obter no AWS Marketplace

Quando isso se paga?

O retorno depende da linha de custo e do escopo de substituição

O retorno deste produto depende do seu gasto atual na AWS, do escopo de substituição e do ambiente de execução. Use o simulador de fatura para identificar linhas de custo correspondentes e uma estimativa aproximada.

Estimar com sua fatura

Estime sua economia

Informe seu gasto ou uso mensal relevante para uma estimativa aproximada — sem upload de fatura.

Upload completo da fatura e outros produtos

Um repositório universal de artefatos nativo em Rust que roda como um único binário autocontido e fala os wire protocols do Sonatype Nexus Repository 3 e do JFrog Artifactory, para que clientes Maven, npm, pip, cargo, docker e helm existentes funcionem sem alterações. Sem JVM e sem banco de dados externo para operar (SQLite embutido + volume local ou object storage), com boot em bem menos de um segundo.

Uma implantação clássica de Nexus ou Artifactory precisa de uma JVM, gigabytes de heap e um banco de dados externo antes de servir um único artefato; o modo de binário único do FerroRepo substitui isso por um binário hardened distribuído como uma AMI autocontida. A v0.1.0 atende 12 de 18 protocolos de pacotes totalmente conectados com testes de conformidade in-tree — Maven, npm, OCI / Docker Registry v2, PyPI (família PEP 503), Cargo (sparse index), proxy de módulos Go, Raw/Generic, NuGet v3, RubyGems, Helm (classic + OCI), APT e YUM/DNF — além de uma superfície administrativa compatível com Nexus REST v1 e Artifactory. O storage é em camadas (hot/warm/cold), com deduplicação por endereçamento de conteúdo e backends de blob plugáveis S3 / GCS / Azure / MinIO. A autenticação vem ativada por padrão: leituras anônimas são permitidas, enquanto toda escrita e ação administrativa exige um principal autenticado.

O problema

Repositórios de artefatos clássicos, como o Sonatype Nexus Repository 3 e o JFrog Artifactory, exigem uma JVM, gigabytes de heap e um banco de dados externo para operar antes de servirem a um único artefato. Eles são pesados para inicializar e trazem uma sobrecarga operacional real. As equipes desejam um repositório mais leve e fácil de executar, mantendo inalteradas suas ferramentas existentes do Maven, npm, pip, cargo, docker e helm.

Como funciona

  1. 1

    Inicie um único binário autocontido

    O FerroRepo é executado como um único processo, sem JVM e sem banco de dados externo, persistindo os metadados no SQLite incorporado e os blobs em um volume local ou armazenamento de objetos. Ele inicia em bem menos de um segundo em uma instância pequena e é distribuído como uma AMI protegida e autocontida.

  2. 2

    Aponte os clientes existentes para ele sem alterações

    O FerroRepo implementa os protocolos HTTP de rede do Nexus Repository 3 e do Artifactory, permitindo que clientes Maven, npm, pip, cargo, docker, helm e apt/yum apontem para ele sem alterações. A versão v0.1.0 tem 12 de 18 protocolos totalmente integrados, com testes de conformidade in-tree.

  3. 3

    Armazenamento em camadas e desduplicação de blobs

    O armazenamento é em camadas (hot/warm/cold) com desduplicação de blobs endereçada por conteúdo. O backend de blobs é plugável entre S3 / GCS / Azure / MinIO via object_store, e a autenticação fica ativa por padrão — leituras anônimas são permitidas, enquanto qualquer escrita e ação administrativa exige um principal autenticado com o escopo correto.

Destaques

Compatível no wire protocol com Nexus 3 + Artifactory — ferramentas de build existentes (Maven / npm / pip / cargo / docker / helm) funcionam sem alterações.

Binário único sem JVM e sem DB externo; boot sub-segundo, com SQLite + storage de blobs plugável S3 / GCS / Azure / MinIO.

12 de 18 protocolos conectados com testes de conformidade; autenticação ativada por padrão (leitura anônima, escrita autenticada).

O que está incluído

  • AMI autocontida baseada no Amazon Linux 2023 (Graviton / arm64, executada em instâncias das classes t4g, c7g, m7g e r7g)
  • Servidor de binário único, sem JVM e sem banco de dados externo (metadados no SQLite incorporado, blobs em volume local ou armazenamento de objetos, inicialização em menos de um segundo)
  • 12 de 18 protocolos totalmente integrados (Maven, npm, OCI / Docker Registry v2, PyPI (família PEP 503), índice esparso do Cargo, proxy de módulo Go, Raw/Generic, NuGet v3, RubyGems Compact Index, Helm classic + OCI, APT, YUM/DNF) mais uma interface de administração compatível com Nexus REST v1 e Artifactory
  • Armazenamento em camadas hot/warm/cold com desduplicação de blobs endereçada por conteúdo
  • Backends de blob plugáveis para S3 / GCS / Azure / MinIO via object_store
  • Autenticação ativa por padrão (leituras anônimas permitidas; qualquer escrita e ação administrativa exige autenticação; usuários integrados ou federação OIDC; senha de administrador aleatória e exclusiva gerada no primeiro boot)
  • Suporte da abyo software ([email protected], primeira resposta em até um dia útil; a categoria Enterprise via Private Offer adiciona um SLA 24/7 com resposta em uma hora para problemas críticos)

Casos de uso

Equipes que desejam substituir o Nexus ou o Artifactory por um único binário que não requer JVM nem banco de dados externo para funcionar

Quem deseja um repositório de artefatos compatível a nível de protocolo que funcione com clientes Maven, npm, pip, cargo, docker e helm existentes sem alterações

Um registro de pacotes de nó único com inicialização rápida e baixo overhead para pipelines de CI/CD

Operação de um repositório compatível com espelhamento público que permite leituras anônimas enquanto protege escritas por meio de autenticação

FAQ

Quais ecossistemas de pacotes são suportados?

A v0.1.0 tem 12 de 18 protocolos totalmente integrados com testes de conformidade in-tree: Maven, npm, OCI / Docker Registry v2, PyPI (família PEP 503), Cargo (sparse index), Go module proxy, Raw/Generic, NuGet v3, RubyGems (Compact Index), Helm (clássico + OCI), APT e YUM/DNF. Os seis restantes (Conan, Conda, CRAN, Hex, CocoaPods, Bazel) têm escopo declarado e retornam 501 hoje. Sinceramente, esses protocolos não implementados ainda não funcionam.

Realmente não precisa de JVM nem de banco de dados externo?

Correto. O FerroRepo roda como um processo único sem JVM, persistindo metadados em um banco de dados SQLite incorporado e blobs em um volume local ou object storage. Não há banco de dados externo para gerenciar. Onde um Nexus ou Artifactory clássico precisa de uma JVM, gigabytes de heap e um banco de dados externo antes de servir um único artefato, o FerroRepo substitui isso por um único binário protegido que inicializa em bem menos de um segundo em uma instância pequena.

Como o armazenamento é organizado?

O armazenamento é dividido em camadas hot/warm/cold com desduplicação de blobs endereçados por conteúdo. O backend de blobs é plugável entre S3 / GCS / Azure / MinIO via object_store, enquanto os metadados residem no SQLite incorporado.

Como funciona a autenticação?

A autenticação vem ativada por padrão com uma postura segura por padrão. Leituras anônimas são permitidas, enquanto toda escrita e ação de administrador exige um principal autenticado com o escopo correto. Suporta usuários integrados ou federação com um emissor OIDC externo, e uma senha de administrador aleatória e exclusiva é gerada na primeira inicialização — nunca uma senha padrão ou compartilhada.

É possível escalar em múltiplos nós?

Atualmente não. A topologia suportada é single-node (single-binary) com metadados SQLite e a camada de blobs no S3. Uma topologia multi-node escalada horizontalmente com metadados Postgres está no roadmap e ainda não é suportada. Sinceramente, configurações multi-node não são oferecidas no momento.

Por que é mais barato

Pressuposto: repositório interno de artefatos para 50 devs com 3 TB de Maven / npm / Docker (us-east-1).

Sem FerroRepo (Nexus 3 auto-hospedado)
Builds / CI
JVM heap 4 GB
Nexus 3
m5.xlarge + RDS
blob store
Bucket S3
m5.xlarge sob demanda
$175 / mês
RDS PostgreSQL (db.t3.medium)
$150 / mês
Armazenamento S3 (3 TB)
$70 / mês
Total mensal
$395 / mês
Com FerroRepo
Builds / CI
Binário único
FerroRepo
t3.medium
Offload S3 + dedup
Bucket S3
Instância FerroRepo (t3.medium + taxa de software)
$80 / mês
Armazenamento S3 (2 TB após dedup)
$47 / mês
Total mensal
$127 / mês
−68%vs. Nexus 3 auto-hospedado

Dimensionar a instância FerroRepo conforme o número de devs

Tamanho da equipeInstância recomendadaCusto da instância FerroRepoTotal mensal vs. Nexus 3
~10 devst3.small$40 / mês$55 / mês (Nexus $300, −82 %)
~50 devst3.medium$80 / mês$127 / mês (Nexus $395, −68 %)
~500 devsm5.large$120 / mês$350 / mês (Nexus $700, −50 %)

Exemplo ilustrativo. Nexus 3 auto-hospedado usa uma configuração típica de m5.xlarge + RDS PostgreSQL (db.t3.medium) + offload no S3. JFrog Artifactory pago adicionaria $3k–$10k/mês só em licenças, então usamos Nexus 3 OSS como baseline. O FerroRepo é um binário único sem JVM e sem DB externo; blobs vão para o S3 e são deduplicados por hash de conteúdo.

Modelo de precificação

Taxa horária de software + EC2 (classe t4g / c7g / m7g / r7g, Arm). Medição por tipo de instância.

Obter no AWS Marketplace