Skip to content

Route nodes created from URL strings in config / non-source files #521

Closed

Description

@azuttre

Indexing a repo that contains only config files (no source, no HTTP route definitions) creates Route nodes for arbitrary URL-like strings in those files. In a three-file repro I get four Route nodes:

  • https://app.terraform.io (a Dependabot/Terraform registry URL, from dependabot.yaml)
  • https://auth.example.com/.well-known/jwks.json (from config.yaml)
  • http://order-service:8080/v2/orders/{id} (an upstream config value, from config.yaml)
  • curl --fail http://localhost:9000/ || exit 1 (a healthcheck shell command, from compose.yaml)

None of these is a route the service serves. They inflate the route set that get_architecture and cross-repo route matching rely on, which makes that downstream matching noisier.

Repro (self-contained, generic): https://gist.github.com/azuttre/21e5e85f7590261721e3af7aa079dbfb → issue-1-config-urls-as-routes.sh

Expected: no Route nodes. Got: the four strings above.

Env: v0.8.1, macOS (arm64).

Activity

  1. DeusData commented on Jun 21, 2026

    @DeusData
    Owner

    Hey, thx for reporting, will review as soon as there is time :)

  2. added
    bugSomething isn't working
    parsing/qualityGraph extraction bugs, false positives, missing edges
    on Jun 23, 2026
  3. mvanhorn commented on Jun 27, 2026

    @mvanhorn
    Contributor

    Implemented in #646 - restricts infra Route extraction to Terraform/HCL files (and bare URLs), so config/compose/dependabot/k8s files no longer emit spurious Routes; structured topic->endpoint bindings are unaffected.

  4. DeusData commented on Jun 28, 2026

    @DeusData
    Owner

    Reproduced in the cumulative bug-reproduction suite in #667 and fixed there: Route extraction now uses deny-wins-by-value so URL strings in config / non-source files (e.g. YAML config URLs) are no longer turned into Route nodes, with dedup for the config-URL case. The reproduction stays as a regression guard.

    (Lands when #667 merges.)

  5. added
    priority/normalStandard review queue; useful PR with ordinary maintainer urgency.
    on Jun 30, 2026
  6. DeusData commented on Jul 1, 2026

    @DeusData
    Owner

    Fixed on main in #667 (04697c6) via deny-wins-by-value config-URL filtering: an is_upstream_config_key denylist (jwks / registry / healthcheck / upstream / *_service_url / auth) plus route_sr_denied (rejects whitespace values + denylisted keys) and a two-pass dedup, so the bogus Route nodes from config-file URLs are no longer minted. The issue was resolved but left open — closing as completed. Thanks for the detailed three-file repro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingparsing/qualityGraph extraction bugs, false positives, missing edgespriority/normalStandard review queue; useful PR with ordinary maintainer urgency.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions