Inventário
.logorythm.toml
Inventário organizacional único. Declare serviços canônicos e aliases (env, host, config, tópicos) para o resolver do Logorythm preencher lacunas quando a descoberta automática não basta.
Só isso: criar um arquivo.
O que é
O arquivo .logorythm.toml é o inventário explícito da organização. Ele declara quais serviços existem, quais repos os implementam e quais nomes (env vars, hostnames, paths de config, tópicos) apontam para cada um.
É o mapping declarado por você: quando há entrada, a confiança fica alta. Um arquivo por org, nunca obrigatório em cada microserviço.
Quando você precisa
O scan automático vem primeiro. Use .logorythm.toml quando env, host ou config não resolvem sozinhos, ou ficam ambíguos entre apps.
Exemplos típicos: a mesma PAYMENTS_URL com valores conflitantes em repos diferentes; hostname legado opaco (svc-notify) sem pista no código; env var sem .env nem compose para amarrar ao serviço.
Onde colocar
Coloque um único .logorythm.toml no repo de meta-config da org (por exemplo harborstack/platform-config) ou na raiz de um monorepo.
Não exija um arquivo por microserviço. O inventário é declaração central do ambiente da org.
Como o Logorythm usa
Quando existe mapping no inventário, a declaração explícita vence a heurística para aquele alvo. Sem arquivo ou sem entrada, a descoberta automática segue (literais, .env, compose, Helm, k8s e demais fontes).
Com mapping, a confiança fica alta via inventário. O inventário preenche lacunas; não substitui o acesso aos repos no scan.
Schema (resumo)
Dois estilos equivalentes. Use o estilo A no setup inicial; o estilo B para ajustes pontuais.
Estilo A (service-centric)
Blocos [[service]] com name e, opcionalmente, repo, host_aliases, env_aliases, config_paths, topics_owned e queues_owned.
Agrupe aliases de cada serviço num bloco só. Bom para o inventário inicial da org.
Estilo B (env-centric)
Entradas [[env_var]] (name, target_service, defined_in opcional), [[config_path]] (path, target_service) e [[topic]] (name, owner).
Útil para desambiguar uma env var ou path sem reescrever o bloco inteiro do serviço.
Exemplos
Copie e adapte. Nomes de serviço e aliases são fictícios (harborstack). Chaves TOML permanecem em inglês.
Mínimo env-centric
Uma env var aponta para um serviço canônico.
[[env_var]]
name = "BILLING_URL"
target_service = "billing"
Service-centric com aliases
Hostnames legados e env vars no mesmo inventário.
[[env_var]]
name = "DOWNSTREAM_URL"
target_service = "billing"
[[env_var]]
name = "API_URL"
target_service = "payments"
[[service]]
name = "notifications"
host_aliases = ["svc-notify"]
[[service]]
name = "billing"
host_aliases = ["svc-billing-internal"]
env_aliases = ["BILLING_URL", "BILLING_SERVICE_URL"]
Com defined_in
Hint opcional para o arquivo de infra que define o valor.
[[env_var]]
name = "BILLING_URL"
target_service = "billing"
defined_in = "infra/helm/values-prod.yaml#services.billing.url"
Boas práticas
Versionar o inventário no git da org. Manter um arquivo central, não cópias por serviço.
Usar nomes de serviço estáveis. Preferir aliases explícitos a heurística frágil quando a descoberta falha ou fica ambígua.
O que isto não é
Não é instrumentação, agent, sidecar nem SDK. Não substitui o acesso aos repositórios no scan. Não é obrigatório para começar: o onboarding continua automático primeiro.
Seções legadas de CLI (por exemplo [push] em templates antigos) não fazem parte do inventário Cloud.
Desempenho do grafo no workspace
O grafo interativo do workspace usa WebGL quando o navegador consegue acelerá-lo na GPU. Sem isso o mapa continua em Canvas 2D, mas pan e zoom em sistemas grandes podem ficar lentos.
No workspace, abra Configurações → Renderização do grafo. Se o WebGL2 aparecer como Indisponível ou Software, ative WebGL e a aceleração de hardware nas configurações do navegador, reinicie o navegador e recarregue o workspace.
No uso diário basta essa configuração normal do navegador. O produto não exige chrome://flags. Se pan e zoom em grafos grandes continuarem lentos com a aceleração de hardware ligada, alguns builds do Chromium só entram num caminho GPU rápido depois de ativar #enable-webgl-developer-extensions (WebGL Developer Extensions) e #enable-webgl-draft-extensions (WebGL Draft Extensions) em chrome://flags e reiniciar o Chrome.