25 de março de 2026

TruthMetal: parâmetros distribuídos com imutabilidade garantida

Lançamos o TruthMetal, nosso serviço de configuração distribuída com ledger imutável e consenso SimpleQuorum, agora rodando em produção no cluster RBX.

Leandro Damasio | Fundador, RBX Systems

TruthMetal: parâmetros distribuídos com imutabilidade garantida

O problema que queríamos resolver

Sistemas distribuídos precisam de parâmetros de configuração que sejam auditáveis, versionados e consistentes entre serviços. Ferramentas como etcd ou Consul existem para isso, mas nenhuma delas aplica um modelo de imutabilidade real: toda alteração em um parâmetro canonical cria uma nova versão, nunca sobrescreve.

O que é o TruthMetal

TruthMetal é um serviço escrito em Go que implementa um ledger imutável de parâmetros. Cada parâmetro passa por um ciclo de vida definido:

  • SUBMITTED: parâmetro enviado para validação
  • VALIDATING: verificação de schema e constraints
  • CONSENSUS_PENDING: aguardando aprovação do quorum
  • CANONICAL: aprovado e ativo no cluster
  • REJECTED / REVOKED: negado ou revogado após consenso

A transição entre estados é registrada no ledger com timestamp e contexto. Nenhum registro é deletado.

Stack técnica

  • Go 1.22 + connect-go (gRPC e HTTP/JSON na mesma porta, sem grpc-gateway)
  • PostgreSQL 16 para o ledger e o store de parâmetros
  • Redis para cache de parâmetros canonical com TTL de 5 minutos
  • golang-migrate para migrações automáticas no startup

Disponibilidade

TruthMetal está em produção em api.truthmetal.rbx.ia.br e já é consumido internamente pelos produtos RBX. A API é pública e documentada via Protobuf.

← Voltar