From f6178c6232a085f2693a338f853d3adf28bf363e Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 12:57:07 -0400 Subject: [PATCH 01/42] [cicd] add initial cicd attributes to registry Adjusts the original deployment environment attribute to match proposal. --- docs/attributes-registry/README.md | 5 + docs/attributes-registry/build.md | 28 +++ docs/attributes-registry/deployment.md | 8 +- docs/attributes-registry/incident.md | 25 +++ docs/attributes-registry/pipeline.md | 30 +++ docs/attributes-registry/scm.md | 39 ++++ docs/attributes-registry/test.md | 27 +++ docs/resource/deployment-environment.md | 2 +- model/registry/cicd.yaml | 198 ++++++++++++++++++ model/registry/deployment.yaml | 14 +- ....yaml => deployment_environment_name.yaml} | 2 +- schema-next.yaml | 7 + 12 files changed, 379 insertions(+), 6 deletions(-) create mode 100644 docs/attributes-registry/build.md create mode 100644 docs/attributes-registry/incident.md create mode 100644 docs/attributes-registry/pipeline.md create mode 100644 docs/attributes-registry/scm.md create mode 100644 docs/attributes-registry/test.md create mode 100644 model/registry/cicd.yaml rename model/resource/{deployment_environment.yaml => deployment_environment_name.yaml} (77%) diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index a9253c650b..8c1e2500b0 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -35,6 +35,7 @@ Currently, the following namespaces exist: - [Aspnetcore](aspnetcore.md) - [AWS](aws.md) - [Browser](browser.md) +- [Build](build.md) - [Client](client.md) - [Cloud](cloud.md) - [CloudEvents](cloudevents.md) @@ -60,6 +61,7 @@ Currently, the following namespaces exist: - [Heroku](heroku.md) - [Host](host.md) - [HTTP](http.md) +- [Incident](incident.md) - [iOS](ios.md) - [JVM](jvm.md) - [K8s](k8s.md) @@ -71,8 +73,10 @@ Currently, the following namespaces exist: - [OS](os.md) - [OTel](otel.md) - [Peer](peer.md) +- [Pipeline](pipeline.md) - [Process](process.md) - [RPC](rpc.md) +- [Scm](scm.md) - [Server](server.md) - [Service](service.md) - [Session](session.md) @@ -80,6 +84,7 @@ Currently, the following namespaces exist: - [Source](source.md) - [System](system.md) - [Telemetry](telemetry.md) +- [Test](test.md) - [Thread](thread.md) - [TLS](tls.md) - [URL](url.md) diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md new file mode 100644 index 0000000000..cb9338de6f --- /dev/null +++ b/docs/attributes-registry/build.md @@ -0,0 +1,28 @@ + + + + + + + + +# Build + + + +## Build Attributes + +This group describes attributes specific to builds (ci). + + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `build.build.artifact.id` | string | The id of the build artifact. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.artifact.name` | string | The name of the build artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.artifact.sha` | string | The sha (checksum) of the build artifact. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.attestation.id` | string | The id of the build attestation. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.attestation.sha` | string | The sha (checksum) of the build attestation. | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + diff --git a/docs/attributes-registry/deployment.md b/docs/attributes-registry/deployment.md index 97c68f3ebf..cf2a67e330 100644 --- a/docs/attributes-registry/deployment.md +++ b/docs/attributes-registry/deployment.md @@ -10,9 +10,11 @@ This document defines attributes for software deployments. -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------ | ----------------------- | ---------------------------------------------------------------- | -| `deployment.environment` | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ----------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------- | ---------------------------------------------------------------- | +| `deployment.environment.name` | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `deployment.id` | string | The id of the deployment. | `1208` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `deployment.name` | string | The name of the deployment. | `deploy my app`; `deploy-frontend` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** `deployment.environment` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. diff --git a/docs/attributes-registry/incident.md b/docs/attributes-registry/incident.md new file mode 100644 index 0000000000..8af944fdfb --- /dev/null +++ b/docs/attributes-registry/incident.md @@ -0,0 +1,25 @@ + + + + + + + + +# Incident + + + +## Incident Attributes + +This group describes attributes specific to incidents. + + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `incident.id` | string | The id of the incident. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `incident.name` | string | The name of the incident. | `incident-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `incident.severity` | string | The severity of the incident. | `critical`; `high`; `medium`; `low` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + diff --git a/docs/attributes-registry/pipeline.md b/docs/attributes-registry/pipeline.md new file mode 100644 index 0000000000..e0c3daa2d6 --- /dev/null +++ b/docs/attributes-registry/pipeline.md @@ -0,0 +1,30 @@ + + + + + + + + +# Pipeline + + + +## Pipeline Attributes + +This group describes attributes specific to pipelines. + + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `pipeline.pipeline.id` | string | The id of the pipeline. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.name` | string | The name of the pipeline. | `build_go_project`; `deploy_to_k8s`; `data pipeline`; `spark pipeline` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.id` | string | The id of the step within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.name` | string | The name of the step within a pipeline. | `golang lint`; `go build`; `go test`; `transform data` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.runner.system()` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.type` | string | The type of the step within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + diff --git a/docs/attributes-registry/scm.md b/docs/attributes-registry/scm.md new file mode 100644 index 0000000000..e23014b025 --- /dev/null +++ b/docs/attributes-registry/scm.md @@ -0,0 +1,39 @@ + + + + + + + + +# Scm + +- [Scm](#scm-attributes) +- [Scm Repository](#scm-repository-attributes) + + +## Scm Attributes + +This group defines the attributes for source control management (SCM) systems. + + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| + + + +## Scm Repository Attributes + +This group describes attributes specific to repositories within a source control management system. + + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md new file mode 100644 index 0000000000..1b3600c795 --- /dev/null +++ b/docs/attributes-registry/test.md @@ -0,0 +1,27 @@ + + + + + + + + +# Test + + + +## Test Suite Attributes + +This group describes attributes specific to tests. + + +| Attribute | Type | Description | Examples | Stability | +|---|---|---|---|---| +| `test.suite.case.id` | string | The id of the test case. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.name` | string | The name of the test case. | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.status` | string | The status of the test case. | `success`; `failure`; `skipped` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.id` | string | The id of the test suite. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The name of the test suite. | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + + diff --git a/docs/resource/deployment-environment.md b/docs/resource/deployment-environment.md index 834de7e586..b25d4f1527 100644 --- a/docs/resource/deployment-environment.md +++ b/docs/resource/deployment-environment.md @@ -15,7 +15,7 @@ | Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | |---|---|---|---|---|---| -| [`deployment.environment`](/docs/attributes-registry/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| [`deployment.environment.name`](/docs/attributes-registry/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** `deployment.environment` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml new file mode 100644 index 0000000000..4fd69b45c8 --- /dev/null +++ b/model/registry/cicd.yaml @@ -0,0 +1,198 @@ +groups: + - id: registry.scm + prefix: scm + type: attribute_group + brief: > + This group defines the attributes for source control management (SCM) systems. + - id: registry.scm.repository + prefix: repository + type: attribute_group + brief: > + This group describes attributes specific to repositories within a source control management system. + attributes: + - id: name + type: string + stability: experimental + brief: > + The name of the repository. + examples: ['opentelemetry-collector-contrib'] + - id: ref.name + type: string + stability: experimental + brief: > + The name of the ref (branch) in the repository. + examples: ['my-feature-branch'] + - id: ref.commit.sha + type: string + stability: experimental + brief: > + The sha of the commit the ref (branch) is pointing to in the repository. + examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] + - id: change.name + type: string + stability: experimental + brief: > + The name of the change (pull request / merge request) in the repository. + examples: ['pull-request-123'] + - id: change.id + type: string + stability: experimental + brief: > + The id of the change (pull request / merge request) in the repository. + examples: ['123'] + - id: registry.incident + prefix: incident + type: attribute_group + brief: > + This group describes attributes specific to incidents. + attributes: + - id: name + type: string + stability: experimental + brief: > + The name of the incident. + examples: ['incident-123'] + - id: id + type: string + stability: experimental + brief: > + The id of the incident. + examples: ['123'] + - id: severity + type: string + stability: experimental + brief: > + The severity of the incident. + examples: ['critical', 'high', 'medium', 'low'] + - id: registry.build + prefix: build + type: attribute_group + brief: > + This group describes attributes specific to builds (ci). + attributes: + - id: build.artifact.name + type: string + stability: experimental + brief: > + The name of the build artifact. + examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0'] + - id: build.artifact.id + type: string + stability: experimental + brief: > + The id of the build artifact. + examples: ['120912'] + - id: build.artifact.version + type: string + stability: experimental + brief: > + The version of the build artifact. + examples: ['v0.1.0', '1.2.1', '122691-build'] + - id: build.artifact.sha + type: string + stability: experimental + brief: > + The sha (checksum) of the build artifact. + examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] + - id: build.attestation.id + type: string + stability: experimental + brief: > + The id of the build attestation. + examples: ['123'] + - id: build.attestation.sha + type: string + stability: experimental + brief: > + The sha (checksum) of the build attestation. + examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] + - id: registry.test.suite + prefix: test + type: attribute_group + brief: > + This group describes attributes specific to tests. + attributes: + - id: suite.name + type: string + stability: experimental + brief: > + The name of the test suite. + examples: ['TestSuite1'] + - id: suite.id + type: string + stability: experimental + brief: > + The id of the test suite. + examples: ['123408'] + - id: suite.case.name + type: string + stability: experimental + brief: > + The name of the test case. + examples: ['TestCase1'] + - id: suite.case.id + type: string + stability: experimental + brief: > + The id of the test case. + examples: ['123445'] + - id: suite.case.status + type: string + stability: experimental + brief: > + The status of the test case. + examples: ['success', 'failure', 'skipped'] + - id: registry.pipeline + prefix: pipeline + type: attribute_group + brief: > + This group describes attributes specific to pipelines. + attributes: + - id: pipeline.name + type: string + stability: experimental + brief: > + The name of the pipeline. + examples: ['build_go_project', 'deploy_to_k8s', 'data pipeline', 'spark pipeline'] + - id: pipeline.id + type: string + stability: experimental + brief: > + The id of the pipeline. + examples: ['120912'] + - id: pipeline.step.name + type: string + stability: experimental + brief: > + The name of the step within a pipeline. + examples: ['golang lint', 'go build', 'go test', 'transform data'] + - id: pipeline.step.id + type: string + stability: experimental + brief: > + The id of the step within a pipeline. + examples: ['12097'] + - id: pipeline.step.type + type: string + stability: experimental + brief: > + The type of the step within a pipeline. + examples: ['build', 'test', 'deploy'] + - id: pipeline.step.runner.name + type: string + stability: experimental + brief: > + The name of the runner executing the step within a pipeline. + examples: ['ubuntu-runner-latest'] + - id: pipeline.step.runner.id + type: string + stability: experimental + brief: > + The id of the runner executing the step within a pipeline. + examples: ['1289'] + - id: pipeline.step.runner.system() + type: string + stability: experimental + brief: > + OS system attributes of the runner acorrding to the [OS system attributes](./os.md). + examples: ['system.os.name'] diff --git a/model/registry/deployment.yaml b/model/registry/deployment.yaml index ffc0050eab..d8e5e5d905 100644 --- a/model/registry/deployment.yaml +++ b/model/registry/deployment.yaml @@ -5,7 +5,19 @@ groups: brief: > This document defines attributes for software deployments. attributes: - - id: environment + - id: name + type: string + stability: experimental + brief: > + The name of the deployment. + examples: ['deploy my app', 'deploy-frontend'] + - id: id + type: string + stability: experimental + brief: > + The id of the deployment. + examples: ['1208'] + - id: environment.name type: string stability: experimental brief: > diff --git a/model/resource/deployment_environment.yaml b/model/resource/deployment_environment_name.yaml similarity index 77% rename from model/resource/deployment_environment.yaml rename to model/resource/deployment_environment_name.yaml index c9a54bc7fa..cd3f2ee518 100644 --- a/model/resource/deployment_environment.yaml +++ b/model/resource/deployment_environment_name.yaml @@ -4,5 +4,5 @@ groups: brief: > The software deployment. attributes: - - ref: deployment.environment + - ref: deployment.environment.name requirement_level: recommended diff --git a/schema-next.yaml b/schema-next.yaml index 519df3f8fb..0b9eaec16a 100644 --- a/schema-next.yaml +++ b/schema-next.yaml @@ -2,6 +2,13 @@ file_format: 1.1.0 schema_url: https://opentelemetry.io/schemas/next versions: next: + all: + changes: + # https://github.com/open-telemetry/semantic-conventions/pull + - rename_attributes: + attribute_map: + deployment.environment: deployment.environment.name + 1.26.0: metrics: changes: From 5efab61f21f1d776615a11d2422f28fed2bba9bf Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 16:19:32 -0400 Subject: [PATCH 02/42] [chore] fix deprecation and rerun checks --- docs/attributes-registry/build.md | 24 +++++++------------ docs/attributes-registry/deployment.md | 19 +++++++++++++++ docs/attributes-registry/incident.md | 16 ++++--------- docs/attributes-registry/pipeline.md | 28 ++++++++--------------- docs/attributes-registry/scm.md | 26 +++++++-------------- docs/attributes-registry/test.md | 20 +++++----------- model/registry/cicd.yaml | 2 +- model/registry/deprecated/deployment.yaml | 23 +++++++++++++++++++ 8 files changed, 79 insertions(+), 79 deletions(-) create mode 100644 model/registry/deprecated/deployment.yaml diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md index cb9338de6f..5e11bbe6b6 100644 --- a/docs/attributes-registry/build.md +++ b/docs/attributes-registry/build.md @@ -1,6 +1,3 @@ - - - @@ -9,20 +6,15 @@ # Build - - ## Build Attributes This group describes attributes specific to builds (ci). - -| Attribute | Type | Description | Examples | Stability | -|---|---|---|---|---| -| `build.build.artifact.id` | string | The id of the build artifact. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.artifact.name` | string | The name of the build artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.artifact.sha` | string | The sha (checksum) of the build artifact. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.attestation.id` | string | The id of the build attestation. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.attestation.sha` | string | The sha (checksum) of the build attestation. | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - +| Attribute | Type | Description | Examples | Stability | +| ------------------------------ | ------ | -------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `build.build.artifact.id` | string | The id of the build artifact. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.artifact.name` | string | The name of the build artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.artifact.sha` | string | The sha (checksum) of the build artifact. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.attestation.id` | string | The id of the build attestation. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.build.attestation.sha` | string | The sha (checksum) of the build attestation. | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/deployment.md b/docs/attributes-registry/deployment.md index cf2a67e330..f9f6a952c7 100644 --- a/docs/attributes-registry/deployment.md +++ b/docs/attributes-registry/deployment.md @@ -6,6 +6,9 @@ # Deployment +- [Deployment](#deployment-attributes) +- [Deployment Deprecated](#deployment-deprecated-attributes) + ## Deployment Attributes This document defines attributes for software deployments. @@ -23,3 +26,19 @@ considered to be identifying the same service: - `service.name=frontend`, `deployment.environment=production` - `service.name=frontend`, `deployment.environment=staging`. + +## Deployment Deprecated Attributes + +"Describes deprecated deployment attributes." + +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | ------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `deployment.environment` | string | 'Deprecated, use `deployment.environment` instead.' [2] | `staging`; `production` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Deprecated, use `deployment.environment` instead. | + +**[2]:** `deployment.environment` does not affect the uniqueness constraints defined through +the `service.namespace`, `service.name` and `service.instance.id` resource attributes. +This implies that resources carrying the following attribute combinations MUST be +considered to be identifying the same service: + +- `service.name=frontend`, `deployment.environment=production` +- `service.name=frontend`, `deployment.environment=staging`. diff --git a/docs/attributes-registry/incident.md b/docs/attributes-registry/incident.md index 8af944fdfb..1e61cd88c9 100644 --- a/docs/attributes-registry/incident.md +++ b/docs/attributes-registry/incident.md @@ -1,6 +1,3 @@ - - - @@ -9,17 +6,12 @@ # Incident - - ## Incident Attributes This group describes attributes specific to incidents. - -| Attribute | Type | Description | Examples | Stability | -|---|---|---|---|---| -| `incident.id` | string | The id of the incident. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `incident.name` | string | The name of the incident. | `incident-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------- | ------ | ----------------------------- | ----------------------------------- | ---------------------------------------------------------------- | +| `incident.id` | string | The id of the incident. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `incident.name` | string | The name of the incident. | `incident-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `incident.severity` | string | The severity of the incident. | `critical`; `high`; `medium`; `low` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - diff --git a/docs/attributes-registry/pipeline.md b/docs/attributes-registry/pipeline.md index e0c3daa2d6..8cffba9306 100644 --- a/docs/attributes-registry/pipeline.md +++ b/docs/attributes-registry/pipeline.md @@ -1,6 +1,3 @@ - - - @@ -9,22 +6,17 @@ # Pipeline - - ## Pipeline Attributes This group describes attributes specific to pipelines. - -| Attribute | Type | Description | Examples | Stability | -|---|---|---|---|---| -| `pipeline.pipeline.id` | string | The id of the pipeline. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.name` | string | The name of the pipeline. | `build_go_project`; `deploy_to_k8s`; `data pipeline`; `spark pipeline` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.id` | string | The id of the step within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.name` | string | The name of the step within a pipeline. | `golang lint`; `go build`; `go test`; `transform data` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.runner.system()` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.type` | string | The type of the step within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - +| Attribute | Type | Description | Examples | Stability | +| -------------------------------------- | ------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `pipeline.pipeline.id` | string | The id of the pipeline. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.name` | string | The name of the pipeline. | `build_go_project`; `deploy_to_k8s`; `data pipeline`; `spark pipeline` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.id` | string | The id of the step within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.name` | string | The name of the step within a pipeline. | `golang lint`; `go build`; `go test`; `transform data` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.runner.system` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.pipeline.step.type` | string | The type of the step within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/scm.md b/docs/attributes-registry/scm.md index e23014b025..6303633985 100644 --- a/docs/attributes-registry/scm.md +++ b/docs/attributes-registry/scm.md @@ -1,6 +1,3 @@ - - - @@ -12,28 +9,21 @@ - [Scm](#scm-attributes) - [Scm Repository](#scm-repository-attributes) - ## Scm Attributes This group defines the attributes for source control management (SCM) systems. - -| Attribute | Type | Description | Examples | Stability | -|---|---|---|---|---| - - +| Attribute | Type | Description | Examples | Stability | +| --------- | ---- | ----------- | -------- | --------- | ## Scm Repository Attributes This group describes attributes specific to repositories within a source control management system. - -| Attribute | Type | Description | Examples | Stability | -|---|---|---|---|---| -| `repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| --------------------------- | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - +| `repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 1b3600c795..7c32dac303 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -1,6 +1,3 @@ - - - @@ -9,19 +6,14 @@ # Test - - ## Test Suite Attributes This group describes attributes specific to tests. - -| Attribute | Type | Description | Examples | Stability | -|---|---|---|---|---| -| `test.suite.case.id` | string | The id of the test case. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.name` | string | The name of the test case. | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | ---------------------------- | ------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.id` | string | The id of the test case. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.name` | string | The name of the test case. | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `test.suite.case.status` | string | The status of the test case. | `success`; `failure`; `skipped` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.id` | string | The id of the test suite. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The name of the test suite. | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - - +| `test.suite.id` | string | The id of the test suite. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The name of the test suite. | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml index 4fd69b45c8..cb2ecc79e3 100644 --- a/model/registry/cicd.yaml +++ b/model/registry/cicd.yaml @@ -190,7 +190,7 @@ groups: brief: > The id of the runner executing the step within a pipeline. examples: ['1289'] - - id: pipeline.step.runner.system() + - id: pipeline.step.runner.system type: string stability: experimental brief: > diff --git a/model/registry/deprecated/deployment.yaml b/model/registry/deprecated/deployment.yaml new file mode 100644 index 0000000000..fb0a160b4e --- /dev/null +++ b/model/registry/deprecated/deployment.yaml @@ -0,0 +1,23 @@ +groups: + - id: registry.deployment.deprecated + prefix: deployment + type: attribute_group + brief: > + "Describes deprecated deployment attributes." + attributes: + - id: environment + type: string + stability: experimental + deprecated: 'Deprecated, use `deployment.environment` instead.' + brief: > + 'Deprecated, use `deployment.environment` instead.' + note: | + `deployment.environment` does not affect the uniqueness constraints defined through + the `service.namespace`, `service.name` and `service.instance.id` resource attributes. + This implies that resources carrying the following attribute combinations MUST be + considered to be identifying the same service: + + * `service.name=frontend`, `deployment.environment=production` + * `service.name=frontend`, `deployment.environment=staging`. + examples: ['staging', 'production'] + From c11986e93c23d6d0ad96d21cbed37a92f04ddd72 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 16:36:17 -0400 Subject: [PATCH 03/42] [chore] add changelog --- .chloggen/cicd-reg-attr.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 .chloggen/cicd-reg-attr.yaml diff --git a/.chloggen/cicd-reg-attr.yaml b/.chloggen/cicd-reg-attr.yaml new file mode 100755 index 0000000000..96f05ff84a --- /dev/null +++ b/.chloggen/cicd-reg-attr.yaml @@ -0,0 +1,25 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: cicd, deployment + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: + - CICD common attributes have been added to the registry. + - "`deployment.environment` has been deprecated and moved to `deployment.environment.name`." + + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: ["915", "832", "833"] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: From 2ac46acf442c745d1e3ad34159f9cee152330e2c Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 16:38:51 -0400 Subject: [PATCH 04/42] [chore] fix changelog issue numbers --- .chloggen/cicd-reg-attr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/cicd-reg-attr.yaml b/.chloggen/cicd-reg-attr.yaml index 96f05ff84a..62cebad73c 100755 --- a/.chloggen/cicd-reg-attr.yaml +++ b/.chloggen/cicd-reg-attr.yaml @@ -17,7 +17,7 @@ note: # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. # The values here must be integers. -issues: ["915", "832", "833"] +issues: [915, 832, 833] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. From f520284a22e520dba76631a77181749bf699f312 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 17:02:38 -0400 Subject: [PATCH 05/42] [chore] run fixes --- .chloggen/cicd-reg-attr.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.chloggen/cicd-reg-attr.yaml b/.chloggen/cicd-reg-attr.yaml index 62cebad73c..9f781a59cd 100755 --- a/.chloggen/cicd-reg-attr.yaml +++ b/.chloggen/cicd-reg-attr.yaml @@ -10,10 +10,7 @@ change_type: breaking component: cicd, deployment # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: - - CICD common attributes have been added to the registry. - - "`deployment.environment` has been deprecated and moved to `deployment.environment.name`." - +note: Adds CICD common attributes to the registry. # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. # The values here must be integers. @@ -22,4 +19,6 @@ issues: [915, 832, 833] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. # Use pipe (|) for multiline entries. -subtext: +subtext: | + - CICD common attributes have been added to the registry. + - "`deployment.environment` has been deprecated and moved to `deployment.environment.name`." From 13fbba7a276976ed0f7b7072777f5e70486ef918 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 17:09:17 -0400 Subject: [PATCH 06/42] [chore] run issue template gen --- .github/ISSUE_TEMPLATE/bug_report.yaml | 1 + .github/ISSUE_TEMPLATE/change_proposal.yaml | 1 + .github/ISSUE_TEMPLATE/new-conventions.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4aefd034cc..a9aac9cc04 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -23,6 +23,7 @@ body: - area:aspnetcore - area:aws - area:browser + - area:cicd - area:client - area:cloud - area:cloudevents diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index 2af8b08f70..d0d779b900 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -16,6 +16,7 @@ body: - area:aspnetcore - area:aws - area:browser + - area:cicd - area:client - area:cloud - area:cloudevents diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 0753cd8184..20b0ece74d 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -25,6 +25,7 @@ body: - area:aspnetcore - area:aws - area:browser + - area:cicd - area:client - area:cloud - area:cloudevents From 46f15572bea07f19c3da4340b179c4542e0bf0da Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 25 May 2024 17:34:21 -0400 Subject: [PATCH 07/42] [chore] fix yaml linting --- model/registry/deprecated/deployment.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/model/registry/deprecated/deployment.yaml b/model/registry/deprecated/deployment.yaml index fb0a160b4e..65f6992b43 100644 --- a/model/registry/deprecated/deployment.yaml +++ b/model/registry/deprecated/deployment.yaml @@ -20,4 +20,3 @@ groups: * `service.name=frontend`, `deployment.environment=production` * `service.name=frontend`, `deployment.environment=staging`. examples: ['staging', 'production'] - From 87d9dd6abf1098ad9d18ea0403967e4c8d7de206 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 27 May 2024 09:58:43 -0400 Subject: [PATCH 08/42] [chore] fixing up structure a bit --- docs/attributes-registry/build.md | 16 +- docs/attributes-registry/deployment.md | 6 +- docs/attributes-registry/pipeline.md | 20 +-- docs/attributes-registry/scm.md | 26 +-- model/registry/build.yaml | 44 +++++ model/registry/cicd.yaml | 198 ---------------------- model/registry/deprecated/deployment.yaml | 4 +- model/registry/incident.yaml | 26 +++ model/registry/pipeline.yaml | 56 ++++++ model/registry/scm.yaml | 37 ++++ model/registry/test.yaml | 38 +++++ 11 files changed, 232 insertions(+), 239 deletions(-) create mode 100644 model/registry/build.yaml delete mode 100644 model/registry/cicd.yaml create mode 100644 model/registry/incident.yaml create mode 100644 model/registry/pipeline.yaml create mode 100644 model/registry/scm.yaml create mode 100644 model/registry/test.yaml diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md index 5e11bbe6b6..321701522b 100644 --- a/docs/attributes-registry/build.md +++ b/docs/attributes-registry/build.md @@ -10,11 +10,11 @@ This group describes attributes specific to builds (ci). -| Attribute | Type | Description | Examples | Stability | -| ------------------------------ | ------ | -------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `build.build.artifact.id` | string | The id of the build artifact. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.artifact.name` | string | The name of the build artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.artifact.sha` | string | The sha (checksum) of the build artifact. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.attestation.id` | string | The id of the build attestation. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.build.attestation.sha` | string | The sha (checksum) of the build attestation. | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | -------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `build.artifact.id` | string | The id of the build artifact. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.name` | string | The name of the build artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.sha` | string | The sha (checksum) of the build artifact. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.id` | string | The id of the build attestation. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.sha` | string | The sha (checksum) of the build attestation. | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/deployment.md b/docs/attributes-registry/deployment.md index f9f6a952c7..ccbbce1c48 100644 --- a/docs/attributes-registry/deployment.md +++ b/docs/attributes-registry/deployment.md @@ -31,9 +31,9 @@ considered to be identifying the same service: "Describes deprecated deployment attributes." -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | ------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `deployment.environment` | string | 'Deprecated, use `deployment.environment` instead.' [2] | `staging`; `production` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Deprecated, use `deployment.environment` instead. | +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | ------------------------------------------------------------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `deployment.environment` | string | 'Deprecated, use `deployment.environment.name` instead.' [2] | `staging`; `production` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Deprecated, use `deployment.environment.name` instead. | **[2]:** `deployment.environment` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. diff --git a/docs/attributes-registry/pipeline.md b/docs/attributes-registry/pipeline.md index 8cffba9306..fdf8633cc1 100644 --- a/docs/attributes-registry/pipeline.md +++ b/docs/attributes-registry/pipeline.md @@ -10,13 +10,13 @@ This group describes attributes specific to pipelines. -| Attribute | Type | Description | Examples | Stability | -| -------------------------------------- | ------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `pipeline.pipeline.id` | string | The id of the pipeline. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.name` | string | The name of the pipeline. | `build_go_project`; `deploy_to_k8s`; `data pipeline`; `spark pipeline` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.id` | string | The id of the step within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.name` | string | The name of the step within a pipeline. | `golang lint`; `go build`; `go test`; `transform data` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.runner.system` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.pipeline.step.type` | string | The type of the step within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ----------------------------- | ------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `pipeline.id` | string | The id of the pipeline. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.name` | string | The name of the pipeline. | `build_go_project`; `deploy_to_k8s`; `data pipeline`; `spark pipeline` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.step.id` | string | The id of the step within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.step.name` | string | The name of the step within a pipeline. | `golang lint`; `go build`; `go test`; `transform data` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.step.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.step.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.step.runner.system` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pipeline.step.type` | string | The type of the step within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/scm.md b/docs/attributes-registry/scm.md index 6303633985..556980e2d5 100644 --- a/docs/attributes-registry/scm.md +++ b/docs/attributes-registry/scm.md @@ -6,24 +6,14 @@ # Scm -- [Scm](#scm-attributes) -- [Scm Repository](#scm-repository-attributes) - -## Scm Attributes - -This group defines the attributes for source control management (SCM) systems. - -| Attribute | Type | Description | Examples | Stability | -| --------- | ---- | ----------- | -------- | --------- | - ## Scm Repository Attributes -This group describes attributes specific to repositories within a source control management system. +This group defines the attributes for source control management (SCM) systems. -| Attribute | Type | Description | Examples | Stability | -| --------------------------- | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| -------------------- | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `scm.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/build.yaml b/model/registry/build.yaml new file mode 100644 index 0000000000..9f518f6c2e --- /dev/null +++ b/model/registry/build.yaml @@ -0,0 +1,44 @@ +groups: + - id: registry.build + prefix: build + type: attribute_group + brief: > + This group describes attributes specific to builds (ci). + attributes: + - id: artifact.name + type: string + stability: experimental + brief: > + The name of the build artifact. + examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0'] + - id: artifact.id + type: string + stability: experimental + brief: > + The id of the build artifact. + examples: ['120912'] + - id: artifact.version + type: string + stability: experimental + brief: > + The version of the build artifact. + examples: ['v0.1.0', '1.2.1', '122691-build'] + - id: artifact.sha + type: string + stability: experimental + brief: > + The sha (checksum) of the build artifact. + examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] + - id: attestation.id + type: string + stability: experimental + brief: > + The id of the build attestation. + examples: ['123'] + - id: attestation.sha + type: string + stability: experimental + brief: > + The sha (checksum) of the build attestation. + examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] + diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml deleted file mode 100644 index cb2ecc79e3..0000000000 --- a/model/registry/cicd.yaml +++ /dev/null @@ -1,198 +0,0 @@ -groups: - - id: registry.scm - prefix: scm - type: attribute_group - brief: > - This group defines the attributes for source control management (SCM) systems. - - id: registry.scm.repository - prefix: repository - type: attribute_group - brief: > - This group describes attributes specific to repositories within a source control management system. - attributes: - - id: name - type: string - stability: experimental - brief: > - The name of the repository. - examples: ['opentelemetry-collector-contrib'] - - id: ref.name - type: string - stability: experimental - brief: > - The name of the ref (branch) in the repository. - examples: ['my-feature-branch'] - - id: ref.commit.sha - type: string - stability: experimental - brief: > - The sha of the commit the ref (branch) is pointing to in the repository. - examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] - - id: change.name - type: string - stability: experimental - brief: > - The name of the change (pull request / merge request) in the repository. - examples: ['pull-request-123'] - - id: change.id - type: string - stability: experimental - brief: > - The id of the change (pull request / merge request) in the repository. - examples: ['123'] - - id: registry.incident - prefix: incident - type: attribute_group - brief: > - This group describes attributes specific to incidents. - attributes: - - id: name - type: string - stability: experimental - brief: > - The name of the incident. - examples: ['incident-123'] - - id: id - type: string - stability: experimental - brief: > - The id of the incident. - examples: ['123'] - - id: severity - type: string - stability: experimental - brief: > - The severity of the incident. - examples: ['critical', 'high', 'medium', 'low'] - - id: registry.build - prefix: build - type: attribute_group - brief: > - This group describes attributes specific to builds (ci). - attributes: - - id: build.artifact.name - type: string - stability: experimental - brief: > - The name of the build artifact. - examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0'] - - id: build.artifact.id - type: string - stability: experimental - brief: > - The id of the build artifact. - examples: ['120912'] - - id: build.artifact.version - type: string - stability: experimental - brief: > - The version of the build artifact. - examples: ['v0.1.0', '1.2.1', '122691-build'] - - id: build.artifact.sha - type: string - stability: experimental - brief: > - The sha (checksum) of the build artifact. - examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] - - id: build.attestation.id - type: string - stability: experimental - brief: > - The id of the build attestation. - examples: ['123'] - - id: build.attestation.sha - type: string - stability: experimental - brief: > - The sha (checksum) of the build attestation. - examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] - - id: registry.test.suite - prefix: test - type: attribute_group - brief: > - This group describes attributes specific to tests. - attributes: - - id: suite.name - type: string - stability: experimental - brief: > - The name of the test suite. - examples: ['TestSuite1'] - - id: suite.id - type: string - stability: experimental - brief: > - The id of the test suite. - examples: ['123408'] - - id: suite.case.name - type: string - stability: experimental - brief: > - The name of the test case. - examples: ['TestCase1'] - - id: suite.case.id - type: string - stability: experimental - brief: > - The id of the test case. - examples: ['123445'] - - id: suite.case.status - type: string - stability: experimental - brief: > - The status of the test case. - examples: ['success', 'failure', 'skipped'] - - id: registry.pipeline - prefix: pipeline - type: attribute_group - brief: > - This group describes attributes specific to pipelines. - attributes: - - id: pipeline.name - type: string - stability: experimental - brief: > - The name of the pipeline. - examples: ['build_go_project', 'deploy_to_k8s', 'data pipeline', 'spark pipeline'] - - id: pipeline.id - type: string - stability: experimental - brief: > - The id of the pipeline. - examples: ['120912'] - - id: pipeline.step.name - type: string - stability: experimental - brief: > - The name of the step within a pipeline. - examples: ['golang lint', 'go build', 'go test', 'transform data'] - - id: pipeline.step.id - type: string - stability: experimental - brief: > - The id of the step within a pipeline. - examples: ['12097'] - - id: pipeline.step.type - type: string - stability: experimental - brief: > - The type of the step within a pipeline. - examples: ['build', 'test', 'deploy'] - - id: pipeline.step.runner.name - type: string - stability: experimental - brief: > - The name of the runner executing the step within a pipeline. - examples: ['ubuntu-runner-latest'] - - id: pipeline.step.runner.id - type: string - stability: experimental - brief: > - The id of the runner executing the step within a pipeline. - examples: ['1289'] - - id: pipeline.step.runner.system - type: string - stability: experimental - brief: > - OS system attributes of the runner acorrding to the [OS system attributes](./os.md). - examples: ['system.os.name'] diff --git a/model/registry/deprecated/deployment.yaml b/model/registry/deprecated/deployment.yaml index 65f6992b43..76b1cf8726 100644 --- a/model/registry/deprecated/deployment.yaml +++ b/model/registry/deprecated/deployment.yaml @@ -8,9 +8,9 @@ groups: - id: environment type: string stability: experimental - deprecated: 'Deprecated, use `deployment.environment` instead.' + deprecated: 'Deprecated, use `deployment.environment.name` instead.' brief: > - 'Deprecated, use `deployment.environment` instead.' + 'Deprecated, use `deployment.environment.name` instead.' note: | `deployment.environment` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. diff --git a/model/registry/incident.yaml b/model/registry/incident.yaml new file mode 100644 index 0000000000..96c805986a --- /dev/null +++ b/model/registry/incident.yaml @@ -0,0 +1,26 @@ +groups: + - id: registry.incident + prefix: incident + type: attribute_group + brief: > + This group describes attributes specific to incidents. + attributes: + - id: name + type: string + stability: experimental + brief: > + The name of the incident. + examples: ['incident-123'] + - id: id + type: string + stability: experimental + brief: > + The id of the incident. + examples: ['123'] + - id: severity + type: string + stability: experimental + brief: > + The severity of the incident. + examples: ['critical', 'high', 'medium', 'low'] + diff --git a/model/registry/pipeline.yaml b/model/registry/pipeline.yaml new file mode 100644 index 0000000000..6271ddcc52 --- /dev/null +++ b/model/registry/pipeline.yaml @@ -0,0 +1,56 @@ +groups: + - id: registry.pipeline + prefix: pipeline + type: attribute_group + brief: > + This group describes attributes specific to pipelines. + attributes: + - id: name + type: string + stability: experimental + brief: > + The name of the pipeline. + examples: ['build_go_project', 'deploy_to_k8s', 'data pipeline', 'spark pipeline'] + - id: id + type: string + stability: experimental + brief: > + The id of the pipeline. + examples: ['120912'] + - id: step.name + type: string + stability: experimental + brief: > + The name of the step within a pipeline. + examples: ['golang lint', 'go build', 'go test', 'transform data'] + - id: step.id + type: string + stability: experimental + brief: > + The id of the step within a pipeline. + examples: ['12097'] + - id: step.type + type: string + stability: experimental + brief: > + The type of the step within a pipeline. + examples: ['build', 'test', 'deploy'] + - id: step.runner.name + type: string + stability: experimental + brief: > + The name of the runner executing the step within a pipeline. + examples: ['ubuntu-runner-latest'] + - id: step.runner.id + type: string + stability: experimental + brief: > + The id of the runner executing the step within a pipeline. + examples: ['1289'] + - id: step.runner.system + type: string + stability: experimental + brief: > + OS system attributes of the runner acorrding to the [OS system attributes](./os.md). + examples: ['system.os.name'] + diff --git a/model/registry/scm.yaml b/model/registry/scm.yaml new file mode 100644 index 0000000000..3cf0b47c34 --- /dev/null +++ b/model/registry/scm.yaml @@ -0,0 +1,37 @@ +groups: + - id: registry.scm.repository + prefix: scm + type: attribute_group + brief: > + This group defines the attributes for source control management (SCM) systems. + attributes: + - id: name + type: string + stability: experimental + brief: > + The name of the repository. + examples: ['opentelemetry-collector-contrib'] + - id: ref.name + type: string + stability: experimental + brief: > + The name of the ref (branch) in the repository. + examples: ['my-feature-branch'] + - id: ref.commit.sha + type: string + stability: experimental + brief: > + The sha of the commit the ref (branch) is pointing to in the repository. + examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] + - id: change.name + type: string + stability: experimental + brief: > + The name of the change (pull request / merge request) in the repository. + examples: ['pull-request-123'] + - id: change.id + type: string + stability: experimental + brief: > + The id of the change (pull request / merge request) in the repository. + examples: ['123'] diff --git a/model/registry/test.yaml b/model/registry/test.yaml new file mode 100644 index 0000000000..88a5411136 --- /dev/null +++ b/model/registry/test.yaml @@ -0,0 +1,38 @@ +groups: + - id: registry.test.suite + prefix: test + type: attribute_group + brief: > + This group describes attributes specific to tests. + attributes: + - id: suite.name + type: string + stability: experimental + brief: > + The name of the test suite. + examples: ['TestSuite1'] + - id: suite.id + type: string + stability: experimental + brief: > + The id of the test suite. + examples: ['123408'] + - id: suite.case.name + type: string + stability: experimental + brief: > + The name of the test case. + examples: ['TestCase1'] + - id: suite.case.id + type: string + stability: experimental + brief: > + The id of the test case. + examples: ['123445'] + - id: suite.case.status + type: string + stability: experimental + brief: > + The status of the test case. + examples: ['success', 'failure', 'skipped'] + From 3c4f8cddb1935e5c73fb4e776850dc1dee8df38d Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 27 May 2024 10:23:32 -0400 Subject: [PATCH 09/42] [chore] fix yamllint errors --- model/registry/build.yaml | 1 - model/registry/incident.yaml | 1 - model/registry/pipeline.yaml | 1 - model/registry/test.yaml | 1 - 4 files changed, 4 deletions(-) diff --git a/model/registry/build.yaml b/model/registry/build.yaml index 9f518f6c2e..42ad5fbfe0 100644 --- a/model/registry/build.yaml +++ b/model/registry/build.yaml @@ -41,4 +41,3 @@ groups: brief: > The sha (checksum) of the build attestation. examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] - diff --git a/model/registry/incident.yaml b/model/registry/incident.yaml index 96c805986a..36eaa56df5 100644 --- a/model/registry/incident.yaml +++ b/model/registry/incident.yaml @@ -23,4 +23,3 @@ groups: brief: > The severity of the incident. examples: ['critical', 'high', 'medium', 'low'] - diff --git a/model/registry/pipeline.yaml b/model/registry/pipeline.yaml index 6271ddcc52..fccb2e6458 100644 --- a/model/registry/pipeline.yaml +++ b/model/registry/pipeline.yaml @@ -53,4 +53,3 @@ groups: brief: > OS system attributes of the runner acorrding to the [OS system attributes](./os.md). examples: ['system.os.name'] - diff --git a/model/registry/test.yaml b/model/registry/test.yaml index 88a5411136..6ddd98fbbc 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -35,4 +35,3 @@ groups: brief: > The status of the test case. examples: ['success', 'failure', 'skipped'] - From 2ece67333789008ab997552e4683f341d9916101 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Sat, 1 Jun 2024 10:37:17 -0400 Subject: [PATCH 10/42] [chore] adjust scm, deployment, and deprecated deployment based on feedback --- docs/attributes-registry/deployment.md | 20 ++++++-------------- docs/attributes-registry/scm.md | 14 +++++++------- docs/resource/deployment-environment.md | 6 +++--- model/registry/deployment.yaml | 6 +++--- model/registry/deprecated/deployment.yaml | 8 -------- model/registry/scm.yaml | 10 +++++----- 6 files changed, 24 insertions(+), 40 deletions(-) diff --git a/docs/attributes-registry/deployment.md b/docs/attributes-registry/deployment.md index ccbbce1c48..71aefb7c51 100644 --- a/docs/attributes-registry/deployment.md +++ b/docs/attributes-registry/deployment.md @@ -19,26 +19,18 @@ This document defines attributes for software deployments. | `deployment.id` | string | The id of the deployment. | `1208` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deployment.name` | string | The name of the deployment. | `deploy my app`; `deploy-frontend` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** `deployment.environment` does not affect the uniqueness constraints defined through +**[1]:** `deployment.environment.name` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. This implies that resources carrying the following attribute combinations MUST be considered to be identifying the same service: -- `service.name=frontend`, `deployment.environment=production` -- `service.name=frontend`, `deployment.environment=staging`. +- `service.name=frontend`, `deployment.environment.name=production` +- `service.name=frontend`, `deployment.environment.name=staging`. ## Deployment Deprecated Attributes "Describes deprecated deployment attributes." -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | ------------------------------------------------------------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `deployment.environment` | string | 'Deprecated, use `deployment.environment.name` instead.' [2] | `staging`; `production` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Deprecated, use `deployment.environment.name` instead. | - -**[2]:** `deployment.environment` does not affect the uniqueness constraints defined through -the `service.namespace`, `service.name` and `service.instance.id` resource attributes. -This implies that resources carrying the following attribute combinations MUST be -considered to be identifying the same service: - -- `service.name=frontend`, `deployment.environment=production` -- `service.name=frontend`, `deployment.environment=staging`. +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | -------------------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------- | +| `deployment.environment` | string | 'Deprecated, use `deployment.environment.name` instead.' | `staging`; `production` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)
Deprecated, use `deployment.environment.name` instead. | diff --git a/docs/attributes-registry/scm.md b/docs/attributes-registry/scm.md index 556980e2d5..4206a6d76d 100644 --- a/docs/attributes-registry/scm.md +++ b/docs/attributes-registry/scm.md @@ -10,10 +10,10 @@ This group defines the attributes for source control management (SCM) systems. -| Attribute | Type | Description | Examples | Stability | -| -------------------- | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `scm.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `scm.repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/resource/deployment-environment.md b/docs/resource/deployment-environment.md index b25d4f1527..fdb423790d 100644 --- a/docs/resource/deployment-environment.md +++ b/docs/resource/deployment-environment.md @@ -17,13 +17,13 @@ |---|---|---|---|---|---| | [`deployment.environment.name`](/docs/attributes-registry/deployment.md) | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** `deployment.environment` does not affect the uniqueness constraints defined through +**[1]:** `deployment.environment.name` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. This implies that resources carrying the following attribute combinations MUST be considered to be identifying the same service: -* `service.name=frontend`, `deployment.environment=production` -* `service.name=frontend`, `deployment.environment=staging`. +* `service.name=frontend`, `deployment.environment.name=production` +* `service.name=frontend`, `deployment.environment.name=staging`. diff --git a/model/registry/deployment.yaml b/model/registry/deployment.yaml index d8e5e5d905..f3ec81b000 100644 --- a/model/registry/deployment.yaml +++ b/model/registry/deployment.yaml @@ -24,11 +24,11 @@ groups: Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). note: | - `deployment.environment` does not affect the uniqueness constraints defined through + `deployment.environment.name` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. This implies that resources carrying the following attribute combinations MUST be considered to be identifying the same service: - * `service.name=frontend`, `deployment.environment=production` - * `service.name=frontend`, `deployment.environment=staging`. + * `service.name=frontend`, `deployment.environment.name=production` + * `service.name=frontend`, `deployment.environment.name=staging`. examples: ['staging', 'production'] diff --git a/model/registry/deprecated/deployment.yaml b/model/registry/deprecated/deployment.yaml index 76b1cf8726..fa02533e25 100644 --- a/model/registry/deprecated/deployment.yaml +++ b/model/registry/deprecated/deployment.yaml @@ -11,12 +11,4 @@ groups: deprecated: 'Deprecated, use `deployment.environment.name` instead.' brief: > 'Deprecated, use `deployment.environment.name` instead.' - note: | - `deployment.environment` does not affect the uniqueness constraints defined through - the `service.namespace`, `service.name` and `service.instance.id` resource attributes. - This implies that resources carrying the following attribute combinations MUST be - considered to be identifying the same service: - - * `service.name=frontend`, `deployment.environment=production` - * `service.name=frontend`, `deployment.environment=staging`. examples: ['staging', 'production'] diff --git a/model/registry/scm.yaml b/model/registry/scm.yaml index 3cf0b47c34..12f43dff27 100644 --- a/model/registry/scm.yaml +++ b/model/registry/scm.yaml @@ -5,31 +5,31 @@ groups: brief: > This group defines the attributes for source control management (SCM) systems. attributes: - - id: name + - id: repository.name type: string stability: experimental brief: > The name of the repository. examples: ['opentelemetry-collector-contrib'] - - id: ref.name + - id: repository.ref.name type: string stability: experimental brief: > The name of the ref (branch) in the repository. examples: ['my-feature-branch'] - - id: ref.commit.sha + - id: repository.ref.commit.sha type: string stability: experimental brief: > The sha of the commit the ref (branch) is pointing to in the repository. examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] - - id: change.name + - id: repository.change.name type: string stability: experimental brief: > The name of the change (pull request / merge request) in the repository. examples: ['pull-request-123'] - - id: change.id + - id: repository.change.id type: string stability: experimental brief: > From 2d557c66786b3219160bd46a5612bb60ec4329b8 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Thu, 6 Jun 2024 22:25:02 -0400 Subject: [PATCH 11/42] [chore] add cicd, remove pipeline, update test --- .gitignore | 5 +- docs/attributes-registry/README.md | 2 +- docs/attributes-registry/cicd.md | 30 ++++++++++ docs/attributes-registry/scm.md | 14 ++--- docs/attributes-registry/test.md | 47 ++++++++++++--- model/registry/cicd.yaml | 92 ++++++++++++++++++++++++++++++ model/registry/pipeline.yaml | 55 ------------------ model/registry/scm.yaml | 2 +- model/registry/test.yaml | 89 +++++++++++++++++++++++++---- schema-next.yaml | 2 +- 10 files changed, 252 insertions(+), 86 deletions(-) create mode 100644 docs/attributes-registry/cicd.md create mode 100644 model/registry/cicd.yaml delete mode 100644 model/registry/pipeline.yaml diff --git a/.gitignore b/.gitignore index 46abe54e81..8e0d07a07f 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,7 @@ package-lock.json .vscode # Visual Studio -.vs/ \ No newline at end of file +.vs/ + +# Python +venv diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 8c1e2500b0..c1a93406ef 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -36,6 +36,7 @@ Currently, the following namespaces exist: - [AWS](aws.md) - [Browser](browser.md) - [Build](build.md) +- [Cicd](cicd.md) - [Client](client.md) - [Cloud](cloud.md) - [CloudEvents](cloudevents.md) @@ -73,7 +74,6 @@ Currently, the following namespaces exist: - [OS](os.md) - [OTel](otel.md) - [Peer](peer.md) -- [Pipeline](pipeline.md) - [Process](process.md) - [RPC](rpc.md) - [Scm](scm.md) diff --git a/docs/attributes-registry/cicd.md b/docs/attributes-registry/cicd.md new file mode 100644 index 0000000000..3ccbee3d21 --- /dev/null +++ b/docs/attributes-registry/cicd.md @@ -0,0 +1,30 @@ + + + + + +# Cicd + +## Cicd Pipeline Attributes + +This group describes attributes specific to pipelines within a Continuous Integration and Continuous Deployment (CI/CD) system. A [pipeline]() in this case is a series of steps that are performed in order to deliver a new version of software. This aligns with the [Britannica](https://www.britannica.com/dictionary/pipeline) definition of a pipeline where a **pipeline** is the system for developing and producing something. In the context of CI/CD, a pipeline produces or delivers software. + +| Attribute | Type | Description | Examples | Stability | +| ---------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `cicd.pipeline.name` | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.run.id` | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.step.runner.system` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.name` | string | The human readable name of a task within a pipeline. Task here most closely aligns with a [computing process]() in a pipeline. Other terms for tasks include commands, steps, and procedures. | `Run GoLang Linter`; `Go Build`; `go-test`; `deploy_binary` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.run.id` | string | The unique identifier of a task run within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.type` | string | The type of the task within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`cicd.pipeline.task.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| -------- | ----------- | ---------------------------------------------------------------- | +| `build` | build | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test` | test | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `deploy` | deploy | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/scm.md b/docs/attributes-registry/scm.md index 4206a6d76d..dd5421cde2 100644 --- a/docs/attributes-registry/scm.md +++ b/docs/attributes-registry/scm.md @@ -10,10 +10,10 @@ This group defines the attributes for source control management (SCM) systems. -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `scm.repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------------------ | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `scm.repository.repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `scm.repository.repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 7c32dac303..80a2038fe2 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -8,12 +8,41 @@ ## Test Suite Attributes -This group describes attributes specific to tests. - -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | ---------------------------- | ------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.id` | string | The id of the test case. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.name` | string | The name of the test case. | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.status` | string | The status of the test case. | `success`; `failure`; `skipped` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.id` | string | The id of the test suite. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The name of the test suite. | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). + +| Attribute | Type | Description | Examples | Stability | +| ---------------------------------- | ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.execution.status` | string | The status of the test case execution, meaning the actual test result. | `passed`; `failed` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.status` | string | The status of the test case run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`test.suite.case.execution.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| -------- | ----------- | ---------------------------------------------------------------- | +| `passed` | passed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failed` | failed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`test.suite.case.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| ----------- | ----------- | ---------------------------------------------------------------- | +| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`test.suite.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| ----------- | ----------- | ---------------------------------------------------------------- | +| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml new file mode 100644 index 0000000000..775a5c8a27 --- /dev/null +++ b/model/registry/cicd.yaml @@ -0,0 +1,92 @@ +groups: + # - id: registry.cicd + # prefix: cicd + # type: attribute_group + # brief: > + # This group describes attributes specific to Continuous Integration and + # Continuous Deployment (CI/CD) systems where the sub-attributes can have + # many different meanings across different systems. + - id: registry.cicd.pipeline + prefix: cicd.pipeline + type: attribute_group + brief: > + This group describes attributes specific to pipelines within a Continuous + Integration and Continuous Deployment (CI/CD) system. A + [pipeline](https://en.wikipedia.org/wiki/Pipeline_(computing)) in this + case is a series of steps that are performed in order to deliver a new + version of software. This aligns with the + [Britannica](https://www.britannica.com/dictionary/pipeline) definition + of a pipeline where a **pipeline** is the system for developing and + producing something. In the context of CI/CD, a pipeline produces or + delivers software. + attributes: + - id: name + type: string + stability: experimental + brief: > + The human readable name of the pipeline within a CI/CD system. + examples: ['Build and Test', 'Lint', 'Deploy Go Project', 'deploy_to_environment'] + - id: run.id + type: string + stability: experimental + brief: > + The unique identifier of a pipeline run within a CI/CD system. + examples: ['120912'] + - id: task.name + type: string + stability: experimental + brief: > + The human readable name of a task within a pipeline. Task here most + closely aligns with a [computing process](https://en.wikipedia.org/wiki/Pipeline_(computing)) + in a pipeline. Other terms for tasks include commands, steps, and + procedures. + examples: ['Run GoLang Linter', 'Go Build', 'go-test', 'deploy_binary'] + - id: task.run.id + type: string + stability: experimental + brief: > + The unique identifier of a task run within a pipeline. + examples: ['12097'] + - id: task.type + type: + allow_custom_values: true + members: + - id: build + value: build + brief: build + stability: experimental + - id: test + value: test + brief: test + stability: experimental + - id: deploy + value: deploy + brief: deploy + stability: experimental + stability: experimental + brief: > + The type of the task within a pipeline. + examples: ['build', 'test', 'deploy'] + # TODO: May change name to type and make it a well known enum. + # Need definition of a runner linked. + - id: task.runner.name + type: string + stability: experimental + brief: > + The name of the runner executing the step within a pipeline. + examples: ['ubuntu-runner-latest'] + - id: task.runner.id + type: string + stability: experimental + brief: > + The id of the runner executing the step within a pipeline. + examples: ['1289'] + # TODO: Figure out how to inherit (embed) system attributes. - This maybe + # be WIP already taking place and simply may need to be removed for the + # time being. + - id: step.runner.system + type: string + stability: experimental + brief: > + OS system attributes of the runner acorrding to the [OS system attributes](./os.md). + examples: ['system.os.name'] diff --git a/model/registry/pipeline.yaml b/model/registry/pipeline.yaml deleted file mode 100644 index fccb2e6458..0000000000 --- a/model/registry/pipeline.yaml +++ /dev/null @@ -1,55 +0,0 @@ -groups: - - id: registry.pipeline - prefix: pipeline - type: attribute_group - brief: > - This group describes attributes specific to pipelines. - attributes: - - id: name - type: string - stability: experimental - brief: > - The name of the pipeline. - examples: ['build_go_project', 'deploy_to_k8s', 'data pipeline', 'spark pipeline'] - - id: id - type: string - stability: experimental - brief: > - The id of the pipeline. - examples: ['120912'] - - id: step.name - type: string - stability: experimental - brief: > - The name of the step within a pipeline. - examples: ['golang lint', 'go build', 'go test', 'transform data'] - - id: step.id - type: string - stability: experimental - brief: > - The id of the step within a pipeline. - examples: ['12097'] - - id: step.type - type: string - stability: experimental - brief: > - The type of the step within a pipeline. - examples: ['build', 'test', 'deploy'] - - id: step.runner.name - type: string - stability: experimental - brief: > - The name of the runner executing the step within a pipeline. - examples: ['ubuntu-runner-latest'] - - id: step.runner.id - type: string - stability: experimental - brief: > - The id of the runner executing the step within a pipeline. - examples: ['1289'] - - id: step.runner.system - type: string - stability: experimental - brief: > - OS system attributes of the runner acorrding to the [OS system attributes](./os.md). - examples: ['system.os.name'] diff --git a/model/registry/scm.yaml b/model/registry/scm.yaml index 12f43dff27..4669faad87 100644 --- a/model/registry/scm.yaml +++ b/model/registry/scm.yaml @@ -1,6 +1,6 @@ groups: - id: registry.scm.repository - prefix: scm + prefix: scm.repository type: attribute_group brief: > This group defines the attributes for source control management (SCM) systems. diff --git a/model/registry/test.yaml b/model/registry/test.yaml index 6ddd98fbbc..c88e09f0ae 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -3,35 +3,102 @@ groups: prefix: test type: attribute_group brief: > - This group describes attributes specific to tests. + This group describes attributes specific to + [software tests](https://en.wikipedia.org/wiki/Software_testing). attributes: - id: suite.name type: string stability: experimental brief: > - The name of the test suite. + The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). examples: ['TestSuite1'] - - id: suite.id + - id: suite.run.id type: string stability: experimental brief: > - The id of the test suite. + The unique identifier of a test suite run. examples: ['123408'] + - id: suite.run.status + type: + allow_custom_values: true + members: + - id: success + value: success + brief: success + stability: experimental + - id: failure + value: failure + brief: failure + stability: experimental + - id: skipped + value: skipped + brief: skipped + stability: experimental + - id: aborted + value: aborted + brief: aborted + stability: experimental + - id: timed_out + value: timed_out + brief: timed_out + stability: experimental + stability: experimental + brief: > + The status of the test suite run. + examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] - id: suite.case.name type: string stability: experimental brief: > - The name of the test case. + The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). examples: ['TestCase1'] - - id: suite.case.id + - id: suite.case.run.id type: string stability: experimental brief: > - The id of the test case. + The unique identifier of a test case run. examples: ['123445'] - - id: suite.case.status - type: string + - id: suite.case.run.status + type: + allow_custom_values: true + members: + - id: success + value: success + brief: success + stability: experimental + - id: failure + value: failure + brief: failure + stability: experimental + - id: skipped + value: skipped + brief: skipped + stability: experimental + - id: aborted + value: aborted + brief: aborted + stability: experimental + - id: timed_out + value: timed_out + brief: timed_out + stability: experimental + stability: experimental + brief: > + The status of the test case run. + examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] + - id: suite.case.execution.status + type: + allow_custom_values: true + members: + - id: passed + value: passed + brief: passed + stability: experimental + - id: failed + value: failed + brief: failed + stability: experimental stability: experimental brief: > - The status of the test case. - examples: ['success', 'failure', 'skipped'] + The status of the test case execution, meaning the actual test result. + examples: ['passed', 'failed'] diff --git a/schema-next.yaml b/schema-next.yaml index 0b9eaec16a..79aaa0845c 100644 --- a/schema-next.yaml +++ b/schema-next.yaml @@ -4,7 +4,7 @@ versions: next: all: changes: - # https://github.com/open-telemetry/semantic-conventions/pull + # https://github.com/open-telemetry/semantic-conventions/pull/1075 - rename_attributes: attribute_map: deployment.environment: deployment.environment.name From f82511dbc929955b71c135495cef6678e7f027ef Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 17 Jun 2024 10:17:19 -0400 Subject: [PATCH 12/42] [chore] multiple updates after feedback --- docs/attributes-registry/README.md | 2 +- docs/attributes-registry/build.md | 16 +++---- docs/attributes-registry/deployment.md | 8 ++++ docs/attributes-registry/pipeline.md | 22 --------- docs/attributes-registry/scm.md | 19 -------- docs/attributes-registry/vcs.md | 27 +++++++++++ model/registry/build.yaml | 32 +++++++------ model/registry/deployment.yaml | 14 ++++++ model/registry/scm.yaml | 37 --------------- model/registry/vcs.yaml | 65 ++++++++++++++++++++++++++ 10 files changed, 142 insertions(+), 100 deletions(-) delete mode 100644 docs/attributes-registry/pipeline.md delete mode 100644 docs/attributes-registry/scm.md create mode 100644 docs/attributes-registry/vcs.md delete mode 100644 model/registry/scm.yaml create mode 100644 model/registry/vcs.yaml diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index c1a93406ef..3154423fd1 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -76,7 +76,6 @@ Currently, the following namespaces exist: - [Peer](peer.md) - [Process](process.md) - [RPC](rpc.md) -- [Scm](scm.md) - [Server](server.md) - [Service](service.md) - [Session](session.md) @@ -89,6 +88,7 @@ Currently, the following namespaces exist: - [TLS](tls.md) - [URL](url.md) - [User Agent](user-agent.md) +- [Vcs](vcs.md) - [Webengine](webengine.md) [developers recommendations]: ../general/attribute-naming.md#recommendations-for-application-developers diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md index 321701522b..852db5e8e9 100644 --- a/docs/attributes-registry/build.md +++ b/docs/attributes-registry/build.md @@ -10,11 +10,11 @@ This group describes attributes specific to builds (ci). -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | -------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `build.artifact.id` | string | The id of the build artifact. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.name` | string | The name of the build artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.sha` | string | The sha (checksum) of the build artifact. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.id` | string | The id of the build attestation. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.sha` | string | The sha (checksum) of the build attestation. | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `build.artifact.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the build artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.name` | string | The human readable name of the built artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the build artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/deployment.md b/docs/attributes-registry/deployment.md index 71aefb7c51..750334fd71 100644 --- a/docs/attributes-registry/deployment.md +++ b/docs/attributes-registry/deployment.md @@ -18,6 +18,7 @@ This document defines attributes for software deployments. | `deployment.environment.name` | string | Name of the [deployment environment](https://wikipedia.org/wiki/Deployment_environment) (aka deployment tier). [1] | `staging`; `production` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deployment.id` | string | The id of the deployment. | `1208` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deployment.name` | string | The name of the deployment. | `deploy my app`; `deploy-frontend` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `deployment.status` | string | The status of the deployment. | `failed`; `succeeded` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** `deployment.environment.name` does not affect the uniqueness constraints defined through the `service.namespace`, `service.name` and `service.instance.id` resource attributes. @@ -27,6 +28,13 @@ considered to be identifying the same service: - `service.name=frontend`, `deployment.environment.name=production` - `service.name=frontend`, `deployment.environment.name=staging`. +`deployment.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| ----------- | ----------- | ---------------------------------------------------------------- | +| `failed` | failed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `succeeded` | succeeded | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + ## Deployment Deprecated Attributes "Describes deprecated deployment attributes." diff --git a/docs/attributes-registry/pipeline.md b/docs/attributes-registry/pipeline.md deleted file mode 100644 index fdf8633cc1..0000000000 --- a/docs/attributes-registry/pipeline.md +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -# Pipeline - -## Pipeline Attributes - -This group describes attributes specific to pipelines. - -| Attribute | Type | Description | Examples | Stability | -| ----------------------------- | ------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `pipeline.id` | string | The id of the pipeline. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.name` | string | The name of the pipeline. | `build_go_project`; `deploy_to_k8s`; `data pipeline`; `spark pipeline` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.step.id` | string | The id of the step within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.step.name` | string | The name of the step within a pipeline. | `golang lint`; `go build`; `go test`; `transform data` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.step.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.step.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.step.runner.system` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `pipeline.step.type` | string | The type of the step within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/scm.md b/docs/attributes-registry/scm.md deleted file mode 100644 index dd5421cde2..0000000000 --- a/docs/attributes-registry/scm.md +++ /dev/null @@ -1,19 +0,0 @@ - - - - - -# Scm - -## Scm Repository Attributes - -This group defines the attributes for source control management (SCM) systems. - -| Attribute | Type | Description | Examples | Stability | -| ------------------------------------------ | ------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `scm.repository.repository.change.id` | string | The id of the change (pull request / merge request) in the repository. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.repository.change.name` | string | The name of the change (pull request / merge request) in the repository. | `pull-request-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.repository.name` | string | The name of the repository. | `opentelemetry-collector-contrib` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.repository.ref.commit.sha` | string | The sha of the commit the ref (branch) is pointing to in the repository. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `scm.repository.repository.ref.name` | string | The name of the ref (branch) in the repository. | `my-feature-branch` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md new file mode 100644 index 0000000000..27217fd14a --- /dev/null +++ b/docs/attributes-registry/vcs.md @@ -0,0 +1,27 @@ + + + + + +# Vcs + +## Vcs Repository Attributes + +This group defines the attributes for [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). + +| Attribute | Type | Description | Examples | Stability | +| -------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.commit.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.type` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.url` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to local and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| -------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `branch` | [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `tag` | [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag) | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/build.yaml b/model/registry/build.yaml index 42ad5fbfe0..cfd210f0ed 100644 --- a/model/registry/build.yaml +++ b/model/registry/build.yaml @@ -9,35 +9,41 @@ groups: type: string stability: experimental brief: > - The name of the build artifact. - examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0'] - - id: artifact.id - type: string - stability: experimental - brief: > - The id of the build artifact. - examples: ['120912'] + The human readable name of the built artifact. + examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', 'release-1.tar.gz'] - id: artifact.version type: string stability: experimental brief: > The version of the build artifact. examples: ['v0.1.0', '1.2.1', '122691-build'] - - id: artifact.sha + - id: artifact.purl + type: string + stability: experimental + brief: > + The [Package URL](https://github.com/package-url/purl-spec) of the + build artifact, providing a standard way to identify and locate the + artifact. + examples: ['pkg:github/package-url/purl-spec@1209109710924', 'pkg:npm/foo@12.12.3'] + - id: artifact.hash type: string stability: experimental brief: > - The sha (checksum) of the build artifact. + The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + often found in checksum.txt on a release of the build artifact and + used to verify pakage integrity. examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] - id: attestation.id type: string stability: experimental brief: > - The id of the build attestation. + The id of the build [software attestation](https://slsa.dev/attestation-model). examples: ['123'] - - id: attestation.sha + - id: attestation.hash type: string stability: experimental brief: > - The sha (checksum) of the build attestation. + The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + of the built attestation. Some envelopes in the software attestation + space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] diff --git a/model/registry/deployment.yaml b/model/registry/deployment.yaml index f3ec81b000..5c03a371c9 100644 --- a/model/registry/deployment.yaml +++ b/model/registry/deployment.yaml @@ -17,6 +17,20 @@ groups: brief: > The id of the deployment. examples: ['1208'] + - id: status + type: + allow_custom_values: true + members: + - id: failed + value: failed + brief: failed + stability: experimental + - id: succeeded + value: succeeded + brief: succeeded + stability: experimental + brief: > + The status of the deployment. - id: environment.name type: string stability: experimental diff --git a/model/registry/scm.yaml b/model/registry/scm.yaml deleted file mode 100644 index 4669faad87..0000000000 --- a/model/registry/scm.yaml +++ /dev/null @@ -1,37 +0,0 @@ -groups: - - id: registry.scm.repository - prefix: scm.repository - type: attribute_group - brief: > - This group defines the attributes for source control management (SCM) systems. - attributes: - - id: repository.name - type: string - stability: experimental - brief: > - The name of the repository. - examples: ['opentelemetry-collector-contrib'] - - id: repository.ref.name - type: string - stability: experimental - brief: > - The name of the ref (branch) in the repository. - examples: ['my-feature-branch'] - - id: repository.ref.commit.sha - type: string - stability: experimental - brief: > - The sha of the commit the ref (branch) is pointing to in the repository. - examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] - - id: repository.change.name - type: string - stability: experimental - brief: > - The name of the change (pull request / merge request) in the repository. - examples: ['pull-request-123'] - - id: repository.change.id - type: string - stability: experimental - brief: > - The id of the change (pull request / merge request) in the repository. - examples: ['123'] diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml new file mode 100644 index 0000000000..a6c2878277 --- /dev/null +++ b/model/registry/vcs.yaml @@ -0,0 +1,65 @@ +groups: + - id: registry.vcs.repository + prefix: vcs.repository + type: attribute_group + brief: > + This group defines the attributes for + [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). + attributes: + - id: url + type: string + stability: experimental + brief: > + The [URL](https://en.wikipedia.org/wiki/URL) of the repository + providing the complete address in order to local and identify the + repository. + examples: ['https://github.com/opentelemetry/open-telemetry-collector-contrib', 'https://gitlab.com/my-org/my-project/my-projects-project/repo'] + - id: ref.name + type: string + stability: experimental + brief: > + The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. + examples: ['my-feature-branch', 'tag-1-test'] + - id: ref.type + type: + allow_custom_values: true + members: + - id: branch + value: branch + brief: "[branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch)" + stability: experimental + - id: tag + value: tag + brief: "[tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag)" + stability: experimental + stability: experimental + brief: > + The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. + examples: ['my-feature-branch', 'tag-1-test'] + - id: ref.commit.hash + type: string + stability: experimental + brief: > + The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + of the recorded change the ref (branch) is pointing to in the + repository. This recorded change is known as the + [commit](https://git-scm.com/docs/git-commit). This commit is stored + as an object containing a + [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) + which is a SHA. + examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] + - id: change.title + type: string + stability: experimental + brief: > + The human readable title of the change (pull request/merge request). + This title is often a brief summary of the change and may get merged + in to a ref as the commit summary. + examples: ['Fixes broken thing', 'feat: add my new feature', '[chore] update dependency'] + - id: change.id + type: string + stability: experimental + brief: > + The ID of the change (pull request/merge request) if applicable. This + is usually a unique identifier generated by the VCS system. + examples: ['123'] From 0368268618491307475c23faf682ccf85e6e8b2d Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 17 Jun 2024 10:20:51 -0400 Subject: [PATCH 13/42] [chore] fix missing stability after enum --- model/registry/deployment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/model/registry/deployment.yaml b/model/registry/deployment.yaml index 5c03a371c9..976356404b 100644 --- a/model/registry/deployment.yaml +++ b/model/registry/deployment.yaml @@ -31,6 +31,7 @@ groups: stability: experimental brief: > The status of the deployment. + stability: experimental - id: environment.name type: string stability: experimental From 311698c6c41476a347123ada6c947cf757bb6b57 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 17 Jun 2024 11:20:06 -0400 Subject: [PATCH 14/42] [chore] fix local typo --- docs/attributes-registry/vcs.md | 2 +- model/registry/vcs.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index 27217fd14a..c9ff21204b 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -17,7 +17,7 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en | `vcs.repository.ref.commit.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.type` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.url` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to local and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.url` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index a6c2878277..176f83c342 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -11,7 +11,7 @@ groups: stability: experimental brief: > The [URL](https://en.wikipedia.org/wiki/URL) of the repository - providing the complete address in order to local and identify the + providing the complete address in order to locate and identify the repository. examples: ['https://github.com/opentelemetry/open-telemetry-collector-contrib', 'https://gitlab.com/my-org/my-project/my-projects-project/repo'] - id: ref.name From fc914cf4aa652ad3b602278bd5bdb9289848ca27 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 17 Jun 2024 11:41:26 -0400 Subject: [PATCH 15/42] [chore] remove incident from registry, will iterate through sep pr --- docs/attributes-registry/README.md | 1 - docs/attributes-registry/incident.md | 17 ----------------- model/registry/incident.yaml | 25 ------------------------- 3 files changed, 43 deletions(-) delete mode 100644 docs/attributes-registry/incident.md delete mode 100644 model/registry/incident.yaml diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 3154423fd1..605e03abdb 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -62,7 +62,6 @@ Currently, the following namespaces exist: - [Heroku](heroku.md) - [Host](host.md) - [HTTP](http.md) -- [Incident](incident.md) - [iOS](ios.md) - [JVM](jvm.md) - [K8s](k8s.md) diff --git a/docs/attributes-registry/incident.md b/docs/attributes-registry/incident.md deleted file mode 100644 index 1e61cd88c9..0000000000 --- a/docs/attributes-registry/incident.md +++ /dev/null @@ -1,17 +0,0 @@ - - - - - -# Incident - -## Incident Attributes - -This group describes attributes specific to incidents. - -| Attribute | Type | Description | Examples | Stability | -| ------------------- | ------ | ----------------------------- | ----------------------------------- | ---------------------------------------------------------------- | -| `incident.id` | string | The id of the incident. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `incident.name` | string | The name of the incident. | `incident-123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `incident.severity` | string | The severity of the incident. | `critical`; `high`; `medium`; `low` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/incident.yaml b/model/registry/incident.yaml deleted file mode 100644 index 36eaa56df5..0000000000 --- a/model/registry/incident.yaml +++ /dev/null @@ -1,25 +0,0 @@ -groups: - - id: registry.incident - prefix: incident - type: attribute_group - brief: > - This group describes attributes specific to incidents. - attributes: - - id: name - type: string - stability: experimental - brief: > - The name of the incident. - examples: ['incident-123'] - - id: id - type: string - stability: experimental - brief: > - The id of the incident. - examples: ['123'] - - id: severity - type: string - stability: experimental - brief: > - The severity of the incident. - examples: ['critical', 'high', 'medium', 'low'] From ea7b402cad33d79c733a1b5f1d670cbdd1124389 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Fri, 21 Jun 2024 12:20:20 -0400 Subject: [PATCH 16/42] [chore] make changes from workflows --- .github/ISSUE_TEMPLATE/bug_report.yaml | 5 ++++- .github/ISSUE_TEMPLATE/change_proposal.yaml | 5 ++++- .github/ISSUE_TEMPLATE/new-conventions.yaml | 5 ++++- docs/attributes-registry/cicd.md | 2 +- docs/attributes-registry/test.md | 10 +++++----- docs/attributes-registry/vcs.md | 2 +- model/registry/build.yaml | 2 +- model/registry/vcs.yaml | 4 ++-- 8 files changed, 22 insertions(+), 13 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 7f6814ac3b..23ef5d463a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -23,10 +23,11 @@ body: - area:aspnetcore - area:aws - area:browser + - area:build - area:cicd - area:client - - area:cloud - area:cloudevents + - area:cloud - area:code - area:container - area:db @@ -67,11 +68,13 @@ body: - area:source - area:system - area:telemetry + - area:test - area:thread - area:tls - area:url - area:user-agent - area:user + - area:vcs - area:webengine # End semconv area list - type: textarea diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index f714ae1024..78a1cbeb5e 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -16,10 +16,11 @@ body: - area:aspnetcore - area:aws - area:browser + - area:build - area:cicd - area:client - - area:cloud - area:cloudevents + - area:cloud - area:code - area:container - area:db @@ -60,11 +61,13 @@ body: - area:source - area:system - area:telemetry + - area:test - area:thread - area:tls - area:url - area:user-agent - area:user + - area:vcs - area:webengine # End semconv area list - type: textarea diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 01718d651f..12348cdc61 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -25,10 +25,11 @@ body: - area:aspnetcore - area:aws - area:browser + - area:build - area:cicd - area:client - - area:cloud - area:cloudevents + - area:cloud - area:code - area:container - area:db @@ -69,11 +70,13 @@ body: - area:source - area:system - area:telemetry + - area:test - area:thread - area:tls - area:url - area:user-agent - area:user + - area:vcs - area:webengine # End semconv area list - type: textarea diff --git a/docs/attributes-registry/cicd.md b/docs/attributes-registry/cicd.md index 3ccbee3d21..84c4226854 100644 --- a/docs/attributes-registry/cicd.md +++ b/docs/attributes-registry/cicd.md @@ -26,5 +26,5 @@ This group describes attributes specific to pipelines within a Continuous Integr | Value | Description | Stability | | -------- | ----------- | ---------------------------------------------------------------- | | `build` | build | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test` | test | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `deploy` | deploy | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test` | test | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 80a2038fe2..205f2e2802 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -24,25 +24,25 @@ This group describes attributes specific to [software tests](https://en.wikipedi | Value | Description | Stability | | -------- | ----------- | ---------------------------------------------------------------- | -| `passed` | passed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `failed` | failed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `passed` | passed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.case.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ----------- | ----------- | ---------------------------------------------------------------- | -| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ----------- | ----------- | ---------------------------------------------------------------- | -| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index c9ff21204b..40f66a8caf 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -16,7 +16,7 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en | `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.commit.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.type` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.url` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/build.yaml b/model/registry/build.yaml index cfd210f0ed..cb957bba90 100644 --- a/model/registry/build.yaml +++ b/model/registry/build.yaml @@ -23,7 +23,7 @@ groups: brief: > The [Package URL](https://github.com/package-url/purl-spec) of the build artifact, providing a standard way to identify and locate the - artifact. + artifact. examples: ['pkg:github/package-url/purl-spec@1209109710924', 'pkg:npm/foo@12.12.3'] - id: artifact.hash type: string diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index 176f83c342..81c471c6f3 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -34,8 +34,8 @@ groups: stability: experimental stability: experimental brief: > - The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. - examples: ['my-feature-branch', 'tag-1-test'] + The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. + examples: ['branch', 'tag'] - id: ref.commit.hash type: string stability: experimental From 8f3fce3b02d4088ab3bd21475661b8fbdc74c1cc Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Fri, 21 Jun 2024 13:14:25 -0400 Subject: [PATCH 17/42] [chore] run issue template generation --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/change_proposal.yaml | 2 +- .github/ISSUE_TEMPLATE/new-conventions.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 23ef5d463a..b3253d9796 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -26,8 +26,8 @@ body: - area:build - area:cicd - area:client - - area:cloudevents - area:cloud + - area:cloudevents - area:code - area:container - area:db diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index 78a1cbeb5e..37efc20c27 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -19,8 +19,8 @@ body: - area:build - area:cicd - area:client - - area:cloudevents - area:cloud + - area:cloudevents - area:code - area:container - area:db diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 12348cdc61..0752f11a91 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -28,8 +28,8 @@ body: - area:build - area:cicd - area:client - - area:cloudevents - area:cloud + - area:cloudevents - area:code - area:container - area:db From 793a1f484f3f1a505d3f713d0ed2a8a577a00383 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 26 Jun 2024 11:43:47 -0400 Subject: [PATCH 18/42] [chore] make changes to test and deploy file based on pr feedback --- docs/attributes-registry/README.md | 2 +- docs/attributes-registry/test.md | 32 +++++++++---------- docs/attributes-registry/vcs.md | 4 +-- model/registry/cicd.yaml | 7 ---- model/registry/test.yaml | 32 +++++++++---------- ..._name.yaml => deployment_environment.yaml} | 0 templates/registry/markdown/weaver.yaml | 2 ++ 7 files changed, 37 insertions(+), 42 deletions(-) rename model/resource/{deployment_environment_name.yaml => deployment_environment.yaml} (100%) diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 7df5df8408..d5634a80d9 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -88,7 +88,7 @@ Currently, the following namespaces exist: - [URL](url.md) - [User](user.md) - [User Agent](user-agent.md) -- [Vcs](vcs.md) +- [VCS](vcs.md) - [Webengine](webengine.md) [developers recommendations]: ../general/attribute-naming.md#recommendations-for-application-developers diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 205f2e2802..1ed342d6ae 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -10,22 +10,22 @@ This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). -| Attribute | Type | Description | Examples | Stability | -| ---------------------------------- | ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.execution.status` | string | The status of the test case execution, meaning the actual test result. | `passed`; `failed` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.status` | string | The status of the test case run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`test.suite.case.execution.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -| -------- | ----------- | ---------------------------------------------------------------- | -| `failed` | failed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `passed` | passed | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.result.status` | string | The status of the test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.status` | string | The status of the test case run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`test.suite.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. + +| Value | Description | Stability | +| ------ | ----------- | ---------------------------------------------------------------- | +| `fail` | fail | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `pass` | pass | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.case.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index 40f66a8caf..2fe9b8b162 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -4,9 +4,9 @@ -# Vcs +# VCS -## Vcs Repository Attributes +## VCS Repository Attributes This group defines the attributes for [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml index 775a5c8a27..92b6c909fe 100644 --- a/model/registry/cicd.yaml +++ b/model/registry/cicd.yaml @@ -1,11 +1,4 @@ groups: - # - id: registry.cicd - # prefix: cicd - # type: attribute_group - # brief: > - # This group describes attributes specific to Continuous Integration and - # Continuous Deployment (CI/CD) systems where the sub-attributes can have - # many different meanings across different systems. - id: registry.cicd.pipeline prefix: cicd.pipeline type: attribute_group diff --git a/model/registry/test.yaml b/model/registry/test.yaml index c88e09f0ae..2f7d363fa4 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -1,24 +1,24 @@ groups: - id: registry.test.suite - prefix: test + prefix: test.suite type: attribute_group brief: > This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). attributes: - - id: suite.name + - id: name type: string stability: experimental brief: > The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). examples: ['TestSuite1'] - - id: suite.run.id + - id: run.id type: string stability: experimental brief: > The unique identifier of a test suite run. examples: ['123408'] - - id: suite.run.status + - id: run.status type: allow_custom_values: true members: @@ -46,19 +46,19 @@ groups: brief: > The status of the test suite run. examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] - - id: suite.case.name + - id: case.name type: string stability: experimental brief: > The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). examples: ['TestCase1'] - - id: suite.case.run.id + - id: case.run.id type: string stability: experimental brief: > The unique identifier of a test case run. examples: ['123445'] - - id: suite.case.run.status + - id: case.run.status type: allow_custom_values: true members: @@ -86,19 +86,19 @@ groups: brief: > The status of the test case run. examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] - - id: suite.case.execution.status + - id: case.result.status type: allow_custom_values: true members: - - id: passed - value: passed - brief: passed + - id: pass + value: pass + brief: pass stability: experimental - - id: failed - value: failed - brief: failed + - id: fail + value: fail + brief: fail stability: experimental stability: experimental brief: > - The status of the test case execution, meaning the actual test result. - examples: ['passed', 'failed'] + The status of the test case result from test execution. + examples: ['pass', 'fail'] diff --git a/model/resource/deployment_environment_name.yaml b/model/resource/deployment_environment.yaml similarity index 100% rename from model/resource/deployment_environment_name.yaml rename to model/resource/deployment_environment.yaml diff --git a/templates/registry/markdown/weaver.yaml b/templates/registry/markdown/weaver.yaml index 19cbd089a6..b2df9cd1ec 100644 --- a/templates/registry/markdown/weaver.yaml +++ b/templates/registry/markdown/weaver.yaml @@ -9,6 +9,7 @@ acronyms: - AI - iOS - AWS + - Cicd - CloudEvents - CosmosDB - DynamoDB @@ -30,3 +31,4 @@ acronyms: - SignalR - TLS - URL + - VCS From 1ea5c57c2a3f40719de7f426d38b094b984c2dc9 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 26 Jun 2024 22:10:38 -0400 Subject: [PATCH 19/42] [chore] general updates and changes after suggestions --- docs/attributes-registry/build.md | 16 ++++++++-------- docs/attributes-registry/cicd.md | 19 +++++++++---------- docs/attributes-registry/test.md | 18 +++++++++--------- model/registry/build.yaml | 5 +++-- model/registry/cicd.yaml | 11 +---------- model/registry/test.yaml | 4 +++- 6 files changed, 33 insertions(+), 40 deletions(-) diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md index 852db5e8e9..7593bfdd1d 100644 --- a/docs/attributes-registry/build.md +++ b/docs/attributes-registry/build.md @@ -10,11 +10,11 @@ This group describes attributes specific to builds (ci). -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `build.artifact.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the build artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.name` | string | The human readable name of the built artifact. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the build artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `build.artifact.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the build artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.name` | string | The human readable file name of the build artifact, often generated by release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the build artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/cicd.md b/docs/attributes-registry/cicd.md index 84c4226854..873523ab66 100644 --- a/docs/attributes-registry/cicd.md +++ b/docs/attributes-registry/cicd.md @@ -10,16 +10,15 @@ This group describes attributes specific to pipelines within a Continuous Integration and Continuous Deployment (CI/CD) system. A [pipeline]() in this case is a series of steps that are performed in order to deliver a new version of software. This aligns with the [Britannica](https://www.britannica.com/dictionary/pipeline) definition of a pipeline where a **pipeline** is the system for developing and producing something. In the context of CI/CD, a pipeline produces or delivers software. -| Attribute | Type | Description | Examples | Stability | -| ---------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `cicd.pipeline.name` | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.run.id` | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.step.runner.system` | string | OS system attributes of the runner acorrding to the [OS system attributes](./os.md). | `system.os.name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.name` | string | The human readable name of a task within a pipeline. Task here most closely aligns with a [computing process]() in a pipeline. Other terms for tasks include commands, steps, and procedures. | `Run GoLang Linter`; `Go Build`; `go-test`; `deploy_binary` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.run.id` | string | The unique identifier of a task run within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.runner.name` | string | The name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.type` | string | The type of the task within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| -------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `cicd.pipeline.name` | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.run.id` | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.name` | string | The human readable name of a task within a pipeline. Task here most closely aligns with a [computing process]() in a pipeline. Other terms for tasks include commands, steps, and procedures. | `Run GoLang Linter`; `Go Build`; `go-test`; `deploy_binary` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.run.id` | string | The unique identifier of a task run within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.runner.name` | string | The human readable name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.type` | string | The type of the task within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `cicd.pipeline.task.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 1ed342d6ae..f039985226 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -10,15 +10,15 @@ This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.result.status` | string | The status of the test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.status` | string | The status of the test case run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.result.status` | string | The status of the test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.status` | string | The status of the test case run, where run is referring to the run of the test case in the context of the pipeline, and not the actual result of the case. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/build.yaml b/model/registry/build.yaml index cb957bba90..42fe2f5fa9 100644 --- a/model/registry/build.yaml +++ b/model/registry/build.yaml @@ -9,8 +9,9 @@ groups: type: string stability: experimental brief: > - The human readable name of the built artifact. - examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', 'release-1.tar.gz'] + The human readable file name of the build artifact, often generated + by release utilities to include the package name and version. + examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', 'release-1.tar.gz', 'file-name-package.tar.gz'] - id: artifact.version type: string stability: experimental diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml index 92b6c909fe..43863aabf5 100644 --- a/model/registry/cicd.yaml +++ b/model/registry/cicd.yaml @@ -66,7 +66,7 @@ groups: type: string stability: experimental brief: > - The name of the runner executing the step within a pipeline. + The human readable name of the runner executing the step within a pipeline. examples: ['ubuntu-runner-latest'] - id: task.runner.id type: string @@ -74,12 +74,3 @@ groups: brief: > The id of the runner executing the step within a pipeline. examples: ['1289'] - # TODO: Figure out how to inherit (embed) system attributes. - This maybe - # be WIP already taking place and simply may need to be removed for the - # time being. - - id: step.runner.system - type: string - stability: experimental - brief: > - OS system attributes of the runner acorrding to the [OS system attributes](./os.md). - examples: ['system.os.name'] diff --git a/model/registry/test.yaml b/model/registry/test.yaml index 2f7d363fa4..1e11643861 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -84,7 +84,9 @@ groups: stability: experimental stability: experimental brief: > - The status of the test case run. + The status of the test case run, where run is referring to the run of + the test case in the context of the pipeline, and not the actual + result of the case. examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] - id: case.result.status type: From 938537cc8b2980ec02dc9fa4905f5e85573f1246 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 1 Jul 2024 22:19:06 -0400 Subject: [PATCH 20/42] [chore] remove allow custom values and updates bacsed on suggestions --- docs/attributes-registry/vcs.md | 4 ++-- model/registry/cicd.yaml | 1 - model/registry/deployment.yaml | 1 - model/registry/test.yaml | 3 --- model/registry/vcs.yaml | 7 ++++--- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index 2fe9b8b162..daaca89e42 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -15,9 +15,9 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en | `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.commit.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.url` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml index 43863aabf5..dbb8abc556 100644 --- a/model/registry/cicd.yaml +++ b/model/registry/cicd.yaml @@ -42,7 +42,6 @@ groups: examples: ['12097'] - id: task.type type: - allow_custom_values: true members: - id: build value: build diff --git a/model/registry/deployment.yaml b/model/registry/deployment.yaml index 976356404b..345dfac3af 100644 --- a/model/registry/deployment.yaml +++ b/model/registry/deployment.yaml @@ -19,7 +19,6 @@ groups: examples: ['1208'] - id: status type: - allow_custom_values: true members: - id: failed value: failed diff --git a/model/registry/test.yaml b/model/registry/test.yaml index 1e11643861..d1b4946ce8 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -20,7 +20,6 @@ groups: examples: ['123408'] - id: run.status type: - allow_custom_values: true members: - id: success value: success @@ -60,7 +59,6 @@ groups: examples: ['123445'] - id: case.run.status type: - allow_custom_values: true members: - id: success value: success @@ -90,7 +88,6 @@ groups: examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] - id: case.result.status type: - allow_custom_values: true members: - id: pass value: pass diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index 81c471c6f3..e216a8ebcf 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -6,7 +6,7 @@ groups: This group defines the attributes for [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). attributes: - - id: url + - id: url.full type: string stability: experimental brief: > @@ -18,11 +18,12 @@ groups: type: string stability: experimental brief: > - The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. + The name of the + [reference](https://git-scm.com/docs/gitglossary#def_ref) such as + **branch** or **tag** in the repository. examples: ['my-feature-branch', 'tag-1-test'] - id: ref.type type: - allow_custom_values: true members: - id: branch value: branch From 6c7b2c8a2c8e7d63c8b87496f70558c987f8e76b Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 3 Jul 2024 20:42:23 -0400 Subject: [PATCH 21/42] [chore] remove runner attributes from CICD for now, add url.full --- docs/attributes-registry/cicd.md | 17 ++++++++--------- model/registry/cicd.yaml | 21 +++++++-------------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/docs/attributes-registry/cicd.md b/docs/attributes-registry/cicd.md index 873523ab66..817eb36cc3 100644 --- a/docs/attributes-registry/cicd.md +++ b/docs/attributes-registry/cicd.md @@ -10,15 +10,14 @@ This group describes attributes specific to pipelines within a Continuous Integration and Continuous Deployment (CI/CD) system. A [pipeline]() in this case is a series of steps that are performed in order to deliver a new version of software. This aligns with the [Britannica](https://www.britannica.com/dictionary/pipeline) definition of a pipeline where a **pipeline** is the system for developing and producing something. In the context of CI/CD, a pipeline produces or delivers software. -| Attribute | Type | Description | Examples | Stability | -| -------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `cicd.pipeline.name` | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.run.id` | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.name` | string | The human readable name of a task within a pipeline. Task here most closely aligns with a [computing process]() in a pipeline. Other terms for tasks include commands, steps, and procedures. | `Run GoLang Linter`; `Go Build`; `go-test`; `deploy_binary` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.run.id` | string | The unique identifier of a task run within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.runner.id` | string | The id of the runner executing the step within a pipeline. | `1289` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.runner.name` | string | The human readable name of the runner executing the step within a pipeline. | `ubuntu-runner-latest` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.type` | string | The type of the task within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| --------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `cicd.pipeline.name` | string | The human readable name of the pipeline within a CI/CD system. | `Build and Test`; `Lint`; `Deploy Go Project`; `deploy_to_environment` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.run.id` | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.name` | string | The human readable name of a task within a pipeline. Task here most closely aligns with a [computing process]() in a pipeline. Other terms for tasks include commands, steps, and procedures. | `Run GoLang Linter`; `Go Build`; `go-test`; `deploy_binary` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.run.id` | string | The unique identifier of a task run within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.run.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run providing the complete address in order to locate and identify the pipeline. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.type` | string | The type of the task within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `cicd.pipeline.task.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml index dbb8abc556..1e02f10d08 100644 --- a/model/registry/cicd.yaml +++ b/model/registry/cicd.yaml @@ -40,6 +40,13 @@ groups: brief: > The unique identifier of a task run within a pipeline. examples: ['12097'] + - id: task.run.url.full + type: string + stability: experimental + brief: > + The [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run + providing the complete address in order to locate and identify the pipeline. + examples: ['https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075'] - id: task.type type: members: @@ -59,17 +66,3 @@ groups: brief: > The type of the task within a pipeline. examples: ['build', 'test', 'deploy'] - # TODO: May change name to type and make it a well known enum. - # Need definition of a runner linked. - - id: task.runner.name - type: string - stability: experimental - brief: > - The human readable name of the runner executing the step within a pipeline. - examples: ['ubuntu-runner-latest'] - - id: task.runner.id - type: string - stability: experimental - brief: > - The id of the runner executing the step within a pipeline. - examples: ['1289'] From 25e8c4cce08d3a7ae1ee707486fa509a4a556689 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 3 Jul 2024 21:10:12 -0400 Subject: [PATCH 22/42] [chore] add in_progress to status attributes for suite and case runs --- docs/attributes-registry/test.md | 48 +++++++++++++++++--------------- model/registry/test.yaml | 14 ++++++++-- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index f039985226..c87855d725 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -10,15 +10,15 @@ This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.result.status` | string | The status of the test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.status` | string | The status of the test case run, where run is referring to the run of the test case in the context of the pipeline, and not the actual result of the case. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.run.status` | string | The status of the test case run, where run is referring to the run of the test case in the context of the pipeline, and not the actual result of the case. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. @@ -29,20 +29,22 @@ This group describes attributes specific to [software tests](https://en.wikipedi `test.suite.case.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. -| Value | Description | Stability | -| ----------- | ----------- | ---------------------------------------------------------------- | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Value | Description | Stability | +| ------------- | ----------- | ---------------------------------------------------------------- | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `in_progress` | in_progress | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. -| Value | Description | Stability | -| ----------- | ----------- | ---------------------------------------------------------------- | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Value | Description | Stability | +| ------------- | ----------- | ---------------------------------------------------------------- | +| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `in_progress` | in_progress | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/test.yaml b/model/registry/test.yaml index d1b4946ce8..b3fe9a8917 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -41,10 +41,14 @@ groups: value: timed_out brief: timed_out stability: experimental + - id: in_progress + value: in_progress + brief: in_progress + stability: experimental stability: experimental brief: > The status of the test suite run. - examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] + examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out', 'in_progress'] - id: case.name type: string stability: experimental @@ -80,12 +84,16 @@ groups: value: timed_out brief: timed_out stability: experimental + - id: in_progress + value: in_progress + brief: in_progress + stability: experimental stability: experimental brief: > The status of the test case run, where run is referring to the run of the test case in the context of the pipeline, and not the actual result of the case. - examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out'] + examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out', 'in_progress'] - id: case.result.status type: members: @@ -99,5 +107,5 @@ groups: stability: experimental stability: experimental brief: > - The status of the test case result from test execution. + The status of the actual test case result from test execution. examples: ['pass', 'fail'] From 8bbcd74de3af0de0dc9b17ec91c0f41c427f1d88 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 8 Jul 2024 20:50:49 -0400 Subject: [PATCH 23/42] [chore] update hash value brief, separate artifact from build --- docs/attributes-registry/README.md | 3 ++- docs/attributes-registry/artifact.md | 18 ++++++++++++++ docs/attributes-registry/build.md | 12 ++++------ docs/attributes-registry/vcs.md | 16 ++++++------- model/registry/artifact.yaml | 36 ++++++++++++++++++++++++++++ model/registry/build.yaml | 31 +----------------------- model/registry/vcs.yaml | 2 +- 7 files changed, 70 insertions(+), 48 deletions(-) create mode 100644 docs/attributes-registry/artifact.md create mode 100644 model/registry/artifact.yaml diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 634336b3c1..2f583ee5db 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -32,6 +32,7 @@ All registered attributes are listed by namespace in this registry. Currently, the following namespaces exist: - [Android](android.md) +- [Artifact](artifact.md) - [Aspnetcore](aspnetcore.md) - [AWS](aws.md) - [Browser](browser.md) @@ -89,8 +90,8 @@ Currently, the following namespaces exist: - [URL](url.md) - [User](user.md) - [User Agent](user-agent.md) -- [VCS](vcs.md) - [V8js](v8js.md) +- [VCS](vcs.md) - [Webengine](webengine.md) [developers recommendations]: ../general/attribute-naming.md#recommendations-for-application-developers diff --git a/docs/attributes-registry/artifact.md b/docs/attributes-registry/artifact.md new file mode 100644 index 0000000000..855721095b --- /dev/null +++ b/docs/attributes-registry/artifact.md @@ -0,0 +1,18 @@ + + + + + +# Artifact + +## Artifact Attributes + +This group describes attributes specific to artifacts. + +| Attribute | Type | Description | Examples | Stability | +| ------------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md index 7593bfdd1d..57b127b64c 100644 --- a/docs/attributes-registry/build.md +++ b/docs/attributes-registry/build.md @@ -10,11 +10,7 @@ This group describes attributes specific to builds (ci). -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `build.artifact.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the build artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.name` | string | The human readable file name of the build artifact, often generated by release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the build artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.artifact.version` | string | The version of the build artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `build.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `build.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index daaca89e42..52fc5870fc 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -10,14 +10,14 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). -| Attribute | Type | Description | Examples | Stability | -| -------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.commit.hash` | string | The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| -------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.commit.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml new file mode 100644 index 0000000000..a3451bd26d --- /dev/null +++ b/model/registry/artifact.yaml @@ -0,0 +1,36 @@ +groups: + - id: registry.artifact + prefix: artifact + type: attribute_group + brief: > + This group describes attributes specific to artifacts. + attributes: + - id: name + type: string + stability: experimental + brief: > + The human readable file name of the artifact, often generated by + build and release utilities to include the package name and version. + examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', 'release-1.tar.gz', 'file-name-package.tar.gz'] + - id: version + type: string + stability: experimental + brief: > + The version of the artifact. + examples: ['v0.1.0', '1.2.1', '122691-build'] + - id: purl + type: string + stability: experimental + brief: > + The [Package URL](https://github.com/package-url/purl-spec) of the + artifact, providing a standard way to identify and locate the + artifact. + examples: ['pkg:github/package-url/purl-spec@1209109710924', 'pkg:npm/foo@12.12.3'] + - id: hash + type: string + stability: experimental + brief: > + The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + often found in checksum.txt on a release of the artifact and used to + verify pakage integrity. + examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] diff --git a/model/registry/build.yaml b/model/registry/build.yaml index 42fe2f5fa9..70a1b1ee93 100644 --- a/model/registry/build.yaml +++ b/model/registry/build.yaml @@ -5,35 +5,6 @@ groups: brief: > This group describes attributes specific to builds (ci). attributes: - - id: artifact.name - type: string - stability: experimental - brief: > - The human readable file name of the build artifact, often generated - by release utilities to include the package name and version. - examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', 'release-1.tar.gz', 'file-name-package.tar.gz'] - - id: artifact.version - type: string - stability: experimental - brief: > - The version of the build artifact. - examples: ['v0.1.0', '1.2.1', '122691-build'] - - id: artifact.purl - type: string - stability: experimental - brief: > - The [Package URL](https://github.com/package-url/purl-spec) of the - build artifact, providing a standard way to identify and locate the - artifact. - examples: ['pkg:github/package-url/purl-spec@1209109710924', 'pkg:npm/foo@12.12.3'] - - id: artifact.hash - type: string - stability: experimental - brief: > - The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), - often found in checksum.txt on a release of the build artifact and - used to verify pakage integrity. - examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] - id: attestation.id type: string stability: experimental @@ -44,7 +15,7 @@ groups: type: string stability: experimental brief: > - The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index e216a8ebcf..3f0d594098 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -41,7 +41,7 @@ groups: type: string stability: experimental brief: > - The [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored From 7439ce853a782386d1d82be3ca0ea6f4770978e3 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 10 Jul 2024 09:45:00 -0400 Subject: [PATCH 24/42] [chore] migrate artifact to its own ns, include attestations to artifact, remove build ns --- docs/attributes-registry/README.md | 1 - docs/attributes-registry/artifact.md | 15 +++++++++------ docs/attributes-registry/build.md | 16 ---------------- model/registry/artifact.yaml | 24 ++++++++++++++++++++++++ model/registry/build.yaml | 21 --------------------- 5 files changed, 33 insertions(+), 44 deletions(-) delete mode 100644 docs/attributes-registry/build.md delete mode 100644 model/registry/build.yaml diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index 2f583ee5db..e4967bdec1 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -36,7 +36,6 @@ Currently, the following namespaces exist: - [Aspnetcore](aspnetcore.md) - [AWS](aws.md) - [Browser](browser.md) -- [Build](build.md) - [Cicd](cicd.md) - [Client](client.md) - [Cloud](cloud.md) diff --git a/docs/attributes-registry/artifact.md b/docs/attributes-registry/artifact.md index 855721095b..79dcd9eaac 100644 --- a/docs/attributes-registry/artifact.md +++ b/docs/attributes-registry/artifact.md @@ -10,9 +10,12 @@ This group describes attributes specific to artifacts. -| Attribute | Type | Description | Examples | Stability | -| ------------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `artifact.attestation.filename` | string | The filename for provenance directly related to the artifact. Attestations can have a one to many relationship with build artifacts. See [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) for more information. | `golang-binary-amd64-v0.1.0.attestation`; `docker-image-amd64-v0.1.0.intoto.json1`; `release-1.tar.gz.attestation`; `file-name-package.tar.gz.intoto.json1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/build.md b/docs/attributes-registry/build.md deleted file mode 100644 index 57b127b64c..0000000000 --- a/docs/attributes-registry/build.md +++ /dev/null @@ -1,16 +0,0 @@ - - - - - -# Build - -## Build Attributes - -This group describes attributes specific to builds (ci). - -| Attribute | Type | Description | Examples | Stability | -| ------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `build.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `build.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index a3451bd26d..5088c8379c 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -34,3 +34,27 @@ groups: often found in checksum.txt on a release of the artifact and used to verify pakage integrity. examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] + - id: attestation.id + type: string + stability: experimental + brief: > + The id of the build [software attestation](https://slsa.dev/attestation-model). + examples: ['123'] + - id: attestation.filename + type: string + stability: experimental + brief: > + The filename for provenance directly related to the artifact. + Attestations can have a one to many relationship with build + artifacts. See + [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) + for more information. + examples: ['golang-binary-amd64-v0.1.0.attestation', 'docker-image-amd64-v0.1.0.intoto.json1', 'release-1.tar.gz.attestation', 'file-name-package.tar.gz.intoto.json1'] + - id: attestation.hash + type: string + stability: experimental + brief: > + The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + of the built attestation. Some envelopes in the software attestation + space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). + examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] diff --git a/model/registry/build.yaml b/model/registry/build.yaml deleted file mode 100644 index 70a1b1ee93..0000000000 --- a/model/registry/build.yaml +++ /dev/null @@ -1,21 +0,0 @@ -groups: - - id: registry.build - prefix: build - type: attribute_group - brief: > - This group describes attributes specific to builds (ci). - attributes: - - id: attestation.id - type: string - stability: experimental - brief: > - The id of the build [software attestation](https://slsa.dev/attestation-model). - examples: ['123'] - - id: attestation.hash - type: string - stability: experimental - brief: > - The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), - of the built attestation. Some envelopes in the software attestation - space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). - examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] From d060aab31b7c69e37bda41884957bf46f2bb4e11 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 10 Jul 2024 09:57:33 -0400 Subject: [PATCH 25/42] [chore] run make generate templates --- .github/ISSUE_TEMPLATE/bug_report.yaml | 6 +++--- .github/ISSUE_TEMPLATE/change_proposal.yaml | 6 +++--- .github/ISSUE_TEMPLATE/new-conventions.yaml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index f492bf1b14..0daedd1cf6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -20,14 +20,14 @@ body: # DO NOT manually edit it. # Start semconv area list - area:android + - area:artifact - area:aspnetcore - area:aws - area:browser - - area:build - area:cicd - area:client - - area:cloud - area:cloudevents + - area:cloud - area:code - area:container - area:cpu @@ -75,8 +75,8 @@ body: - area:url - area:user-agent - area:user - - area:vcs - area:v8js + - area:vcs - area:webengine # End semconv area list - type: textarea diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index 689082d444..0e201e5074 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -13,14 +13,14 @@ body: # DO NOT manually edit it. # Start semconv area list - area:android + - area:artifact - area:aspnetcore - area:aws - area:browser - - area:build - area:cicd - area:client - - area:cloud - area:cloudevents + - area:cloud - area:code - area:container - area:cpu @@ -68,8 +68,8 @@ body: - area:url - area:user-agent - area:user - - area:vcs - area:v8js + - area:vcs - area:webengine # End semconv area list - type: textarea diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 9df70ec576..1bda5dde98 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -22,14 +22,14 @@ body: # DO NOT manually edit it. # Start semconv area list - area:android + - area:artifact - area:aspnetcore - area:aws - area:browser - - area:build - area:cicd - area:client - - area:cloud - area:cloudevents + - area:cloud - area:code - area:container - area:cpu @@ -77,8 +77,8 @@ body: - area:url - area:user-agent - area:user - - area:vcs - area:v8js + - area:vcs - area:webengine # End semconv area list - type: textarea From c84b645879af49fbab79902467eb784b53d44576 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 10 Jul 2024 12:35:51 -0400 Subject: [PATCH 26/42] [chore] replace status for case with status for test --- docs/attributes-registry/test.md | 27 ++++++--------------- model/registry/test.yaml | 41 +------------------------------- 2 files changed, 8 insertions(+), 60 deletions(-) diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index c87855d725..300a83de97 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -10,15 +10,13 @@ This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.name` | string | The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.id` | string | The unique identifier of a test case run. | `123445` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.run.status` | string | The status of the test case run, where run is referring to the run of the test case in the context of the pipeline, and not the actual result of the case. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.name` | string | The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. @@ -27,17 +25,6 @@ This group describes attributes specific to [software tests](https://en.wikipedi | `fail` | fail | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `pass` | pass | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -`test.suite.case.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. - -| Value | Description | Stability | -| ------------- | ----------- | ---------------------------------------------------------------- | -| `aborted` | aborted | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `failure` | failure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `in_progress` | in_progress | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `skipped` | skipped | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `success` | success | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `timed_out` | timed_out | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - `test.suite.run.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | diff --git a/model/registry/test.yaml b/model/registry/test.yaml index b3fe9a8917..cc9d0f279f 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -53,47 +53,8 @@ groups: type: string stability: experimental brief: > - The human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). + The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). examples: ['TestCase1'] - - id: case.run.id - type: string - stability: experimental - brief: > - The unique identifier of a test case run. - examples: ['123445'] - - id: case.run.status - type: - members: - - id: success - value: success - brief: success - stability: experimental - - id: failure - value: failure - brief: failure - stability: experimental - - id: skipped - value: skipped - brief: skipped - stability: experimental - - id: aborted - value: aborted - brief: aborted - stability: experimental - - id: timed_out - value: timed_out - brief: timed_out - stability: experimental - - id: in_progress - value: in_progress - brief: in_progress - stability: experimental - stability: experimental - brief: > - The status of the test case run, where run is referring to the run of - the test case in the context of the pipeline, and not the actual - result of the case. - examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out', 'in_progress'] - id: case.result.status type: members: From e190234cb07eec718882f90994cc65781ab412c9 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 10 Jul 2024 12:47:21 -0400 Subject: [PATCH 27/42] [chore] yammlint --- model/registry/artifact.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index 5088c8379c..ae7af96770 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -46,7 +46,7 @@ groups: brief: > The filename for provenance directly related to the artifact. Attestations can have a one to many relationship with build - artifacts. See + artifacts. See [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) for more information. examples: ['golang-binary-amd64-v0.1.0.attestation', 'docker-image-amd64-v0.1.0.intoto.json1', 'release-1.tar.gz.attestation', 'file-name-package.tar.gz.intoto.json1'] From 61355501238bbbc4fd71aa83ba3672819ef4e3b7 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 10 Jul 2024 13:06:28 -0400 Subject: [PATCH 28/42] [chore] run make gen issue templates --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/change_proposal.yaml | 2 +- .github/ISSUE_TEMPLATE/new-conventions.yaml | 2 +- internal/tools/scripts/update-issue-template-areas.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 0daedd1cf6..9e86d2ce75 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -26,8 +26,8 @@ body: - area:browser - area:cicd - area:client - - area:cloudevents - area:cloud + - area:cloudevents - area:code - area:container - area:cpu diff --git a/.github/ISSUE_TEMPLATE/change_proposal.yaml b/.github/ISSUE_TEMPLATE/change_proposal.yaml index 0e201e5074..7a1e2c8165 100644 --- a/.github/ISSUE_TEMPLATE/change_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/change_proposal.yaml @@ -19,8 +19,8 @@ body: - area:browser - area:cicd - area:client - - area:cloudevents - area:cloud + - area:cloudevents - area:code - area:container - area:cpu diff --git a/.github/ISSUE_TEMPLATE/new-conventions.yaml b/.github/ISSUE_TEMPLATE/new-conventions.yaml index 1bda5dde98..8c13039fed 100644 --- a/.github/ISSUE_TEMPLATE/new-conventions.yaml +++ b/.github/ISSUE_TEMPLATE/new-conventions.yaml @@ -28,8 +28,8 @@ body: - area:browser - area:cicd - area:client - - area:cloudevents - area:cloud + - area:cloudevents - area:code - area:container - area:cpu diff --git a/internal/tools/scripts/update-issue-template-areas.sh b/internal/tools/scripts/update-issue-template-areas.sh index da2f81ebcf..1c0c0fe3ae 100755 --- a/internal/tools/scripts/update-issue-template-areas.sh +++ b/internal/tools/scripts/update-issue-template-areas.sh @@ -37,7 +37,7 @@ echo -e "The replacement text will be:" echo -e "---------------------------------------------\n" echo -e $replacement -find ${TEMPLATES_DIR} -type f -name '*.yaml' -print0 | xargs -0 sed -i "/$START_AREA_LIST/,/$END_AREA_LIST/c\\$replacement" +find ${TEMPLATES_DIR} -type f -name '*.yaml' -print0 | xargs -0 gsed -i "/$START_AREA_LIST/,/$END_AREA_LIST/c\\$replacement" echo -e "\nISSUE_TEMPLATES updated successfully" echo -e "---------------------------------------------" From 488b516e217c4e94ef9651706a5ba619babf2b56 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 10 Jul 2024 13:29:45 -0400 Subject: [PATCH 29/42] [chore] revert commit of gsed in shell script --- internal/tools/scripts/update-issue-template-areas.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/tools/scripts/update-issue-template-areas.sh b/internal/tools/scripts/update-issue-template-areas.sh index 1c0c0fe3ae..da2f81ebcf 100755 --- a/internal/tools/scripts/update-issue-template-areas.sh +++ b/internal/tools/scripts/update-issue-template-areas.sh @@ -37,7 +37,7 @@ echo -e "The replacement text will be:" echo -e "---------------------------------------------\n" echo -e $replacement -find ${TEMPLATES_DIR} -type f -name '*.yaml' -print0 | xargs -0 gsed -i "/$START_AREA_LIST/,/$END_AREA_LIST/c\\$replacement" +find ${TEMPLATES_DIR} -type f -name '*.yaml' -print0 | xargs -0 sed -i "/$START_AREA_LIST/,/$END_AREA_LIST/c\\$replacement" echo -e "\nISSUE_TEMPLATES updated successfully" echo -e "---------------------------------------------" From 91b8cd71dcfc74c3299e5ed24d4f499134597224 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Thu, 11 Jul 2024 09:45:54 -0400 Subject: [PATCH 30/42] [chore] add additional fully qualified test examples --- docs/attributes-registry/test.md | 14 +++++++------- model/registry/test.yaml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 300a83de97..30b22920e5 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -10,13 +10,13 @@ This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.name` | string | The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `TestCase1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.suite.case.name` | string | The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `org.example.TestCase1.test1`; `example/tests/TestCase1.test1`; `ExampleTestCase1_test1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.suite.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/test.yaml b/model/registry/test.yaml index cc9d0f279f..340720fc80 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -54,7 +54,7 @@ groups: stability: experimental brief: > The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). - examples: ['TestCase1'] + examples: ['org.example.TestCase1.test1', 'example/tests/TestCase1.test1', 'ExampleTestCase1_test1'] - id: case.result.status type: members: From b41c126846244cce31b5a13f349c4e3d47ab9c26 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Thu, 11 Jul 2024 10:01:31 -0400 Subject: [PATCH 31/42] [chore] update components in changelog --- .chloggen/cicd-reg-attr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/cicd-reg-attr.yaml b/.chloggen/cicd-reg-attr.yaml index 9f781a59cd..3bc3103393 100755 --- a/.chloggen/cicd-reg-attr.yaml +++ b/.chloggen/cicd-reg-attr.yaml @@ -7,7 +7,7 @@ change_type: breaking # The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) -component: cicd, deployment +component: cicd, deployment, artifact, test, vcs # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). note: Adds CICD common attributes to the registry. From 2fcfa2721a0ccdfbccfcf46c5db45008a4f14639 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 15 Jul 2024 09:13:16 -0400 Subject: [PATCH 32/42] [chore] make adjustments to vcs, cicd, changlog, artifact based on feedback --- .chloggen/cicd-reg-attr.yaml | 2 +- .markdown_link_check_config.json | 2 +- docs/attributes-registry/artifact.md | 20 +++++++------- docs/attributes-registry/cicd.md | 2 +- docs/attributes-registry/vcs.md | 2 +- model/registry/artifact.yaml | 41 ++++++++++++++++++++-------- model/registry/cicd.yaml | 23 +++++++++++----- model/registry/vcs.yaml | 28 +++++++++++++------ 8 files changed, 78 insertions(+), 42 deletions(-) diff --git a/.chloggen/cicd-reg-attr.yaml b/.chloggen/cicd-reg-attr.yaml index 3bc3103393..a50fe72f31 100755 --- a/.chloggen/cicd-reg-attr.yaml +++ b/.chloggen/cicd-reg-attr.yaml @@ -21,4 +21,4 @@ issues: [915, 832, 833] # Use pipe (|) for multiline entries. subtext: | - CICD common attributes have been added to the registry. - - "`deployment.environment` has been deprecated and moved to `deployment.environment.name`." + - `deployment.environment` has been deprecated and moved to `deployment.environment.name`. diff --git a/.markdown_link_check_config.json b/.markdown_link_check_config.json index d16ec85009..6d5312790a 100644 --- a/.markdown_link_check_config.json +++ b/.markdown_link_check_config.json @@ -4,7 +4,7 @@ "pattern": "^https://github\\.com/open-telemetry/opentelemetry-specification/(issues|pull)" }, { - "pattern": "^https://github\\.com/open-telemetry/semantic-conventions/(issues|pull)" + "pattern": "^https://github\\.com/open-telemetry/semantic-conventions/(issues|pull|actions)" } ], "replacementPatterns": [ diff --git a/docs/attributes-registry/artifact.md b/docs/attributes-registry/artifact.md index 79dcd9eaac..7aae5b5693 100644 --- a/docs/attributes-registry/artifact.md +++ b/docs/attributes-registry/artifact.md @@ -8,14 +8,14 @@ ## Artifact Attributes -This group describes attributes specific to artifacts. +This group describes attributes specific to artifacts. Artifacts are files or other immutable objects that are intended for distribution. This definition aligns directly with the [SLSA](https://slsa.dev/spec/v1.0/terminology#package-model) package model. -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `artifact.attestation.filename` | string | The filename for provenance directly related to the artifact. Attestations can have a one to many relationship with build artifacts. See [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) for more information. | `golang-binary-amd64-v0.1.0.attestation`; `docker-image-amd64-v0.1.0.intoto.json1`; `release-1.tar.gz.attestation`; `file-name-package.tar.gz.intoto.json1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `artifact.attestation.filename` | string | The provenance filename of the built attestation which directly relates to the build artifact filename. This filename SHOULD accompany the artifact at publish time. See the [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) specification for more information. | `golang-binary-amd64-v0.1.0.attestation`; `docker-image-amd64-v0.1.0.intoto.json1`; `release-1.tar.gz.attestation`; `file-name-package.tar.gz.intoto.json1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/docs/attributes-registry/cicd.md b/docs/attributes-registry/cicd.md index 817eb36cc3..24989dd98b 100644 --- a/docs/attributes-registry/cicd.md +++ b/docs/attributes-registry/cicd.md @@ -16,7 +16,7 @@ This group describes attributes specific to pipelines within a Continuous Integr | `cicd.pipeline.run.id` | string | The unique identifier of a pipeline run within a CI/CD system. | `120912` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cicd.pipeline.task.name` | string | The human readable name of a task within a pipeline. Task here most closely aligns with a [computing process]() in a pipeline. Other terms for tasks include commands, steps, and procedures. | `Run GoLang Linter`; `Go Build`; `go-test`; `deploy_binary` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cicd.pipeline.task.run.id` | string | The unique identifier of a task run within a pipeline. | `12097` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `cicd.pipeline.task.run.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run providing the complete address in order to locate and identify the pipeline. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `cicd.pipeline.task.run.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run providing the complete address in order to locate and identify the pipeline run. | `https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `cicd.pipeline.task.type` | string | The type of the task within a pipeline. | `build`; `test`; `deploy` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `cicd.pipeline.task.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index 52fc5870fc..47644ec8fb 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -12,7 +12,7 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en | Attribute | Type | Description | Examples | Stability | | -------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique (within repository) identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.commit.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index ae7af96770..03e79fbe9e 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -3,7 +3,7 @@ groups: prefix: artifact type: attribute_group brief: > - This group describes attributes specific to artifacts. + This group describes attributes specific to artifacts. Artifacts are files or other immutable objects that are intended for distribution. This definition aligns directly with the [SLSA](https://slsa.dev/spec/v1.0/terminology#package-model) package model. attributes: - id: name type: string @@ -11,13 +11,19 @@ groups: brief: > The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. - examples: ['golang-binary-amd64-v0.1.0', 'docker-image-amd64-v0.1.0', 'release-1.tar.gz', 'file-name-package.tar.gz'] + examples: + [ + "golang-binary-amd64-v0.1.0", + "docker-image-amd64-v0.1.0", + "release-1.tar.gz", + "file-name-package.tar.gz", + ] - id: version type: string stability: experimental brief: > The version of the artifact. - examples: ['v0.1.0', '1.2.1', '122691-build'] + examples: ["v0.1.0", "1.2.1", "122691-build"] - id: purl type: string stability: experimental @@ -25,7 +31,11 @@ groups: The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. - examples: ['pkg:github/package-url/purl-spec@1209109710924', 'pkg:npm/foo@12.12.3'] + examples: + [ + "pkg:github/package-url/purl-spec@1209109710924", + "pkg:npm/foo@12.12.3", + ] - id: hash type: string stability: experimental @@ -33,23 +43,29 @@ groups: The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. - examples: ['9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9'] + examples: + ["9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9"] - id: attestation.id type: string stability: experimental brief: > The id of the build [software attestation](https://slsa.dev/attestation-model). - examples: ['123'] + examples: ["123"] - id: attestation.filename type: string stability: experimental brief: > - The filename for provenance directly related to the artifact. - Attestations can have a one to many relationship with build - artifacts. See + The provenance filename of the built attestation which directly relates to the build artifact filename. This filename SHOULD accompany the artifact at publish time. + See the [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) - for more information. - examples: ['golang-binary-amd64-v0.1.0.attestation', 'docker-image-amd64-v0.1.0.intoto.json1', 'release-1.tar.gz.attestation', 'file-name-package.tar.gz.intoto.json1'] + specification for more information. + examples: + [ + "golang-binary-amd64-v0.1.0.attestation", + "docker-image-amd64-v0.1.0.intoto.json1", + "release-1.tar.gz.attestation", + "file-name-package.tar.gz.intoto.json1", + ] - id: attestation.hash type: string stability: experimental @@ -57,4 +73,5 @@ groups: The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). - examples: ['1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408'] + examples: + ["1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408"] diff --git a/model/registry/cicd.yaml b/model/registry/cicd.yaml index 1e02f10d08..16b381274b 100644 --- a/model/registry/cicd.yaml +++ b/model/registry/cicd.yaml @@ -18,13 +18,19 @@ groups: stability: experimental brief: > The human readable name of the pipeline within a CI/CD system. - examples: ['Build and Test', 'Lint', 'Deploy Go Project', 'deploy_to_environment'] + examples: + [ + "Build and Test", + "Lint", + "Deploy Go Project", + "deploy_to_environment", + ] - id: run.id type: string stability: experimental brief: > The unique identifier of a pipeline run within a CI/CD system. - examples: ['120912'] + examples: ["120912"] - id: task.name type: string stability: experimental @@ -33,20 +39,23 @@ groups: closely aligns with a [computing process](https://en.wikipedia.org/wiki/Pipeline_(computing)) in a pipeline. Other terms for tasks include commands, steps, and procedures. - examples: ['Run GoLang Linter', 'Go Build', 'go-test', 'deploy_binary'] + examples: ["Run GoLang Linter", "Go Build", "go-test", "deploy_binary"] - id: task.run.id type: string stability: experimental brief: > The unique identifier of a task run within a pipeline. - examples: ['12097'] + examples: ["12097"] - id: task.run.url.full type: string stability: experimental brief: > The [URL](https://en.wikipedia.org/wiki/URL) of the pipeline run - providing the complete address in order to locate and identify the pipeline. - examples: ['https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075'] + providing the complete address in order to locate and identify the pipeline run. + examples: + [ + "https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075", + ] - id: task.type type: members: @@ -65,4 +74,4 @@ groups: stability: experimental brief: > The type of the task within a pipeline. - examples: ['build', 'test', 'deploy'] + examples: ["build", "test", "deploy"] diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index 3f0d594098..ce7619f37c 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -3,8 +3,8 @@ groups: prefix: vcs.repository type: attribute_group brief: > - This group defines the attributes for - [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). + This group defines the attributes for + [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). attributes: - id: url.full type: string @@ -13,7 +13,11 @@ groups: The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. - examples: ['https://github.com/opentelemetry/open-telemetry-collector-contrib', 'https://gitlab.com/my-org/my-project/my-projects-project/repo'] + examples: + [ + "https://github.com/opentelemetry/open-telemetry-collector-contrib", + "https://gitlab.com/my-org/my-project/my-projects-project/repo", + ] - id: ref.name type: string stability: experimental @@ -21,7 +25,7 @@ groups: The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. - examples: ['my-feature-branch', 'tag-1-test'] + examples: ["my-feature-branch", "tag-1-test"] - id: ref.type type: members: @@ -36,7 +40,7 @@ groups: stability: experimental brief: > The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. - examples: ['branch', 'tag'] + examples: ["branch", "tag"] - id: ref.commit.hash type: string stability: experimental @@ -48,7 +52,8 @@ groups: as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. - examples: ['9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc'] + examples: + ["9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc"] - id: change.title type: string stability: experimental @@ -56,11 +61,16 @@ groups: The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. - examples: ['Fixes broken thing', 'feat: add my new feature', '[chore] update dependency'] + examples: + [ + "Fixes broken thing", + "feat: add my new feature", + "[chore] update dependency", + ] - id: change.id type: string stability: experimental brief: > The ID of the change (pull request/merge request) if applicable. This - is usually a unique identifier generated by the VCS system. - examples: ['123'] + is usually a unique (within repository) identifier generated by the VCS system. + examples: ["123"] From c7bd59955c2d7dce73b1cabed26859edfb2054d6 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 15 Jul 2024 09:17:48 -0400 Subject: [PATCH 33/42] [chore] fix line length after linting --- model/registry/artifact.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index 03e79fbe9e..ba4723ab92 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -3,7 +3,11 @@ groups: prefix: artifact type: attribute_group brief: > - This group describes attributes specific to artifacts. Artifacts are files or other immutable objects that are intended for distribution. This definition aligns directly with the [SLSA](https://slsa.dev/spec/v1.0/terminology#package-model) package model. + This group describes attributes specific to artifacts. Artifacts are + files or other immutable objects that are intended for distribution. This + definition aligns directly with the + [SLSA](https://slsa.dev/spec/v1.0/terminology#package-model) package + model. attributes: - id: name type: string @@ -55,8 +59,9 @@ groups: type: string stability: experimental brief: > - The provenance filename of the built attestation which directly relates to the build artifact filename. This filename SHOULD accompany the artifact at publish time. - See the + The provenance filename of the built attestation which directly + relates to the build artifact filename. This filename SHOULD + accompany the artifact at publish time. See the [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) specification for more information. examples: From 70e75bc95858642e365eb61a8a0ff6f444b55872 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 15 Jul 2024 09:23:20 -0400 Subject: [PATCH 34/42] [chore] run attribute registry generation --- docs/attributes-registry/deployment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/attributes-registry/deployment.md b/docs/attributes-registry/deployment.md index 750334fd71..85fd31f339 100644 --- a/docs/attributes-registry/deployment.md +++ b/docs/attributes-registry/deployment.md @@ -6,8 +6,8 @@ # Deployment -- [Deployment](#deployment-attributes) -- [Deployment Deprecated](#deployment-deprecated-attributes) +- [Deployment Attributes](#deployment-attributes) +- [Deployment Deprecated Attributes](#deployment-deprecated-attributes) ## Deployment Attributes From c6ec2c959a1ef3544613aad89c99410a89f4744d Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 15 Jul 2024 20:12:28 -0400 Subject: [PATCH 35/42] [chore] update artifact and test attribute per suggestions --- docs/attributes-registry/artifact.md | 10 +++++++- docs/attributes-registry/test.md | 18 +++++++------- model/registry/artifact.yaml | 10 +++++++- model/registry/test.yaml | 35 +++++++++++++++++++--------- 4 files changed, 51 insertions(+), 22 deletions(-) diff --git a/docs/attributes-registry/artifact.md b/docs/attributes-registry/artifact.md index 7aae5b5693..b9e70bc38e 100644 --- a/docs/attributes-registry/artifact.md +++ b/docs/attributes-registry/artifact.md @@ -15,7 +15,15 @@ This group describes attributes specific to artifacts. Artifacts are files or ot | `artifact.attestation.filename` | string | The provenance filename of the built attestation which directly relates to the build artifact filename. This filename SHOULD accompany the artifact at publish time. See the [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) specification for more information. | `golang-binary-amd64-v0.1.0.attestation`; `docker-image-amd64-v0.1.0.intoto.json1`; `release-1.tar.gz.attestation`; `file-name-package.tar.gz.intoto.json1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify pakage integrity. | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify package integrity. [1] | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +**[1]:** The specific algorithm used to create the cryptographic hash value is +not defined. In situations where an artifact has many cryptographic +hashes, it is up to the implementer to choose which hash value to set +here; ideally that which is most secure, situationally ideal, and +consistent with the corresponding attestation. The implementer can +then provide the other hash values through an additional set of +attribute extensions as they deem necessary. diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index 30b22920e5..cb1b888060 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -10,15 +10,15 @@ This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). -| Attribute | Type | Description | Examples | Stability | -| ------------------------------- | ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -| `test.suite.case.name` | string | The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `org.example.TestCase1.test1`; `example/tests/TestCase1.test1`; `ExampleTestCase1_test1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | - -`test.suite.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. +| Attribute | Type | Description | Examples | Stability | +| ------------------------- | ------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| `test.case.name` | string | The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `org.example.TestCase1.test1`; `example/tests/TestCase1.test1`; `ExampleTestCase1_test1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +`test.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | Value | Description | Stability | | ------ | ----------- | ---------------------------------------------------------------- | diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index ba4723ab92..a155f866e5 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -46,7 +46,15 @@ groups: brief: > The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to - verify pakage integrity. + verify package integrity. + note: | + The specific algorithm used to create the cryptographic hash value is + not defined. In situations where an artifact has many cryptographic + hashes, it is up to the implementer to choose which hash value to set + here; ideally that which is most secure, situationally ideal, and + consistent with the corresponding attestation. The implementer can + then provide the other hash values through an additional set of + attribute extensions as they deem necessary. examples: ["9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9"] - id: attestation.id diff --git a/model/registry/test.yaml b/model/registry/test.yaml index 340720fc80..84590b6e15 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -1,24 +1,24 @@ groups: - id: registry.test.suite - prefix: test.suite + prefix: test type: attribute_group brief: > - This group describes attributes specific to - [software tests](https://en.wikipedia.org/wiki/Software_testing). + This group describes attributes specific to + [software tests](https://en.wikipedia.org/wiki/Software_testing). attributes: - - id: name + - id: suite.name type: string stability: experimental brief: > The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). - examples: ['TestSuite1'] - - id: run.id + examples: ["TestSuite1"] + - id: suite.run.id type: string stability: experimental brief: > The unique identifier of a test suite run. - examples: ['123408'] - - id: run.status + examples: ["123408"] + - id: suite.run.status type: members: - id: success @@ -48,13 +48,26 @@ groups: stability: experimental brief: > The status of the test suite run. - examples: ['success', 'failure', 'skipped', 'aborted', 'timed_out', 'in_progress'] + examples: + [ + "success", + "failure", + "skipped", + "aborted", + "timed_out", + "in_progress", + ] - id: case.name type: string stability: experimental brief: > The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). - examples: ['org.example.TestCase1.test1', 'example/tests/TestCase1.test1', 'ExampleTestCase1_test1'] + examples: + [ + "org.example.TestCase1.test1", + "example/tests/TestCase1.test1", + "ExampleTestCase1_test1", + ] - id: case.result.status type: members: @@ -69,4 +82,4 @@ groups: stability: experimental brief: > The status of the actual test case result from test execution. - examples: ['pass', 'fail'] + examples: ["pass", "fail"] From e7e2c2c8515f87ed86a7915a5285961fe155cba0 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 15 Jul 2024 21:36:24 -0400 Subject: [PATCH 36/42] [chore] move artifact.name to artifact.filename per suggestions --- docs/attributes-registry/artifact.md | 13 +++++++++---- model/registry/artifact.yaml | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/attributes-registry/artifact.md b/docs/attributes-registry/artifact.md index b9e70bc38e..6fd6fda5fa 100644 --- a/docs/attributes-registry/artifact.md +++ b/docs/attributes-registry/artifact.md @@ -15,12 +15,17 @@ This group describes attributes specific to artifacts. Artifacts are files or ot | `artifact.attestation.filename` | string | The provenance filename of the built attestation which directly relates to the build artifact filename. This filename SHOULD accompany the artifact at publish time. See the [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) specification for more information. | `golang-binary-amd64-v0.1.0.attestation`; `docker-image-amd64-v0.1.0.intoto.json1`; `release-1.tar.gz.attestation`; `file-name-package.tar.gz.intoto.json1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify package integrity. [1] | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.name` | string | The human readable file name of the artifact, often generated by build and release utilities to include the package name and version. | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the artifact, providing a standard way to identify and locate the artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.filename` | string | The human readable file name of the artifact, generated by build and release utilities to include the package name and version. [1] | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify package integrity. [2] | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the [package artifact](https://slsa.dev/spec/v1.0/terminology#package-model), providing a standard way to identify and locate the packaged artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -**[1]:** The specific algorithm used to create the cryptographic hash value is +**[1]:** This file name can also act as the [Package Name](https://slsa.dev/spec/v1.0/terminology#package-model) +in cases where the package ecosystem maps accordingly. +Additionally, the artifact [can be published](https://slsa.dev/spec/v1.0/terminology#software-supply-chain) +for others, but that is not a guarantee. + +**[2]:** The specific algorithm used to create the cryptographic hash value is not defined. In situations where an artifact has many cryptographic hashes, it is up to the implementer to choose which hash value to set here; ideally that which is most secure, situationally ideal, and diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index a155f866e5..ee02dc6b55 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -9,12 +9,17 @@ groups: [SLSA](https://slsa.dev/spec/v1.0/terminology#package-model) package model. attributes: - - id: name + - id: filename type: string stability: experimental brief: > - The human readable file name of the artifact, often generated by + The human readable file name of the artifact, generated by build and release utilities to include the package name and version. + note: | + This file name can also act as the [Package Name](https://slsa.dev/spec/v1.0/terminology#package-model) + in cases where the package ecosystem maps accordingly. + Additionally, the artifact [can be published](https://slsa.dev/spec/v1.0/terminology#software-supply-chain) + for others, but that is not a guarantee. examples: [ "golang-binary-amd64-v0.1.0", @@ -33,8 +38,8 @@ groups: stability: experimental brief: > The [Package URL](https://github.com/package-url/purl-spec) of the - artifact, providing a standard way to identify and locate the - artifact. + [package artifact](https://slsa.dev/spec/v1.0/terminology#package-model), + providing a standard way to identify and locate the packaged artifact. examples: [ "pkg:github/package-url/purl-spec@1209109710924", From d5a3a34691c6c17d2a0a333ac571b781567eb42a Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Mon, 15 Jul 2024 22:10:23 -0400 Subject: [PATCH 37/42] [chore] move commit.hash to revision and add additional information --- docs/attributes-registry/vcs.md | 26 ++++++++++++++++++-------- model/registry/vcs.yaml | 28 +++++++++++++++++++--------- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index 47644ec8fb..bd49776943 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -10,14 +10,24 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en.wikipedia.org/wiki/Version_control). -| Attribute | Type | Description | Examples | Stability | -| -------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | -| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique (within repository) identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.commit.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the recorded change the ref (branch) is pointing to in the repository. This recorded change is known as the [commit](https://git-scm.com/docs/git-commit). This commit is stored as an object containing a [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) which is a SHA. | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.ref.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `vcs.repository.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| Attribute | Type | Description | Examples | Stability | +| ----------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | +| `vcs.repository.change.id` | string | The ID of the change (pull request/merge request) if applicable. This is usually a unique (within repository) identifier generated by the VCS system. | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.change.title` | string | The human readable title of the change (pull request/merge request). This title is often a brief summary of the change and may get merged in to a ref as the commit summary. | `Fixes broken thing`; `feat: add my new feature`; `[chore] update dependency` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.name` | string | The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository. | `my-feature-branch`; `tag-1-test` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.revision` | string | The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN. [1] | `9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc`; `main`; `123`; `HEAD` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.ref.type` | string | The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. | `branch`; `tag` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `vcs.repository.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | + +**[1]:** The revision can be a full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), +of the recorded change to a ref within a repository pointing +to a commit [commit](https://git-scm.com/docs/git-commit) object. +It does not necessarily have to be a hash, however, as it can +simply define a [revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html); +an integer that is monotonically increasing. It can also be identical +to the `ref.name` and SHOULD still be included if it is. It is up to +the implementer to decide which value to set as the revision based on +the VCS system and situational context. `vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index ce7619f37c..be95ef9c19 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -41,19 +41,29 @@ groups: brief: > The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository. examples: ["branch", "tag"] - - id: ref.commit.hash + - id: ref.revision type: string stability: experimental brief: > - The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), - of the recorded change the ref (branch) is pointing to in the - repository. This recorded change is known as the - [commit](https://git-scm.com/docs/git-commit). This commit is stored - as an object containing a - [unique identifier](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefobjectnameaobjectname) - which is a SHA. + The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), + The revision most often refers to a commit object in Git, or a revision number in SVN. + note: | + The revision can be a full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), + of the recorded change to a ref within a repository pointing + to a commit [commit](https://git-scm.com/docs/git-commit) object. + It does not necessarily have to be a hash, however, as it can + simply define a [revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html); + an integer that is monotonically increasing. It can also be identical + to the `ref.name` and SHOULD still be included if it is. It is up to + the implementer to decide which value to set as the revision based on + the VCS system and situational context. examples: - ["9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc"] + [ + "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc", + "main", + "123", + "HEAD", + ] - id: change.title type: string stability: experimental From 82df8baa6531bfefe0c8439a92d097759b8789da Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Tue, 16 Jul 2024 14:49:01 -0400 Subject: [PATCH 38/42] [chore] upper case CICD in weaver --- templates/registry/markdown/weaver.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/registry/markdown/weaver.yaml b/templates/registry/markdown/weaver.yaml index 9d926f4978..f0d8849c7f 100644 --- a/templates/registry/markdown/weaver.yaml +++ b/templates/registry/markdown/weaver.yaml @@ -9,7 +9,7 @@ acronyms: - AI - iOS - AWS - - Cicd + - CICD - CloudEvents - CPU - CosmosDB From d75e796c36d69d0a2aee79310cef2cf789fa937f Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Tue, 16 Jul 2024 15:01:47 -0400 Subject: [PATCH 39/42] [chore] adjust weaver yaml --- docs/attributes-registry/README.md | 2 +- docs/attributes-registry/cicd.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/attributes-registry/README.md b/docs/attributes-registry/README.md index e4967bdec1..ad69328b23 100644 --- a/docs/attributes-registry/README.md +++ b/docs/attributes-registry/README.md @@ -36,7 +36,7 @@ Currently, the following namespaces exist: - [Aspnetcore](aspnetcore.md) - [AWS](aws.md) - [Browser](browser.md) -- [Cicd](cicd.md) +- [CICD](cicd.md) - [Client](client.md) - [Cloud](cloud.md) - [CloudEvents](cloudevents.md) diff --git a/docs/attributes-registry/cicd.md b/docs/attributes-registry/cicd.md index 24989dd98b..858bf01b96 100644 --- a/docs/attributes-registry/cicd.md +++ b/docs/attributes-registry/cicd.md @@ -4,9 +4,9 @@ -# Cicd +# CICD -## Cicd Pipeline Attributes +## CICD Pipeline Attributes This group describes attributes specific to pipelines within a Continuous Integration and Continuous Deployment (CI/CD) system. A [pipeline]() in this case is a series of steps that are performed in order to deliver a new version of software. This aligns with the [Britannica](https://www.britannica.com/dictionary/pipeline) definition of a pipeline where a **pipeline** is the system for developing and producing something. In the context of CI/CD, a pipeline produces or delivers software. From 93e780151f8a91859360ef2f4870b0d3eaaa29de Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Tue, 16 Jul 2024 18:20:40 -0400 Subject: [PATCH 40/42] [chore] remove test run id attribute and fix title --- docs/attributes-registry/test.md | 3 +-- model/registry/test.yaml | 8 +------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/attributes-registry/test.md b/docs/attributes-registry/test.md index cb1b888060..c8ad68977b 100644 --- a/docs/attributes-registry/test.md +++ b/docs/attributes-registry/test.md @@ -6,7 +6,7 @@ # Test -## Test Suite Attributes +## Test Attributes This group describes attributes specific to [software tests](https://en.wikipedia.org/wiki/Software_testing). @@ -15,7 +15,6 @@ This group describes attributes specific to [software tests](https://en.wikipedi | `test.case.name` | string | The fully qualified human readable name of the [test case](https://en.wikipedia.org/wiki/Test_case). | `org.example.TestCase1.test1`; `example/tests/TestCase1.test1`; `ExampleTestCase1_test1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `test.case.result.status` | string | The status of the actual test case result from test execution. | `pass`; `fail` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `test.suite.name` | string | The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). | `TestSuite1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `test.suite.run.id` | string | The unique identifier of a test suite run. | `123408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `test.suite.run.status` | string | The status of the test suite run. | `success`; `failure`; `skipped`; `aborted`; `timed_out`; `in_progress` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | `test.case.result.status` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/test.yaml b/model/registry/test.yaml index 84590b6e15..3f62dd02f5 100644 --- a/model/registry/test.yaml +++ b/model/registry/test.yaml @@ -1,5 +1,5 @@ groups: - - id: registry.test.suite + - id: registry.test prefix: test type: attribute_group brief: > @@ -12,12 +12,6 @@ groups: brief: > The human readable name of a [test suite](https://en.wikipedia.org/wiki/Test_suite). examples: ["TestSuite1"] - - id: suite.run.id - type: string - stability: experimental - brief: > - The unique identifier of a test suite run. - examples: ["123408"] - id: suite.run.status type: members: From 66049106349a600b3b44bcc2b964680836ef1f30 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Tue, 16 Jul 2024 22:48:24 -0400 Subject: [PATCH 41/42] [chore] add CICD codeowners --- .github/CODEOWNERS | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f7360531b8..b2e2b63056 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -87,3 +87,11 @@ /model/metrics/process-metrics.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-security-approvers /model/resource/process.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-security-approvers /model/network.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-security-approvers + +# CICD semantic conventions approvers +/model/registry/artifact.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-cicd-approvers +/model/registry/cicd.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-cicd-approvers +/model/registry/code.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-cicd-approvers +/model/registry/deployment.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-cicd-approvers +/model/registry/test.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-cicd-approvers +/model/registry/vcs.yaml @open-telemetry/specs-semconv-approvers @open-telemetry/semconv-cicd-approvers From 33452c6e9cdea0990d82b4e3afe38b18865da794 Mon Sep 17 00:00:00 2001 From: Adriel Perkins Date: Wed, 17 Jul 2024 09:31:15 -0400 Subject: [PATCH 42/42] [chore] more wording adjustments based on feedback --- docs/attributes-registry/artifact.md | 17 +++++++++-------- docs/attributes-registry/vcs.md | 16 ++++++++-------- model/registry/artifact.yaml | 22 ++++++++++++---------- model/registry/vcs.yaml | 16 ++++++++-------- 4 files changed, 37 insertions(+), 34 deletions(-) diff --git a/docs/attributes-registry/artifact.md b/docs/attributes-registry/artifact.md index 6fd6fda5fa..fe6aa28a93 100644 --- a/docs/attributes-registry/artifact.md +++ b/docs/attributes-registry/artifact.md @@ -15,9 +15,9 @@ This group describes attributes specific to artifacts. Artifacts are files or ot | `artifact.attestation.filename` | string | The provenance filename of the built attestation which directly relates to the build artifact filename. This filename SHOULD accompany the artifact at publish time. See the [SLSA Relationship](https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations) specification for more information. | `golang-binary-amd64-v0.1.0.attestation`; `docker-image-amd64-v0.1.0.intoto.json1`; `release-1.tar.gz.attestation`; `file-name-package.tar.gz.intoto.json1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.attestation.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), of the built attestation. Some envelopes in the software attestation space also refer to this as the [digest](https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec). | `1b31dfcd5b7f9267bf2ff47651df1cfb9147b9e4df1f335accf65b4cda498408` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.attestation.id` | string | The id of the build [software attestation](https://slsa.dev/attestation-model). | `123` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.filename` | string | The human readable file name of the artifact, generated by build and release utilities to include the package name and version. [1] | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.filename` | string | The human readable file name of the artifact, typically generated during build and release processes. Often includes the package name and version in the file name. [1] | `golang-binary-amd64-v0.1.0`; `docker-image-amd64-v0.1.0`; `release-1.tar.gz`; `file-name-package.tar.gz` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.hash` | string | The full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), often found in checksum.txt on a release of the artifact and used to verify package integrity. [2] | `9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | -| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the [package artifact](https://slsa.dev/spec/v1.0/terminology#package-model), providing a standard way to identify and locate the packaged artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | +| `artifact.purl` | string | The [Package URL](https://github.com/package-url/purl-spec) of the [package artifact](https://slsa.dev/spec/v1.0/terminology#package-model) provides a standard way to identify and locate the packaged artifact. | `pkg:github/package-url/purl-spec@1209109710924`; `pkg:npm/foo@12.12.3` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | `artifact.version` | string | The version of the artifact. | `v0.1.0`; `1.2.1`; `122691-build` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** This file name can also act as the [Package Name](https://slsa.dev/spec/v1.0/terminology#package-model) @@ -26,9 +26,10 @@ Additionally, the artifact [can be published](https://slsa.dev/spec/v1.0/termino for others, but that is not a guarantee. **[2]:** The specific algorithm used to create the cryptographic hash value is -not defined. In situations where an artifact has many cryptographic -hashes, it is up to the implementer to choose which hash value to set -here; ideally that which is most secure, situationally ideal, and -consistent with the corresponding attestation. The implementer can -then provide the other hash values through an additional set of -attribute extensions as they deem necessary. +not defined. In situations where an artifact has multiple +cryptographic hashes, it is up to the implementer to choose which +hash value to set here; this should be the most secure hash algorithm +that is suitable for the situation and consistent with the +corresponding attestation. The implementer can then provide the other +hash values through an additional set of attribute extensions as they +deem necessary. diff --git a/docs/attributes-registry/vcs.md b/docs/attributes-registry/vcs.md index bd49776943..0e11f9b2bf 100644 --- a/docs/attributes-registry/vcs.md +++ b/docs/attributes-registry/vcs.md @@ -20,14 +20,14 @@ This group defines the attributes for [Version Control Systems (VCS)](https://en | `vcs.repository.url.full` | string | The [URL](https://en.wikipedia.org/wiki/URL) of the repository providing the complete address in order to locate and identify the repository. | `https://github.com/opentelemetry/open-telemetry-collector-contrib`; `https://gitlab.com/my-org/my-project/my-projects-project/repo` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | **[1]:** The revision can be a full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), -of the recorded change to a ref within a repository pointing -to a commit [commit](https://git-scm.com/docs/git-commit) object. -It does not necessarily have to be a hash, however, as it can -simply define a [revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html); -an integer that is monotonically increasing. It can also be identical -to the `ref.name` and SHOULD still be included if it is. It is up to -the implementer to decide which value to set as the revision based on -the VCS system and situational context. +of the recorded change to a ref within a repository pointing to a +commit [commit](https://git-scm.com/docs/git-commit) object. It does +not necessarily have to be a hash; it can simply define a +[revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) +which is an integer that is monotonically increasing. In cases where +it is identical to the `ref.name`, it SHOULD still be included. It is +up to the implementer to decide which value to set as the revision +based on the VCS system and situational context. `vcs.repository.ref.type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. diff --git a/model/registry/artifact.yaml b/model/registry/artifact.yaml index ee02dc6b55..9bed81bbb1 100644 --- a/model/registry/artifact.yaml +++ b/model/registry/artifact.yaml @@ -13,8 +13,9 @@ groups: type: string stability: experimental brief: > - The human readable file name of the artifact, generated by - build and release utilities to include the package name and version. + The human readable file name of the artifact, typically generated + during build and release processes. Often includes the package name + and version in the file name. note: | This file name can also act as the [Package Name](https://slsa.dev/spec/v1.0/terminology#package-model) in cases where the package ecosystem maps accordingly. @@ -38,8 +39,8 @@ groups: stability: experimental brief: > The [Package URL](https://github.com/package-url/purl-spec) of the - [package artifact](https://slsa.dev/spec/v1.0/terminology#package-model), - providing a standard way to identify and locate the packaged artifact. + [package artifact](https://slsa.dev/spec/v1.0/terminology#package-model) + provides a standard way to identify and locate the packaged artifact. examples: [ "pkg:github/package-url/purl-spec@1209109710924", @@ -54,12 +55,13 @@ groups: verify package integrity. note: | The specific algorithm used to create the cryptographic hash value is - not defined. In situations where an artifact has many cryptographic - hashes, it is up to the implementer to choose which hash value to set - here; ideally that which is most secure, situationally ideal, and - consistent with the corresponding attestation. The implementer can - then provide the other hash values through an additional set of - attribute extensions as they deem necessary. + not defined. In situations where an artifact has multiple + cryptographic hashes, it is up to the implementer to choose which + hash value to set here; this should be the most secure hash algorithm + that is suitable for the situation and consistent with the + corresponding attestation. The implementer can then provide the other + hash values through an additional set of attribute extensions as they + deem necessary. examples: ["9ff4c52759e2c4ac70b7d517bc7fcdc1cda631ca0045271ddd1b192544f8a3e9"] - id: attestation.id diff --git a/model/registry/vcs.yaml b/model/registry/vcs.yaml index be95ef9c19..a04ca9122e 100644 --- a/model/registry/vcs.yaml +++ b/model/registry/vcs.yaml @@ -49,14 +49,14 @@ groups: The revision most often refers to a commit object in Git, or a revision number in SVN. note: | The revision can be a full [hash value (see glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf), - of the recorded change to a ref within a repository pointing - to a commit [commit](https://git-scm.com/docs/git-commit) object. - It does not necessarily have to be a hash, however, as it can - simply define a [revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html); - an integer that is monotonically increasing. It can also be identical - to the `ref.name` and SHOULD still be included if it is. It is up to - the implementer to decide which value to set as the revision based on - the VCS system and situational context. + of the recorded change to a ref within a repository pointing to a + commit [commit](https://git-scm.com/docs/git-commit) object. It does + not necessarily have to be a hash; it can simply define a + [revision number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html) + which is an integer that is monotonically increasing. In cases where + it is identical to the `ref.name`, it SHOULD still be included. It is + up to the implementer to decide which value to set as the revision + based on the VCS system and situational context. examples: [ "9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc",