End-User Guide

Graph Fundamentals

Learn the core building blocks of rescile's directed property graph: resources (nodes) and relationships (edges).

Graph Fundamentals

The Building Blocks: Resources and Relationships

At its heart, rescile builds a directed property graph. This graph consists of two simple but powerful components, which are analogous to objects and pointers in programming:

  • Resources (Nodes): A resource represents an object instance in your environment, like an application, a server, or a firewall_rule. Every resource has:

    • A type (its class, e.g., "server").
    • A name (its primary key, e.g., "billing-api_server").
    • An optional set of properties (its member variables).
  • Relationships (Edges): A relationship is a directed link—a pointer or reference—from one resource to another. Every relationship has:

    • A type (e.g., "HOSTS"), describing the nature of the connection.
    • A direction (from a source to a target resource).
    • An optional set of properties.

Your rescile configuration is the source code that tells the rescile engine how to create, connect, and mutate these resources and relationships to form a complete model of your environment.