# Deployment

Qtap offers two flexible management approaches, catering to different deployment needs and preferences: through a cloud control plane or via local configuration files. Both methods provide powerful capabilities with different advantages.

## Cloud-Connected Configuration

[**Cloud-connected mode**](/getting-started/qplane.md) leverages Qpoint's control plane for centralized management:

* **Setup**: Register agents with a token from the Qplane dashboard
* **Management**: Configure via the web UI or API
* **Updates**: Changes automatically propagate to agents
* **Monitoring**: View agent status and health in real-time

```bash
# Example: Deploy with cloud-connected configuration
docker run \
  --privileged \
  --pid=host \
  --network=host \
  -v /sys:/sys \
  us-docker.pkg.dev/qpoint-edge/public/qtap:v0 \
  tap \
  --registration-token=YOUR_TOKEN
```

## Local Configuration

[**Local configuration mode**](/getting-started/qtap.md) uses a YAML file for direct agent configuration:

* **Setup**: Create a `qpoint.yaml` file with your desired settings
* **Management**: Update the configuration file and restart the agent
* **Control**: Complete control over all aspects without external dependencies
* **Isolation**: Works in air-gapped or restricted environments

```yaml
# Example: Minimal local configuration
version: 2
services:
  event_stores:
    - id: console_stdout
      type: stdout
  object_stores:
    - id: console_stdout
      type: stdout
stacks:
  default_stack: # Stack Name
    plugins:
      - type: access_logs
        config:
          mode: details # Default action (summary|details|full)
          format: console # (json|console)
          rules:
            - name: summary log example.com
              expr: request.host == "example.com"
              mode: summary
            - name: details log on anything above 400
              expr: response.status >= 400
              mode: full
tap:
  direction: egress
  ignore_loopback: false
  audit_include_dns: true
  http:
    stack: default_stack
```


---

# 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.qpoint.io/configuration.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.
