Português
Nesta página

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.

.logorythm.toml
TOML
[[env_var]]
name = "BILLING_URL"
target_service = "billing"

Service-centric com aliases

Hostnames legados e env vars no mesmo inventário.

.logorythm.toml
TOML
[[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.

.logorythm.toml
TOML
[[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.