> ## Documentation Index
> Fetch the complete documentation index at: https://docs.odigos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Middleware

> Configuring the Middleware backend (Managed)

### Getting Started

<img src="https://d15jtxgb40qetw.cloudfront.net/middleware.svg" alt="middleware" className="not-prose h-20" />

{/*
  !! Do not remove this comment, this acts as a key indicator in `docs/sync-dest-doc.py` !!
  !! END CUSTOM EDIT !!
*/}

### Configuring Destination Fields

<Accordion title="Supported Signals:">
  ✅ Traces
  ✅ Metrics
  ✅ Logs
  ❌ Profiles
</Accordion>

* **MW\_TARGET** `string` : Endpoint.
  * This field is required
* **MW\_API\_KEY** `string` : API Key.
  * This field is required

### Adding Destination to Odigos

There are two primary methods for configuring destinations in Odigos:

##### **Using the UI**

<Steps>
  <Step>
    Use the [Odigos CLI](https://docs.odigos.io/cli/odigos_ui) to access the UI

    ```bash theme={null}
    odigos ui
    ```
  </Step>

  <Step>
    Click on `Add Destination`, select `Middleware` and follow the on-screen instructions
  </Step>
</Steps>

##### **Using Kubernetes manifests**

<Steps>
  <Step>
    Save the YAML below to a file (e.g. `middleware.yaml`)

    ```yaml theme={null}
    apiVersion: odigos.io/v1alpha1
    kind: Destination
    metadata:
      name: middleware-example
      namespace: odigos-system
    spec:
      data:
        MW_TARGET: <Endpoint>
      destinationName: middleware
      secretRef:
        name: middleware-secret
      signals:
      - TRACES
      - METRICS
      - LOGS
      type: middleware

    ---

    apiVersion: v1
    data:
      MW_API_KEY: <Base64 API Key>
    kind: Secret
    metadata:
      name: middleware-secret
      namespace: odigos-system
    type: Opaque
    ```
  </Step>

  <Step>
    Apply the YAML using `kubectl`

    ```bash theme={null}
    kubectl apply -f middleware.yaml
    ```
  </Step>
</Steps>
