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
  • Blueprint ID
  • Blueprint Descriptor
  • Example Service Blueprint
  • Learn More

Was this helpful?

  1. Basic Concepts

Blueprints

PreviousEntitiesNextProperty Data Types

Last updated 7 months ago

Was this helpful?

Every entity in Rely is associated with a blueprint that defines the entity's type. Like entities, every blueprint can be represented as a JSON file called a .

In , blueprints are schemas that outline the structure and attributes of entities such as services or resources. They provide a customizable framework for documenting and managing your software ecosystem, while entities serve as specific instances within this framework.

Blueprint ID

The blueprint ID is a unique identifier that's used throughout Rely.io to declare dependencies to other blueprints or look-up information. The blueprint ID must be globally unique across all blueprints.

An blueprint ID is usually the very first field in the JSON representation of a Rely.io blueprint.

Blueprint Descriptor

Regardless of whether you're using UI editing or GitOps to manage your blueprints, the definitions are backed by JSON files that's 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 base for entity and blueprint data, since it's an open spec with official support for extensions. That lets us extend it to be an entity or blueprint descriptor spec with optional usage of actual OpenAPI fields.

All blueprints have two other metadata fields besides the :

  • Name: A user-friendly display name.

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

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

  • Properties: These indicate the that properties in entities created from this blueprint can hold. Properties have an id, title and description of their own.

  • Relations: These indicate how entities created from this blueprint can be connected with other entities in Rely. Relations have an id, title and description of their own as well as a target blueprint. Relations can be both 1:1 or 1:many.

Example Service Blueprint

{
  "id": "service",
  "title": "Service",
  "description": "Representation of a service ",
  "icon": "terminal",
  "schemaProperties": {
    "type": "object",
    "properties": {
      "handles-pii": {
        "type": "boolean",
        "title": "Handles PII",
        "description": ""
      },
      "unit-tests-coverage": {
        "type": "number",
        "title": "Unit Tests Coverage",
        "description": ""
      },
      "helm-version": {
        "type": "string",
        "title": "Helm Chart Version",
        "description": ""
      },
      "lifecycle": {
        "enum": [
          "Production",
          "Experimental",
          "Deprecated"
        ],
        "type": "string",
        "title": "Lifecycle",
        "description": ""
      },
      "github-url": {
        "type": "string",
        "title": "Repo URL",
        "format": "url",
        "description": ""
      },
      "code-owners": {
        "type": "array",
        "title": "Code Owners",
        "items": {
          "type": "string"
        },
        "description": ""
      },
      "helmchartyaml": {
        "type": "string",
        "title": "Helm Chart",
        "format": "yaml",
        "description": ""
      },
      "readme-content": {
        "type": "string",
        "title": "README ",
        "format": "markdown",
        "description": ""
      }
    }
  },
  "relations": {
    "team": {
      "array": false,
      "title": "Team",
      "value": "team",
      "description": ""
    },
    "internal-dependencies": {
      "array": true,
      "title": "Dependencies",
      "value": "service",
      "description": ""
    },
    "running-instances": {
      "array": true,
      "title": "Running Instances",
      "value": "running-service",
      "description": ""
    }
  },
  "referenceProperties": {},
  "options": {
    "showInSideBar": true
  }
}

Learn More

Blueprint Actions
Blueprint Actions
Blueprint Actions
🌈
Rely.io
type of data
blueprint descriptor
blueprint id

Creating a new Blueprint
Updating a Blueprint
Tracking Blueprint Changes