Rely.io
  • 📌What is Rely.io?
  • 💡How Rely.io works
  • 📑Getting Started Guide
    • Create an account for your organization
    • Add your first plugin
    • Import services into the Service Catalog
    • Make the Software Catalog your own
    • What's Next?
  • 🌈Basic Concepts
    • Entities
    • Blueprints
    • Property Data Types
    • Catalogs
    • Data Model
    • Plugins
    • User Blueprints vs Plugin Blueprints
    • Actions and Automations
      • Automation Rules
      • Self-Service Actions
    • Home Pages
    • Scorecards
  • 📚Guides & Tutorials
    • Enhancing Deployment Visibility through Gitlab Pipelines and Rely's API
  • 🖥️Software Catalog
    • Overview and Use Cases
    • Usage Guide
      • Creating a new Entity
      • Updating an Entity
      • Tracking Entity Changes
      • Customizing an Entity's Page
      • Customizing a Catalog
      • Creating a new Blueprint & Catalog
      • Updating a Blueprint
      • Tracking Blueprint Changes
    • Relevant Guides
    • Troubleshooting
  • 🥇Scorecards
    • Overview and Use Cases
    • Usage Guide
      • Creating a Scorecard
      • Updating a Scorecard
      • Evaluating Performance
    • Scorecard Examples
      • Production Readiness Scorecard Example
      • DORA Metrics Scorecard Example
      • Operational Maturity Example
  • 🎨Home Pages
    • Overview and Use Cases
    • Usage Guide
      • Creating a New Tab
  • ⚡Self-Service Actions
    • Overview and Use Cases
    • Usage Guide
      • Configuring your Self Service Agent
      • Managing your Actions Catalog
      • Self-Service Actions as Code
      • Running Actions
      • Tracking Action Runs
  • ↗️Plugins & Automation
    • What happens when you install a Plugin?
    • Self-Hosting Plugins using Galaxy
    • 🤖Automation Rules
      • Overview and Use Cases
      • Usage Guide
        • Creating an Automation Rule
        • Updating an Automation Rule
        • Tracking Automation Changes
        • Managing Automation Suggestion
    • 🔌Plugin Installation Guides
      • ⭐AWS
      • Bitbucket
      • ⭐Flux
      • GitHub
      • GitLab
      • ⭐Google Cloud Platform (GCP)
      • ⭐Kubernetes
      • ⭐OpsGenie
      • ⭐PagerDuty
      • ⭐Snyk
      • ⭐SonarQube
  • 🌐Public API
    • Audit Logs
    • Automations & Self-Service Actions
    • Automation Suggestions
    • Blueprints
    • Dashboards & Views
    • Entities
    • Scorecards
    • Self-Service Action Runs
    • Time Series
    • Users
    • Webhooks
  • ⚙️Invite Users
  • 🛡️Security & Compliance
    • Single Sign-On (SSO)
      • SAML with Google Workspace
      • SAML with Microsoft Entra ID
      • SAML with Okta
      • OIDC with Okta
      • OIDC with Google Workspace
  • 🏥Troubleshooting
  • ❓FAQ
Powered by GitBook
On this page
  • Entity ID
  • Entity Descriptor
  • Example Service Entity
  • Learn More

Was this helpful?

  1. Basic Concepts

Entities

PreviousBasic ConceptsNextBlueprints

Last updated 7 months ago

Was this helpful?

At the core of is its software catalog. Each entity within this catalog can be represented as a JSON file, which we refer to as an .

Entity ID

Throughout our documentation, you'll encounter references to the "entity ID." This unique identifier is essential in for establishing relationships between entities and retrieving information. It's crucial to note that the entity ID must be globally unique across all entities.

An entity ID is usually the very first field in the .

Entity Descriptor

Regardless of whether you're using UI editing or GitOps to manage your entities, the definitions are backed by JSON files. Each file is a fully compliant OpenAPI 3 spec file, with our own specific extensions.

You can still use Rely even if you don't use OpenAPI/Swagger.

We use the OpenAPI specification as a foundation for entity and blueprint data. Since it's an open standard with official support for extensions, we can expand it to serve as an entity or blueprint descriptor specification. This approach allows for optional use of actual OpenAPI fields.

All entities have three other metadata fields besides the :

  • Name: A user-friendly display name.

  • Blueprint ID: A reference to the entity's type.

  • Description (Optional): A concise overview of the entity for further context.

An entity descriptor also contains all relevant data that makes up the entity itself which might envolve:

  • Properties: The defining characteristics and attributes of an entity.

  • Relations: These indicate how the entity is connected to or interacts with other entities within Rely.

  • Sources: These specify where the entity's data originates from in the case of automated integrations with external systems via Rely's plugins.

Example Service Entity

{
  "id": "advertising",
  "blueprintId": "service",
  "title": "Advertising",
  "description": "A Helm chart for deploying a Python app for advertising purposes",
  "properties": {
    "tier": "Customer Facing",
    "readme": "https://github.com/rely.io/demo-ads/-/blob/master/README.md?ref_type=heads",
    "on-call": "tim-cook@gmail.com",
    "version": "0.1.5",
    "language": "Python",
    "lifecycle": "Production",
    "repo-link": "https://github.com/rely/ads",
    "code-owners": [
      "elon-musk@gmail.com",
      "bill-gates@gmail.com",
      "daniel-ek@gmail.com",
      "sheryl-sandberg@gmail.com",
      "reed-hastings@gmail.com"
    ],
    "handles-pii": false,
    "monitor-links": [
      "https://grafana.com",
      "https://prometheus.com",
      "https://datadog.com"
    ],
    "quality_gate_status": "Passed",
    "unit-tests-coverage": 87,
    "communication-method": "GraphQL"
  },
  "relations": {
    "team": {
      "value": "marketing-and-advertising-team"
    },
    "internal-dependencies": {
      "value": [
        "anomaly-detector",
        "load-generator",
        "purchase-processor"
      ]
    },
    "running-instances": {
      "value": [
        "ads-staging",
        "ads-security",
        "ads-dev",
        "ads-sandbox",
        "ads-production"
      ]
    },
    "GitlabRepository": {
      "value": "adversiting"
    },
  },
  "sources": {
    "automation.rely.gitlab.v1.repository-to-service.gitlab.v1.repository.adversiting": {
      "type": "automation",
      "config": {
        "automationId": "rely.gitlab.v1.repository-to-service",
        "blueprintId": "gitlab.v1.repository",
        "entityId": "adversiting",
        "fields": [
          "title",
          "description",
          "properties/readme",
          "properties/language",
          "properties/repo-link",
          "relations/GitlabRepository"
        ]
      },
      "activeMappings": {
        "title": null,
        "description": null,
        "properties/readme": null,
        "properties/language": null,
        "properties/repo-link": null,
        "relations/GitlabRepository": null
      }
    },
}

Learn More

Entity Actions
Entity Actions
Entity Actions
Entity Actions
🌈
Rely.io
Rely.io
entity descriptor
entity's descriptor
entity id

Creating a new Entity
Updating an Entity
Tracking Entity Changes
Customizing an Entity's page