semantic-conventions/model/container/registry.yaml

125 lines
5.5 KiB
YAML

groups:
- id: registry.container
type: attribute_group
display_name: Container Attributes
brief: >
A container instance.
attributes:
- id: container.name
type: string
stability: development
brief: >
Container name used by container runtime.
examples: ['opentelemetry-autoconf']
- id: container.id
type: string
stability: development
brief: >
Container ID. Usually a UUID, as for example used to
[identify Docker containers](https://docs.docker.com/engine/containers/run/#container-identification).
The UUID might be abbreviated.
examples: ['a3bf90e006b2']
- id: container.runtime
type: string
stability: development
brief: >
The container runtime managing this container.
examples: ['docker', 'containerd', 'rkt']
- id: container.image.name
type: string
stability: development
brief: >
Name of the image the container was built on.
examples: ['gcr.io/opentelemetry/operator']
- id: container.image.tags
type: string[]
stability: development
brief: >
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>`.
examples:
- ['v1.27.1', '3.5.7-0']
- id: container.image.id
type: string
stability: development
brief: >
Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
note: >
Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker
container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect)
endpoint.
K8s defines a link to the container registry repository with digest `"imageID": "registry.azurecr.io
/namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"`.
The ID is assigned by the container runtime and can vary in different environments.
Consider using `oci.manifest.digest` if it is important to identify the same
image in different environments/runtimes.
examples: ['sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f']
- id: container.image.repo_digests
type: string[]
stability: development
brief: >
Repo digests of the container image as provided by the container runtime.
note: >
[Docker](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect) and
[CRI](https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238)
report those under the `RepoDigests` field.
examples:
- [
'example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb',
'internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578'
]
- id: container.command
type: string
stability: development
note: >
If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
brief: >
The command used to run the container (i.e. the command name).
examples: [ 'otelcontribcol' ]
- id: container.command_line
type: string
stability: development
brief: >
The full command run by the container as a single string representing the full command.
examples: [ 'otelcontribcol --config config.yaml' ]
- id: container.command_args
type: string[]
stability: development
brief: >
All the command arguments (including the command/executable itself) run by the container.
examples:
- [ 'otelcontribcol', '--config', 'config.yaml' ]
- id: container.label
type: template[string]
stability: development
brief: >
Container labels, `<key>` being the label name, the value being the label value.
note: >
For example, a docker container label `app` with value `nginx` SHOULD be recorded
as the `container.label.app` attribute with value `"nginx"`.
examples: [ 'nginx' ]
- id: container.csi.plugin.name
type: string
stability: development
brief: >
The name of the CSI ([Container Storage Interface](https://github.com/container-storage-interface/spec)) plugin used by the volume.
note: >
This can sometimes be referred to as a "driver" in CSI implementations.
This should represent the `name` field of the GetPluginInfo RPC.
examples:
- "pd.csi.storage.gke.io"
- id: container.csi.volume.id
type: string
stability: development
brief: >
The unique volume ID returned by the CSI ([Container Storage Interface](https://github.com/container-storage-interface/spec)) plugin.
note: >
This can sometimes be referred to as a "volume handle" in CSI implementations.
This should represent the `Volume.volume_id` field in CSI spec.
examples:
- "projects/my-gcp-project/zones/my-gcp-zone/disks/my-gcp-disk"