From 306ca2f2ec0b6bd9870dec62fcb84ac3c81600b4 Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Fri, 11 Apr 2025 15:39:29 -0400 Subject: [PATCH 1/9] Update _index.md --- content/en/software_catalog/service_definitions/_index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/en/software_catalog/service_definitions/_index.md b/content/en/software_catalog/service_definitions/_index.md index a58e3b51c4349..12571952cde38 100644 --- a/content/en/software_catalog/service_definitions/_index.md +++ b/content/en/software_catalog/service_definitions/_index.md @@ -32,6 +32,9 @@ further_reading: Software Catalog uses definition schemas to store and display relevant metadata about your services. The schemas have built-in validation rules to ensure that only valid values are accepted. You can view warnings in the **Definition** tab on the Software Catalog side panel for any selected services. +{{< callout url="https://www.datadoghq.com/product-preview/internal-developer-portal/" d_target="#signupModal" btn_hidden="false" header="Opt in to the preview for the latest version of Software Catalog!" >}} +{{< /callout >}} + ## Supported versions Datadog supports four versions of the definition schema: From 7cfab30180d70d971526818c6fbcf785bfbb86e5 Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Fri, 11 Apr 2025 15:45:53 -0400 Subject: [PATCH 2/9] Update v3-0.md --- .../service_definitions/v3-0.md | 57 +++++++++++++++++-- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/content/en/software_catalog/service_definitions/v3-0.md b/content/en/software_catalog/service_definitions/v3-0.md index 0ba2fd4d322ee..de0b77d67986c 100644 --- a/content/en/software_catalog/service_definitions/v3-0.md +++ b/content/en/software_catalog/service_definitions/v3-0.md @@ -26,15 +26,24 @@ Schema v3.0 introduces several new features and enhancements to provide more fle ## Key features -- **Expanded data model**: v3.0 supports multiple kinds of entities. You can organize your systems using various components such as systems, services, queues, and datastores. +- **(GA) Expanded data model**: v3.0 supports multiple kinds of entities. You can organize your systems using various components such as systems, services, queues, and datastores. -- **Multi-ownership**: You can assign multiple owners to any objects defined through the v3.0 schema to specify multiple points of contact. +- **(GA) Multi-ownership**: You can assign multiple owners to any objects defined through the v3.0 schema to specify multiple points of contact. -- **Enhanced relationship mapping**: With APM and USM data, you can automatically detect dependencies among components. v3.0 supports manual declaration to augment auto-detected system topology to ensure a complete overview of how components interact within your systems. +- **(GA) Enhanced relationship mapping**: With APM and USM data, you can automatically detect dependencies among components. v3.0 supports manual declaration to augment auto-detected system topology to ensure a complete overview of how components interact within your systems. -- **Inheritance of system metadata**: Components within a system automatically inherit the system's metadata. It's no longer necessary to declare metadata for all related components one-by-one as in v2.1 and v2.2. +- **(GA)Inheritance of system metadata**: Components within a system automatically inherit the system's metadata. It's no longer necessary to declare metadata for all related components one-by-one as in v2.1 and v2.2. -- **Precise code location**: You can add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. +- **(GA) Precise code location**: You can add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. + +- **(PREVIEW) Custom Entities**: Define your own entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to only apply to specific entity types. + +- **(PREVIEW) Integrations**: Direct integrations with third-party tools to dynamically source information related to your components (e.g. Github pull requests, PagerDuty incidents, Gitlab pipelines, etc.). Report on and write scorecard rules against any third-party source + +- **(PREVIEW) Group by product or domain**: You can group systems or other components by products, offering multiple layers of hierachical grouping. + +{{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the preview for the latest version of Software Catalog!" >}} +{{< /callout >}} ## Metadata Schema v3.0 @@ -112,6 +121,44 @@ datadog: - fp2 {{< /code-block >}} +### Example YAML for `kind:custom.library` +{{< code-block lang="yaml" filename="entity.datadog.yaml" collapsible="true" >}} +apiVersion: v3 +kind: custom.library +metadata: + name: my-library + displayName: My Library + tags: + - tag:value + links: + - name: shopping-cart runbook + type: runbook + url: https://runbook/shopping-cart + - name: shopping-cart architecture + provider: gdoc + url: https://google.drive/shopping-cart-architecture + type: doc + - name: shopping-cart Wiki + provider: wiki + url: https://wiki/shopping-cart + type: doc + - name: shopping-cart source code + provider: github + url: http://github/shopping-cart + type: repo + contacts: + - name: Support Email + type: email + contact: team@shopping.com + - name: Support Slack + type: slack + contact: https://www.slack.com/archives/shopping-cart + owner: myteam + additionalOwners: + - name: opsTeam + type: operator +{{< /code-block >}} + ### Specify common components that are part of multiple systems If a single component is part of multiple systems, you must specify that component in the YAML for each system. For example, if the datastore `orders-postgres` is a component of both a postgres fleet and a web application, specify two YAMLs: From 5a167d8c788294ba5d824736ea7a6717faa106c3 Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Fri, 11 Apr 2025 15:46:32 -0400 Subject: [PATCH 3/9] Update _index.md --- content/en/software_catalog/service_definitions/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/software_catalog/service_definitions/_index.md b/content/en/software_catalog/service_definitions/_index.md index 12571952cde38..1081435a5121c 100644 --- a/content/en/software_catalog/service_definitions/_index.md +++ b/content/en/software_catalog/service_definitions/_index.md @@ -32,7 +32,7 @@ further_reading: Software Catalog uses definition schemas to store and display relevant metadata about your services. The schemas have built-in validation rules to ensure that only valid values are accepted. You can view warnings in the **Definition** tab on the Software Catalog side panel for any selected services. -{{< callout url="https://www.datadoghq.com/product-preview/internal-developer-portal/" d_target="#signupModal" btn_hidden="false" header="Opt in to the preview for the latest version of Software Catalog!" >}} +{{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the preview for the latest version of Software Catalog!" >}} {{< /callout >}} ## Supported versions From 4666a40db827d32d0e4eb60b268927b49e06627c Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Thu, 17 Apr 2025 13:25:44 -0400 Subject: [PATCH 4/9] Update content/en/software_catalog/service_definitions/_index.md Co-authored-by: domalessi <111786334+domalessi@users.noreply.github.com> --- content/en/software_catalog/service_definitions/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/software_catalog/service_definitions/_index.md b/content/en/software_catalog/service_definitions/_index.md index 1081435a5121c..ef605c40db326 100644 --- a/content/en/software_catalog/service_definitions/_index.md +++ b/content/en/software_catalog/service_definitions/_index.md @@ -32,7 +32,7 @@ further_reading: Software Catalog uses definition schemas to store and display relevant metadata about your services. The schemas have built-in validation rules to ensure that only valid values are accepted. You can view warnings in the **Definition** tab on the Software Catalog side panel for any selected services. -{{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the preview for the latest version of Software Catalog!" >}} +{{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the Preview for the latest version of Software Catalog." >}} {{< /callout >}} ## Supported versions From 21bf4afd68f76533846c267d0d40569cc6a8f179 Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Thu, 17 Apr 2025 13:26:04 -0400 Subject: [PATCH 5/9] Update content/en/software_catalog/service_definitions/v3-0.md Co-authored-by: domalessi <111786334+domalessi@users.noreply.github.com> --- content/en/software_catalog/service_definitions/v3-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/software_catalog/service_definitions/v3-0.md b/content/en/software_catalog/service_definitions/v3-0.md index de0b77d67986c..91cca24337914 100644 --- a/content/en/software_catalog/service_definitions/v3-0.md +++ b/content/en/software_catalog/service_definitions/v3-0.md @@ -36,7 +36,7 @@ Schema v3.0 introduces several new features and enhancements to provide more fle - **(GA) Precise code location**: You can add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. -- **(PREVIEW) Custom Entities**: Define your own entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to only apply to specific entity types. +- **(In Preview) Custom Entities**: Define custom entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to specific entity types. - **(PREVIEW) Integrations**: Direct integrations with third-party tools to dynamically source information related to your components (e.g. Github pull requests, PagerDuty incidents, Gitlab pipelines, etc.). Report on and write scorecard rules against any third-party source From afd2c2044e158b6b7dc78127be67df84e31ec183 Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Thu, 17 Apr 2025 13:26:15 -0400 Subject: [PATCH 6/9] Update content/en/software_catalog/service_definitions/v3-0.md Co-authored-by: domalessi <111786334+domalessi@users.noreply.github.com> --- content/en/software_catalog/service_definitions/v3-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/software_catalog/service_definitions/v3-0.md b/content/en/software_catalog/service_definitions/v3-0.md index 91cca24337914..83ed1569275ee 100644 --- a/content/en/software_catalog/service_definitions/v3-0.md +++ b/content/en/software_catalog/service_definitions/v3-0.md @@ -42,7 +42,7 @@ Schema v3.0 introduces several new features and enhancements to provide more fle - **(PREVIEW) Group by product or domain**: You can group systems or other components by products, offering multiple layers of hierachical grouping. -{{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the preview for the latest version of Software Catalog!" >}} +{{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the Preview for the latest version of Software Catalog." >}} {{< /callout >}} ## Metadata Schema v3.0 From 458faebae06682c958ed503ce223c03ee33f9a6b Mon Sep 17 00:00:00 2001 From: dgreen15 <daniel.green@datadoghq.com> Date: Thu, 17 Apr 2025 13:27:06 -0400 Subject: [PATCH 7/9] Update v3-0.md --- .../software_catalog/service_definitions/v3-0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/software_catalog/service_definitions/v3-0.md b/content/en/software_catalog/service_definitions/v3-0.md index 83ed1569275ee..7288cd9a87d2a 100644 --- a/content/en/software_catalog/service_definitions/v3-0.md +++ b/content/en/software_catalog/service_definitions/v3-0.md @@ -26,21 +26,21 @@ Schema v3.0 introduces several new features and enhancements to provide more fle ## Key features -- **(GA) Expanded data model**: v3.0 supports multiple kinds of entities. You can organize your systems using various components such as systems, services, queues, and datastores. +- **Expanded data model**: v3.0 supports multiple kinds of entities. You can organize your systems using various components such as systems, services, queues, and datastores. -- **(GA) Multi-ownership**: You can assign multiple owners to any objects defined through the v3.0 schema to specify multiple points of contact. +- **Multi-ownership**: You can assign multiple owners to any objects defined through the v3.0 schema to specify multiple points of contact. -- **(GA) Enhanced relationship mapping**: With APM and USM data, you can automatically detect dependencies among components. v3.0 supports manual declaration to augment auto-detected system topology to ensure a complete overview of how components interact within your systems. +- **Enhanced relationship mapping**: With APM and USM data, you can automatically detect dependencies among components. v3.0 supports manual declaration to augment auto-detected system topology to ensure a complete overview of how components interact within your systems. -- **(GA)Inheritance of system metadata**: Components within a system automatically inherit the system's metadata. It's no longer necessary to declare metadata for all related components one-by-one as in v2.1 and v2.2. +- **Inheritance of system metadata**: Components within a system automatically inherit the system's metadata. It's no longer necessary to declare metadata for all related components one-by-one as in v2.1 and v2.2. -- **(GA) Precise code location**: You can add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. +- **Precise code location**: You can add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. -- **(In Preview) Custom Entities**: Define custom entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to specific entity types. +- **(In Preview) Custom entities**: Define custom entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to specific entity types. -- **(PREVIEW) Integrations**: Direct integrations with third-party tools to dynamically source information related to your components (e.g. Github pull requests, PagerDuty incidents, Gitlab pipelines, etc.). Report on and write scorecard rules against any third-party source +- **(In Preview) Integrations**: Direct integrations with third-party tools to dynamically source information related to your components (e.g. Github pull requests, PagerDuty incidents, Gitlab pipelines, etc.). Report on and write scorecard rules against any third-party source -- **(PREVIEW) Group by product or domain**: You can group systems or other components by products, offering multiple layers of hierachical grouping. +- **(In Preview) Group by product or domain**: You can group systems or other components by products, offering multiple layers of hierachical grouping. {{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the Preview for the latest version of Software Catalog." >}} {{< /callout >}} From a8216e965250204f73893602c614688b3e81ba24 Mon Sep 17 00:00:00 2001 From: domalessi <111786334+domalessi@users.noreply.github.com> Date: Thu, 17 Apr 2025 13:30:37 -0400 Subject: [PATCH 8/9] Apply suggestions from code review --- content/en/software_catalog/service_definitions/v3-0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/software_catalog/service_definitions/v3-0.md b/content/en/software_catalog/service_definitions/v3-0.md index 7288cd9a87d2a..a33751c99134d 100644 --- a/content/en/software_catalog/service_definitions/v3-0.md +++ b/content/en/software_catalog/service_definitions/v3-0.md @@ -38,9 +38,9 @@ Schema v3.0 introduces several new features and enhancements to provide more fle - **(In Preview) Custom entities**: Define custom entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to specific entity types. -- **(In Preview) Integrations**: Direct integrations with third-party tools to dynamically source information related to your components (e.g. Github pull requests, PagerDuty incidents, Gitlab pipelines, etc.). Report on and write scorecard rules against any third-party source +- **(In Preview) Integrations**: Integrate with third-party tools to dynamically source information related to your components (for example, GitHub pull requests, PagerDuty incidents, and GitLab pipelines). Report on and write scorecard rules against any third-party source. -- **(In Preview) Group by product or domain**: You can group systems or other components by products, offering multiple layers of hierachical grouping. +- **(In Preview) Group by product or domain**: Organize components by product, enabling multiple layers of hierarchical grouping. {{< callout url="https://forms.gle/fwzarcSww6By7tn39" d_target="#signupModal" btn_hidden="false" header="Opt in to the Preview for the latest version of Software Catalog." >}} {{< /callout >}} From b94f741e7a5250adc2e6a079191647ca3121ec65 Mon Sep 17 00:00:00 2001 From: domalessi <111786334+domalessi@users.noreply.github.com> Date: Thu, 17 Apr 2025 13:31:44 -0400 Subject: [PATCH 9/9] Update content/en/software_catalog/service_definitions/v3-0.md --- content/en/software_catalog/service_definitions/v3-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/software_catalog/service_definitions/v3-0.md b/content/en/software_catalog/service_definitions/v3-0.md index a33751c99134d..c26a920b4c92c 100644 --- a/content/en/software_catalog/service_definitions/v3-0.md +++ b/content/en/software_catalog/service_definitions/v3-0.md @@ -34,7 +34,7 @@ Schema v3.0 introduces several new features and enhancements to provide more fle - **Inheritance of system metadata**: Components within a system automatically inherit the system's metadata. It's no longer necessary to declare metadata for all related components one-by-one as in v2.1 and v2.2. -- **Precise code location**: You can add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. +- **Precise code location**: Add the mapping of your code location for your service. The `codeLocations` section in v3.0 specifies the locations of the code with the repository that contains the code and its associated `paths`. The `paths` attribute is a list of [globs][4] that should match paths in the repository. - **(In Preview) Custom entities**: Define custom entity types beyond Service, System, Datastore, Queue, and API. Scope scorecards and actions to specific entity types.