The platform graph

Heplon builds a graph of your organisation's software platform from the data sources you connect. This page explains what the graph contains and how it is kept current.

A fixed set of types

The graph has a closed ontology: the set of node types and edge types is fixed. Anything that cannot be expressed in the defined types is not in the graph. This is intentional. A fixed ontology makes the graph queryable in a predictable way and prevents the model from becoming a catch-all that is hard to reason about.

Node types include, for example, Service, Library, Repository, Team, Datastore, Path, Goal, Policy, K8sCluster, and others.

Edges describe relationships

Edges connect nodes and carry a type that says what the relationship means. Edge types include DependsOn, OwnedBy, MemberOf, ContainsCodeFor, and others.

For example:

  • service:checkout --DependsOn--> service:payments
  • repository:checkout --ContainsCodeFor--> service:checkout
  • service:checkout --OwnedBy--> team:commerce
  • k8s-namespace:checkout-prod --PartOf--> k8s-cluster:prod

Every node and edge carries provenance: the evidence (source document, connector, ingestion run) it was derived from.

Built from connected data sources

The graph is assembled from whichever connectors you have configured, such as GitLab repositories or Kubernetes clusters. Each connector extracts facts from its source system and maps them into the ontology.

When you add a connector or a new resource appears in a connected system, the next ingest picks it up automatically. Ingest runs are triggered when you register a connector and re-run periodically.

Viewing the graph

The web UI shows the graph for your tenant at /graph in the sidebar. Nodes are rendered with their type and name; edges show the relationship between them. You can explore it to understand how services, teams, repositories, and infrastructure relate.