> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/web-application-and-api-protection-waap/installation/platform-agent/kubernetes/annotations-and-labels.md).

# Annotations and labels

The topic describes the various annotations that are available for traceable-agent

***

## Traceable module extension (tme)

The following tables describe labels and annotations for namespace and pod.

### **Namespace**

The following table describes annotations and labels for the namespace.

**Label**

| **Label**                | **Description**                                                                                   |
| ------------------------ | ------------------------------------------------------------------------------------------------- |
| `traceableai-inject-tme` | Set this value to `enabled` for the namespace where you want to inject Traceable module extension |

**Annotations**

| **Annotation**                   | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tme.traceable.ai/defaultInject` | <p>This annotation defines the default injection behavior on pods in a namespace, that is, whether you want to inject or do not want to inject.</p><ul><li>Value set to <code>true</code> - When you set the value to <code>true</code>, then by default injection is enabled. If you <strong>do not want</strong> injection at the <strong>pod level</strong>, set <code>agent.traceable.ai/inject: false.</code></li><li>Value set to <code>false</code> - When you set the value to <code>false</code>, then by default injection is disabled. In this case, if <strong>you want</strong> injection at the <strong>pod level</strong>, set <code>agent.traceable.ai/inject: true</code></li></ul><p>When this annotation is not set, the default behavior is similar to when the value is set to <code>false</code>.</p> |

### Pod

**Labels**

There are no labels for the pod for Traceable platform agent.

**Annotations**

| **Annotations**             | **Description**                                                                                                                                                                                                                                                       |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tme.traceable.ai/inject`   | Set the value to `true` to enable injection and `false` to disable injection. The default behavior, when this annotation is not specified, depends on the behavior of the namespace. See, `tme.traceable.ai/defaultInject` annotation in the namespace section above. |
| `tme.traceable.ai/port`     | Defines the port to be used for `tme` sidecar GRPC endpoint. The default value is 5441.                                                                                                                                                                               |
| `tme.traceable.ai/restPort` | Defines the port to be used for `tme` REST endpoint. The default value is 5442.                                                                                                                                                                                       |
| `tme.traceable.ai/blocking` | The annotation is used to define request blocking in the injected `tme`. Set the value to `true` to enable blocking and `false` to disable blocking. The default behavior is to enable blocking.                                                                      |

***

### Mirroring

The following tables describe labels and annotations for namespace and pod.

**Label**

| **Label**                | **Description**                                       |
| ------------------------ | ----------------------------------------------------- |
| `traceableai-inject-tme` | Set this value to `enabled` for the target namespace. |

#### Namespace

**Annotations**

| **Annotation**                      | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mirror.traceable.ai/defaultInject` | <p>This annotation defines the default injection behavior on pods in a namespace, that is, whether you want to inject or do not want to inject.</p><ul><li>Value set to <code>true</code> - When you set the value to <code>true</code>, then by default injection is enabled. If you <strong>do not want</strong> injection at the <strong>pod leve</strong>l, set the pod annotation <code>mirror.traceable.ai/inject: false</code>.</li><li>Value set to <code>false</code> - When you set the value to <code>false</code>, then by default injection is disabled. In this case, if <strong>you want</strong> injection at the <strong>pod level</strong>, set the pod annotation <code>mirror.traceable.ai/inject: true</code></li></ul><p>When this annotation is not set, the default behavior is similar to when the value is set to <code>false</code>.</p> |

#### Pod

The following table describes annotations and labels for the pod.

**Labels**

There are no labels for the pod for mirroring.

**Annotations**

| **Annotation**               | **Description**                                                                                                                                                                                                                                                                                                                                                                                           |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mirror.traceable.ai/inject` | <p>Set the value to <code>true</code> to enable injection of the Traceable Mirroring Module(tmm) along with the Traceable Module Extension(tme) and <code>false</code> to disable injection.<br>The default behavior, when this annotation is not specified, depends on the behavior of the namespace. See, <code>mirror.traceable.ai/defaultInject</code> annotation in the namespace section above.</p> |

{% hint style="info" %}
Other annotations prefixed with `tme.traceable.ai` also work alongside.
{% endhint %}

***

## **Java agent**

The following tables describe labels and annotations for namespace and pod.

### **Namespace**

The following table describes annotations and labels for the namespace.

**Label**

| **Label**                 | **Description**                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------------- |
| `traceableai-inject-java` | Set the value to `enabled` for the namespace where you would like to inject the Java agent. |

**Annotation**

| **Annotation**                    | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `java.traceable.ai/defaultInject` | <p>This annotation defines the default injection behavior on pods in a namespace, that is, whether you want to inject or do not want to inject.</p><ul><li>Value set to <code>true</code> - When you set the value to <code>true</code>, then by default injection is enabled. If you <strong>do not want</strong> injection at the <strong>pod leve</strong>l, set <code>java.traceable.ai/inject: false</code>.</li><li>Value set to <code>false</code> - When you set the value to <code>false</code>, then by default injection is disabled. In this case, if <strong>you want</strong> injection at the <strong>pod level</strong>, set <code>java.traceable.ai/inject: true</code></li></ul><p>When this annotation is not set, the default behavior is similar to when the value is set to <code>false</code>.</p> |

### **Pod**

The following table describes annotations and labels for the pod.

**Labels**

There are no labels for the pod for Java agent.

**Annotation**

| **Annotation**                         | **Description**                                                                                                                                                                                                                               |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `java.traceable.ai/inject`             | Set the value to `true` to enable injection and `false` to disable injection. The default behavior, when this annotation is not specified, depends on the behavior of the namespace. See, `java.traceable.ai/defaultInject` annotation above. |
| `java.traceable.ai/configmap`          | Defines the configmap that contains the Java agent configuration. The default value when this annotation is not specified is an empty string.                                                                                                 |
| `java.traceable.ai/configmapNamespace` | Defines the namespace that contains the configmap defined above. The default value when this annotation is not specified is an empty string.                                                                                                  |
| `java.traceable.ai/blocking`           | The annotation is used to define request blocking in the injected Java agent. Set the value to `true` to enable blocking and `false` to disable blocking. The default behavior is to enable blocking.                                         |
