groups:
  - id: registry.container
    prefix: container
    type: attribute_group
    brief: >
      A container instance.
    attributes:
      - id: name
        type: string
        stability: experimental
        brief: >
          Container name used by container runtime.
        examples: ['opentelemetry-autoconf']
      - id: id
        type: string
        stability: experimental
        brief: >
          Container ID. Usually a UUID, as for example used to
          [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification).
          The UUID might be abbreviated.
        examples: ['a3bf90e006b2']
      - id: runtime
        type: string
        stability: experimental
        brief: >
          The container runtime managing this container.
        examples: ['docker', 'containerd', 'rkt']
      - id: image.name
        type: string
        stability: experimental
        brief: >
          Name of the image the container was built on.
        examples: ['gcr.io/opentelemetry/operator']
      - id: image.tags
        type: string[]
        stability: experimental
        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: image.id
        type: string
        stability: experimental
        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: image.repo_digests
        type: string[]
        stability: experimental
        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: command
        type: string
        stability: experimental
        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: command_line
        type: string
        stability: experimental
        brief: >
          The full command run by the container as a single string representing the full command. [2]
        examples: [ 'otelcontribcol --config config.yaml' ]
      - id: command_args
        type: string[]
        stability: experimental
        brief: >
          All the command arguments (including the command/executable itself) run by the container. [2]
        examples: [ 'otelcontribcol, --config, config.yaml' ]
      - id: label
        type: template[string]
        stability: experimental
        brief: >
          Container labels, `<key>` being the label name, the value being the label value.
        examples: [ 'container.label.app=nginx' ]
