Inventory
.logorythm.toml
A single organizational inventory. Declare canonical services and aliases (env, host, config, topics) so the Logorythm resolver can fill gaps when automatic discovery is not enough.
That's it: create one file.
What it is
The .logorythm.toml file is the organization's explicit inventory. It declares which services exist, which repos implement them, and which names (env vars, hostnames, config paths, topics) map to each one.
It is your declared mapping: when an entry exists, confidence is high. One file per org, never required on every microservice.
When you need it
Automatic scan comes first. Use .logorythm.toml when env, host, or config values do not resolve on their own, or stay ambiguous across apps.
Typical cases: the same PAYMENTS_URL with conflicting values in different repos; an opaque legacy hostname (svc-notify) with no hint in code; an env var with no .env or compose file to bind it to a service.
Where to put it
Place a single .logorythm.toml in the org meta-config repo (for example harborstack/platform-config) or at the root of a monorepo.
Do not require one file per microservice. The inventory is a central declaration of the org environment.
How Logorythm uses it
When the inventory has a mapping, the explicit declaration wins over heuristics for that target. Without a file or without an entry, automatic discovery continues (literals, .env, compose, Helm, k8s, and other sources).
With a mapping, confidence is high via inventory. The inventory fills gaps; it does not replace repository access during the scan.
Schema (summary)
Two equivalent styles. Use style A for initial setup; style B for surgical patches.
Style A (service-centric)
[[service]] blocks with name and, optionally, repo, host_aliases, env_aliases, config_paths, topics_owned, and queues_owned.
Group each service's aliases in one block. Good for the org's initial inventory.
Style B (env-centric)
[[env_var]] entries (name, target_service, optional defined_in), [[config_path]] (path, target_service), and [[topic]] (name, owner).
Useful to disambiguate one env var or path without rewriting the whole service block.
Examples
Copy and adapt. Service names and aliases are fictional (harborstack). TOML keys stay in English.
Minimal env-centric
One env var points at a canonical service.
[[env_var]]
name = "BILLING_URL"
target_service = "billing"
Service-centric with aliases
Legacy hostnames and env vars in the same inventory.
[[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"]
With defined_in
Optional hint to the infra file that defines the value.
[[env_var]]
name = "BILLING_URL"
target_service = "billing"
defined_in = "infra/helm/values-prod.yaml#services.billing.url"
Best practices
Version the inventory in the org git. Keep one central file, not per-service copies.
Use stable service names. Prefer explicit aliases over fragile heuristics when discovery fails or stays ambiguous.
What this is not
It is not instrumentation, an agent, a sidecar, or an SDK. It does not replace repository access during the scan. It is not required to get started: onboarding stays automatic first.
Legacy CLI sections (for example [push] in old templates) are not part of the Cloud inventory.
Workspace graph performance
The interactive workspace graph uses WebGL when the browser can accelerate it on the GPU. Without that, the map still works on Canvas 2D, but pan and zoom on large systems can feel laggy.
In the workspace, open Settings → Graph rendering. If WebGL2 shows Unavailable or Software, turn on WebGL and hardware acceleration in your browser settings, restart the browser, and reload the workspace.
Everyday use needs that normal browser setting. The product does not require chrome://flags. If pan and zoom on large graphs stay laggy after hardware acceleration is on, some Chromium builds only reach a fast GPU path after you enable #enable-webgl-developer-extensions (WebGL Developer Extensions) and #enable-webgl-draft-extensions (WebGL Draft Extensions) at chrome://flags, then restart Chrome.