Skip to main content

Data frontmatter API

Overview​

Data stores are just markdown files, with this comes the use of Content, MDX components and also front-matter.

Here is an example of of a basic data store.

/services/OrdersService/containers/OrdersDatabase/index.mdx (example)
---
# id of your data store, used for slugs and references in EventCatalog.
id: orders-db
# Display name of the data store, rendered in EventCatalog.
name: Orders DB
# Version of the data store
version: 1.0.0
# Type of the data store (e.g. database, cache, objectStore, searchIndex)
container_type: database
# Technology of the data store (e.g. postgres@14, redis@7, etc)
technology: postgres@14
# Classification of the data store (e.g. internal, external, etc)
classification: internal
# Retention of the data store (e.g. 7y, 10y, etc)
retention: 7y
# Residency of the data store (e.g. eu-west-1, us-east-1, etc)
residency: eu-west-1
# Badges to display
badges:
- content: "Core Data Store"
backgroundColor: "blue"
textColor: "white"
---

The orders database is a core data store for the orders domain.

<!-- Add any markdown you want, the data store will render in its own page /docs/containers/{Data Store}/{version} -->

Required fields​

id​

  • Type: string

Unique id of the data store. EventCatalog uses this for references and slugs.

Example
---
id: orders-db
---

name​

  • Type: string

Name of the data store this is used to display the name on the UI.

Example
---
name: Orders DB
---

version​

  • Type: string

Version of the data store.

Example
---
version: 0.0.1
---

container_type​

  • Type: string

Type of the data store.

Example
---
container_type: database
---

Options: database, cache, objectStore, searchIndex, dataWarehouse, dataLake, other

Optional fields​

summary​

Short summary of your data store, shown on data store summary pages.

Example
---
summary: |
Orders database is a core data store for the orders domain.
---

technology​

  • Type: string

Technology of the data store.

Example
---
technology: postgres@14
---

classification​

  • Type: string

Classification of the data store.

Example
---
classification: internal
---

Options: internal, external, confidential, regulated

retention​

  • Type: string

Retention of the data store.

Example
---
retention: 7y
---

residency​

  • Type: string

Residency of the data store.

Example
---
residency: eu-west-1
---

detailsPanel​

Override the default details panel for the page. You can use this show/hide areas of the details panel.

Details panel

Example
---
detailsPanel:
versions:
visible: false
owners:
visible: false
---

Options:

PropertyTypeRequiredDescription
versionsobjectNoAn object with a visible property to show/hide the versions section
changelogobjectNoAn object with a visible property to show/hide the changelog button
ownersobjectNoAn object with a visible property to show/hide the owners section
attachmentsobjectNoAn object with a visible property to show/hide the attachments section
repositoryobjectNoAn object with a visible property to show/hide the repository section

attachments​

An array of attachments for this resource type.

Example
---
attachments:
- url: https://example.com/erd/orders-database.png
title: ERD for Orders Database
description: Learn more about the ERD for the Orders Database.
type: 'architecture-decisions'
icon: FileTextIcon
---

Options:

The attachments can be a url (string) or an object with additional properties.

Object properties:

PropertyTypeRequiredDescription
urlstringYesThe url of the attachment
titlestringoptionalThe title of the attachment
descriptionstringoptionalThe description of the attachment
typestringoptionalThe type of the attachment, this will be used to group attachments together in the UI
iconstringoptionalThe icon of the attachment, you can pick from the lucide icons library.