container: add CSI attributes (#1337)
Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com> Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com> Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
This commit is contained in:
parent
13373cb8e0
commit
beaeab8863
|
|
@ -0,0 +1,7 @@
|
|||
change_type: enhancement
|
||||
component: container
|
||||
note: >-
|
||||
Add CSI (Container Storage Interface) attributes:
|
||||
`container.csi.plugin.name` and `container.csi.volume.id`.
|
||||
issues: [1119]
|
||||
subtext:
|
||||
|
|
@ -18,10 +18,12 @@ A container instance.
|
|||
| `container.command` | string | The command used to run the container (i.e. the command name). [1] | `otelcontribcol` |  |
|
||||
| `container.command_args` | string[] | All the command arguments (including the command/executable itself) run by the container. | `["otelcontribcol", "--config", "config.yaml"]` |  |
|
||||
| `container.command_line` | string | The full command run by the container as a single string representing the full command. | `otelcontribcol --config config.yaml` |  |
|
||||
| `container.csi.plugin.name` | string | The name of the CSI ([Container Storage Interface](https://github.com/container-storage-interface/spec)) plugin used by the volume. [2] | `pd.csi.storage.gke.io` |  |
|
||||
| `container.csi.volume.id` | string | The unique volume ID returned by the CSI ([Container Storage Interface](https://github.com/container-storage-interface/spec)) plugin. [3] | `projects/my-gcp-project/zones/my-gcp-zone/disks/my-gcp-disk` |  |
|
||||
| `container.id` | string | 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. | `a3bf90e006b2` |  |
|
||||
| `container.image.id` | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [2] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` |  |
|
||||
| `container.image.id` | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [4] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` |  |
|
||||
| `container.image.name` | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` |  |
|
||||
| `container.image.repo_digests` | string[] | Repo digests of the container image as provided by the container runtime. [3] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` |  |
|
||||
| `container.image.repo_digests` | 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"]` |  |
|
||||
| `container.image.tags` | 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"]` |  |
|
||||
| `container.label.<key>` | string | Container labels, `<key>` being the label name, the value being the label value. | `container.label.app=nginx` |  |
|
||||
| `container.name` | string | Container name used by container runtime. | `opentelemetry-autoconf` |  |
|
||||
|
|
@ -29,11 +31,15 @@ A container instance.
|
|||
|
||||
**[1]:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
|
||||
|
||||
**[2]:** 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.
|
||||
**[2]:** This can sometimes be referred to as a "driver" in CSI implementations. This should represent the `name` field of the GetPluginInfo RPC.
|
||||
|
||||
**[3]:** This can sometimes be referred to as a "volume handle" in CSI implementations. This should represent the `Volume.volume_id` field in CSI spec.
|
||||
|
||||
**[4]:** 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.
|
||||
|
||||
**[3]:** [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.
|
||||
**[5]:** [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.
|
||||
|
||||
## Deprecated Container Attributes
|
||||
|
||||
|
|
|
|||
|
|
@ -99,3 +99,23 @@ groups:
|
|||
brief: >
|
||||
Container labels, `<key>` being the label name, the value being the label value.
|
||||
examples: [ 'container.label.app=nginx' ]
|
||||
- id: container.csi.plugin.name
|
||||
type: string
|
||||
stability: experimental
|
||||
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: experimental
|
||||
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"
|
||||
|
|
|
|||
|
|
@ -7,25 +7,26 @@ templates:
|
|||
application_mode: each
|
||||
acronyms:
|
||||
- AI
|
||||
- iOS
|
||||
- AWS
|
||||
- CICD
|
||||
- CloudEvents
|
||||
- CLR
|
||||
- CPU
|
||||
- CSI
|
||||
- DynamoDB
|
||||
- ECS
|
||||
- EKS
|
||||
- GraphQL
|
||||
- GCP
|
||||
- GCE
|
||||
- GCP
|
||||
- GraphQL
|
||||
- HTTP
|
||||
- iOS
|
||||
- JVM
|
||||
- NodeJS
|
||||
- OCI
|
||||
- OTel
|
||||
- OpenTracing
|
||||
- OS
|
||||
- OTel
|
||||
- RabbitMQ
|
||||
- RocketMQ
|
||||
- RPC
|
||||
|
|
|
|||
Loading…
Reference in New Issue