Data Model

Your Data Model is the structure formed by all the blueprints defined in your Rely.io account. It encompasses their properties and the relationships between them.

This model encapsulates the entire schema of how data is organized and interconnected within your system. It also determines all the available data that can be stored across your Software Catalog.

Default Data Model

Rely.io provides an out-of-the-box data model based on common use-cases, but you are free to tailor it to your specific needs and expand it by creating new blueprints or editing existing ones.

One of the most common ways of expanding your data model is by installing plugins. Each plugin has its own specific self-contained data model that will be added and integrated into your own upon plugin installation.

Below, we provide an overview of all the core default blueprints as well as its descriptors.

Team

The Team blueprint represents groups within an organization, highlighting the roles of members and leaders. It includes properties like leader, members, on-call responsibilities, and communication channels.

Blueprint Descriptor
{
  "id": "team",
  "title": "Team",
  "description": "",
  "icon": "person",
  "schemaProperties": {
    "type": "object",
    "properties": {
      "leader": {
        "type": "string",
        "title": "Leader",
        "description": ""
      },
      "members": {
        "type": "array",
        "title": "Members",
        "description": ""
      },
      "on-call": {
        "type": "string",
        "title": "On-call",
        "description": ""
      },
      "communication-channel": {
        "type": "string",
        "title": "Communication Channel",
        "format": "url",
        "description": ""
      }
    }
  },
  "relations": {},
  "referenceProperties": {},
  "options": {
    "showInSideBar": true,
    "propertiesGroups": {}
  }
}

Service

The Service blueprint defines an individual service within your software ecosystem, such as a micro-service. It includes properties related to the service's type, lifecycle, programming language, and various communication methods. Key relations include links to the teams responsible for the service and dependencies on other services, underlining its integration within the broader software architecture.

Blueprint Descriptor
{
  "id": "service",
  "title": "Service",
  "description": "Defines a service in your software ecosystem.",
  "icon": "terminal",
  "schemaProperties": {
    "type": "object",
    "properties": {
      "type": {
        "type": "string",
        "title": "Type",
        "description": "Type of the service"
      },
      "readme": {
        "type": "string",
        "title": "README",
        "format": "markdown",
        "description": ""
      },
      "language": {
        "type": "string",
        "title": "Language",
        "description": "The code language the service is written in"
      },
      "lifecycle": {
        "enum": [
          "Production",
          "Experimental",
          "Deprecated"
        ],
        "type": "string",
        "title": "Lifecycle",
        "description": ""
      },
      "repo-link": {
        "type": "string",
        "title": "Repository Link",
        "format": "url",
        "description": ""
      },
      "helm-chart": {
        "type": "string",
        "title": "Helm Chart",
        "format": "yaml",
        "description": ""
      },
      "description": {
        "type": "string",
        "title": "Description",
        "description": "A brief description of the service."
      },
      "open-api-schema": {
        "type": "string",
        "title": "OpenAPI Schema",
        "format": "url/openApi",
        "description": ""
      },
      "communication-method": {
        "enum": [
          "REST API",
          "GraphQL",
          "gRPC",
          "Message Queue",
          "WebSocket"
        ],
        "type": "string",
        "title": "Communication Method",
        "description": ""
      },
      "communication-channel": {
        "type": "string",
        "title": "Communication Channel",
        "format": "url",
        "description": ""
      },
      "observability-dashboard": {
        "type": "string",
        "title": "Logs",
        "format": "url",
        "description": ""
      }
    }
  },
  "relations": {
    "team": {
      "array": false,
      "title": "Team",
      "value": "team",
      "description": "The teams that operate this service."
    },
    "dependencies": {
      "array": true,
      "title": "Dependencies",
      "value": "service",
      "description": "Other services that this service relies on."
    }
  },
  "referenceProperties": {},
  "options": {
    "showInSideBar": true,
    "propertiesGroups": {}
  }
}

Resource

This blueprint is focused on physical or virtual resources, such as cloud infrastructure components. It includes details like resource type, location, and specific cloud service identifiers.

Blueprint Descriptor

Environment

The Environment blueprint encapsulates different deployment environments, such as production or testing.

Blueprint Descriptor

Running Service

A Running Service represents an instance of a service actively running within an environment. This blueprint includes detailed monitoring and configuration properties. Relations are established with the base Service blueprint, the Resources supporting the service, and the Environment in which it is deployed, illustrating the dynamic aspects of service management.

Blueprint Descriptor

Deployment

This blueprint details the deployment processes for services, including timing, approval, and status. It is related to both Services, indicating what is being deployed, and Running Services, showing the outcome of deployments. This highlights its role in tracking and managing deployment activities within the software lifecycle.

Blueprint Descriptor

Feature

The Feature blueprint is used to describe specific functionalities or features within services, including documentation, ownership, and related analytics dashboards. It is linked to Services that support the feature, pointing to its role in outlining how different services contribute to broader business functionalities.

Blueprint Descriptor

Domain

The Domain blueprint defines high-level business domains, such as functional areas or product lines. It includes properties concerning documentation, ownership, and business objectives. Relationships are formed with Features and Services, indicating the domain's encompassing role over specific functionalities and the services that implement them.

Blueprint Descriptor

Learn More

Blueprint Actions
Blueprint Actions

Last updated

Was this helpful?