Skip to content

Introduce manifest of containers #1696 #2457

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .chloggen/merge-oci-into-container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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: oci, container

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Moves the oci.manifest.digest attribute to now be under the container aka container.manifest.digest

# 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: [1696]

# (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: To support the move, the digest type and mediatype can be specified
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ body:
- area:messaging
- area:network
- area:nodejs
- area:oci
- area:openai
- area:opentracing
- area:os
Expand Down
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/change_proposal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ body:
- area:messaging
- area:network
- area:nodejs
- area:oci
- area:openai
- area:opentracing
- area:os
Expand Down
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/new-conventions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ body:
- area:messaging
- area:network
- area:nodejs
- area:oci
- area:openai
- area:opentracing
- area:os
Expand Down
6 changes: 6 additions & 0 deletions docs/registry/attributes/container.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ A container instance.
| <a id="container-image-repo-digests" href="#container-image-repo-digests">`container.image.repo_digests`</a> | string[] | Repo digests of the container image as provided by the container runtime. [5] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-image-tags" href="#container-image-tags">`container.image.tags`</a> | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`. | `["v1.27.1", "3.5.7-0"]` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-label" href="#container-label">`container.label.<key>`</a> | string | Container labels, `<key>` being the label name, the value being the label value. [6] | `nginx` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-manifest-digest" href="#container-manifest-digest">`container.manifest.digest`</a> | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [7] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-manifest-mediatype" href="#container-manifest-mediatype">`container.manifest.mediatype`</a> | string | The media type of the manifest. | `application/vnd.oci.image.manifest.v1+json` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-manifest-type" href="#container-manifest-type">`container.manifest.type`</a> | string | The type of manifest being described. | `image` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-name" href="#container-name">`container.name`</a> | string | Container name used by container runtime. | `opentelemetry-autoconf` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="container-runtime" href="#container-runtime">`container.runtime`</a> | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | ![Development](https://img.shields.io/badge/-development-blue) |

Expand All @@ -40,6 +43,9 @@ The ID is assigned by the container runtime and can vary in different environmen

**[6] `container.label.<key>`:** For example, a docker container label `app` with value `nginx` SHOULD be recorded as the `container.label.app` attribute with value `"nginx"`.

**[7] `container.manifest.digest`:** Follows [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md), and specifically the [Digest property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests).
An example can be found in [Example Image Manifest](https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest).

## Deprecated Container Attributes

Describes deprecated container attributes.
Expand Down
4 changes: 2 additions & 2 deletions docs/registry/attributes/oci.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

# OCI

## Open Container Initiative (OCI) Attributes
## Deprecated Open Container Initiative (OCI) Attributes

An OCI image manifest.

| Attribute | Type | Description | Examples | Stability |
|---|---|---|---|---|
| <a id="oci-manifest-digest" href="#oci-manifest-digest">`oci.manifest.digest`</a> | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [1] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | ![Development](https://img.shields.io/badge/-development-blue) |
| <a id="oci-manifest-digest" href="#oci-manifest-digest">`oci.manifest.digest`</a> | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [1] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>Replaced by `container.manifest.digest`. |

**[1] `oci.manifest.digest`:** Follows [OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md), and specifically the [Digest property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests).
An example can be found in [Example Image Manifest](https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest).
2 changes: 1 addition & 1 deletion docs/registry/entities/container.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
| [`container.label.<key>`](/docs/registry/attributes/container.md) | string | Container labels, `<key>` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.name`](/docs/registry/attributes/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.runtime`](/docs/registry/attributes/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`oci.manifest.digest`](/docs/registry/attributes/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`oci.manifest.digest`](/docs/registry/attributes/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>Replaced by `container.manifest.digest`. |
| [`container.command`](/docs/registry/attributes/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.command_args`](/docs/registry/attributes/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.command_line`](/docs/registry/attributes/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) |
Expand Down
2 changes: 1 addition & 1 deletion docs/resource/container.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
| [`container.label.<key>`](/docs/registry/attributes/container.md) | string | Container labels, `<key>` being the label name, the value being the label value. [3] | `nginx` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.name`](/docs/registry/attributes/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.runtime`](/docs/registry/attributes/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`oci.manifest.digest`](/docs/registry/attributes/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`oci.manifest.digest`](/docs/registry/attributes/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [4] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>Replaced by `container.manifest.digest`. |
| [`container.command`](/docs/registry/attributes/container.md) | string | The command used to run the container (i.e. the command name). [5] | `otelcontribcol` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.command_args`](/docs/registry/attributes/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) |
| [`container.command_line`](/docs/registry/attributes/container.md) | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` | `Opt-In` | ![Development](https://img.shields.io/badge/-development-blue) |
Expand Down
27 changes: 27 additions & 0 deletions model/container/registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,30 @@ groups:
This should represent the `Volume.volume_id` field in CSI spec.
examples:
- "projects/my-gcp-project/zones/my-gcp-zone/disks/my-gcp-disk"
- id: container.manifest.digest
type: string
stability: development
brief: >
The digest of the OCI image manifest. For container images specifically is the
digest by which the container image is known.
note: >
Follows
[OCI Image Manifest Specification](https://github.com/opencontainers/image-spec/blob/main/manifest.md),
and specifically the
[Digest property](https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests).

An example can be found in
[Example Image Manifest](https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest).
examples: [ 'sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4' ]
- id: container.manifest.mediatype
type: string
stability: development
brief: >
The media type of the manifest.
examples: [ 'application/vnd.oci.image.manifest.v1+json' ]
- id: container.manifest.type
type: string
stability: development
brief: >
The type of manifest being described.
examples: [ 'image' ]
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
groups:
- id: registry.oci.manifest
- id: registry.oci.manifest.deprecated
type: attribute_group
display_name: Open Container Initiative (OCI) Attributes
display_name: Deprecated Open Container Initiative (OCI) Attributes
brief: >
An OCI image manifest.
attributes:
- id: oci.manifest.digest
type: string
deprecated:
reason: renamed
renamed_to: container.manifest.digest
stability: development
brief: >
The digest of the OCI image manifest. For container images specifically is the
Expand Down
Loading