# Overview

{% hint style="info" %}
As of version 6.0 the calling the Rest endpoint for provisioning is no longer available.
{% endhint %}

Connections are defined in the **provisioning.yaml** file. The Agent will watch the file and resolve the desired state, applying connections defined in the file.

{% hint style="success" %}
When deploying via [Helm ](https://docs.lenses.io/latest/devx/6.0/deployment/installation/helm/agent)the provisioning.yaml is part of the Agent Values.yaml file.
{% endhint %}

## Defining a Connection <a href="#defining-a-connection" id="defining-a-connection"></a>

Connections are defined in the **provisioning.yaml**. This file is divided into components, each component representing a type of connection.

Each component is **mandatory**:

1. Name - This is the free name of the connection
2. **Version set to 1**
3. Configuration - This is a list of keys/values dependent on the component type.

<details>

<summary>Example provisioning.yaml</summary>

```yaml
kafka:
- name: Kafka
  version: 1
  tags: [my-tag]
  configuration:
    kafkaBootstrapServers:
      value:
        - PLAINTEXT://your.kafka.broker.0:9092
        - PLAINTEXT://your.kafka.broker.1:9092
    protocol: 
      value: PLAINTEXT
    # all metrics properties are optional
    metricsPort: 
      value: 9581
    metricsType: 
      value: JMX
    metricsSsl: 
      value: falseSSL 
```

</details>

## Managing secrets

The **provisioning.yaml** contains secrets. If you are deploying via Helm, the chart will use Kubernetes secrets.

Support is provided for referencing environment variables. This allows you to set secrets in your environment and resolve the value at runtime.

{% hint style="success" %}
Escape the dollar sign
{% endhint %}

```yaml
sslKeystorePassword:
  value: "\${ENV_VAR_NAME}"
```

## Referencing files

Many connections need files, for example, to secure Kafka with SSL you will need a **key store** and optionally a **trust store**.

To reference a file in the **provisioning.yaml**, for example, given:

```yaml
    configuration:
      protocol:
        value: SASL_SSL
      sslKeystore:
        file: "my-keystore.jks"
```

a **file** called **my-keystore.jks** is expected in the same directory.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lenses.io/latest/devx/6.0/deployment/configuration/agent/automation/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
