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

# Reference Schema

This page provides a comprehensive reference for the schema of all integrations supported by the [Resolve Satellite](/resolve-satellite).

## How to use this page

Use this guide to understand the configuration options available for each integration type. Integrations are listed in alphabetical order for easy navigation.

## Best Practices

<Info>
  **Security Recommendation**: Resolve recommends using a Kubernetes secret manager or your own vault solution (such as AWS Secrets Manager or HashiCorp Vault) to manage tokens and sensitive credentials for connections. This ensures that sensitive data like API keys, tokens, and passwords are stored securely and can be rotated easily without modifying your Helm charts.

  Learn how to use Kubernetes secrets with the Satellite: [Secret Management](/secret-management).
</Info>

## Schema

```yaml yaml theme={null}
integrations:
  alertManagerOnPrem:
    type: alertManager
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      labelFilters: # The labels to use for filtering your alerts
        - name: <string>
          operation: <enum>
          values: <string> # Stringified comma separated values
      datasourceUid: <string>
      multiTenantScopes:
        requestHeaderKey: <string>
        requestHeaderValues:
          - <string>
      alertRulesApiHost: <string>
      requestAdditionalHeaders: # [DEPRECATED] - Please use 'requestHeadersOverrides' instead
        - name: <string>
          value: <string>
      requestHeadersOverrides:
        <key>: <value>
      url: <string>

  awsOnPrem:
    type: aws
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      region: <enum> # The AWS region
      accessKeyId: <string> # The AWS access key ID
      secretAccessKey: <string> # The AWS secret access key
      logGroupName: <string>

  chronosphereOnPrem:
    type: chronosphere
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      url: <string>
      alertScrapingFilters: # The labels to use for filtering your alerts
        - name: <string>
          operation: <enum>
          values: <string> # Stringified comma separated values
      dashboardAllowList: # The list of dashboard slugs to allow. If not set, all dashboards are allowed
        - <string>

  datadogOnPrem:
    type: datadog
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      apiKey: <string>
      appKey: <string> # The application key. Please ensure that the following scopes are enabled: apm_service_catalog_read, apm_api_catalog_read, apm_pipelines_read, apm_read, dashboards_read, metrics_read, monitors_read, timeseries_query, logs_read_data, events_read
      site: <enum> # Please set the domain without including the full URL. For example: datadoghq.com
      serviceMapEnabled: <boolean> # Ingest service map data from APM
      attachServiceMapNodesToEnvironment: <boolean> # Attach service map nodes to Environment
      alertScrapingEnabled: <boolean> # Scrape alerts from Datadog
      alertFilters:
        operation: <enum> # Determines how to evaluate the condition results
        tags: # Filter by tags (leaving emtpy matches all). For example: 'env:production'
          - <string>
        notificationPolicies: # Filter by notification policies (leaving emtpy matches all). For example '@slack-monitoring-alerts'. Regex definitions are allowed.
          - <string>
      redactionConfig:
        enabled: <boolean>
        targetJsonPaths: # List of JSON paths for redaction target.
          - <string>

  dnstap:
    ignoreExternalIPs: <boolean> # Optional. If true, DNSTap will skip creating external service entities. Default false.

  elasticsearchOnPrem:
    type: elasticsearch
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      url: <string>
      indexAllowList: # The list of indices to allow. If not set, all indices are allowed
        - <string>

  gcp:
    type: gcp
    create: true
    connection:
      resourceNames: # Log containers or LogViews to search. Ex: 'projects/PROJECT_ID', 'folders/FOLDER_ID', 'organizations/ORG_ID', 'projects/PROJECT_ID/locations/LOCATION_ID/buckets/BUCKET_ID/views/VIEW_ID'. A folder/org entry covers all child projects with a single IAM grant at that level.
        - <string>
      projectId: <string> # The project used for metrics, alerts, and dashboards API calls. Required when using workloadIdentityConfigJson, or when resourceNames contains no 'projects/PROJECT_ID' entry.
      workloadIdentityConfigJson: <string> # Workload Identity Federation credential config JSON, passed inline as a YAML block scalar (|). Contains no secret material. MUST be a string — do not mount it as a raw JSON secret file. See the GCP integration page for the full setup.

  grafanaOnPrem:
    type: grafana
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      alertScrapingEnabled: <boolean> # If enabled, scrape alerts from the Grafana Alert Manager
      alertScrapingFilters: # The labels to use for filtering your alerts
        - name: <string>
          operation: <enum>
          values: <string> # Stringified comma separated values
      alertScrapingApi: <enum> # The API to use for scraping alerts. Default: 'provisioning-api'.
      includeDatasources: # The data sources to include from auto connection. You can use the uid or the name. Do not use if 'excludeDatasources' is set.
        - <string>
      excludeDatasources: # The data sources to exclude from auto connection. You can use the uid or the name. Do not use if 'includeDatasources' is set'
        - <string>
      datasourceOverrides: # Connection overrides for children data sources
        - uid: <string>
          name: <string>
          type: <string>
          connection:
            datasourceUid: <string>
            multiTenantScopes:
              requestHeaderKey: <string>
              requestHeaderValues:
                - <string>
            alertRulesApiHost: <string>
            requestAdditionalHeaders: # [DEPRECATED] - Please use 'requestHeadersOverrides' instead
              - name: <string>
                value: <string>
            requestHeadersOverrides:
              <key>: <value>
            url: <string>
      linksDomainOverride: <string> # Override the domain to when generating URLs to dashboards, alerts and folders. eg: `https://yourteam.grafana.net`
      requestAdditionalHeaders: # [DEPRECATED] - Please use 'requestHeadersOverrides' instead
        - name: <string>
          value: <string>
      requestHeadersOverrides:
        <key>: <value>
      url: <string>
      useGrafanaProxy: <boolean>

  gitOnSatellite:
    type: git
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      remoteURLs:
        - <string>
        - <string>

  kubernetesOnPrem:
    type: kubernetes
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      namespaceIncludeList: <string> # Comma-separated string, eg: 'application,monitoring'. If empty, all namespaces will be scraped

  lokiOnPrem:
    type: loki
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      datasourceUid: <string>
      multiTenantScopes:
        requestHeaderKey: <string>
        requestHeaderValues:
          - <string>
      alertRulesApiHost: <string>
      requestAdditionalHeaders: # [DEPRECATED] - Please use 'requestHeadersOverrides' instead
        - name: <string>
          value: <string>
      requestHeadersOverrides:
        <key>: <value>
      url: <string>

  prometheusOnPrem:
    type: prometheus
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      alertRulesApiHost: <string>
      serviceMapEnabled: <boolean> # If enabled, construct a service map from traces
      serviceMapFilters: # The labels to use for filtering your service map
        - name: <string> # The label key. eg: 'client_service_namespace'
          values: <string> # Stringified comma separated values. eg: 'default,demo'
      datasourceUid: <string>
      multiTenantScopes:
        requestHeaderKey: <string>
        requestHeaderValues:
          - <string>
      requestAdditionalHeaders: # [DEPRECATED] - Please use 'requestHeadersOverrides' instead
        - name: <string>
          value: <string>
      requestHeadersOverrides:
        <key>: <value>
      url: <string>

  scalyrOnPrem:
    type: scalyr
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      url: <string> # Your Scalyr API URL
      redactionConfig:
        enabled: <boolean>
        targetJsonPaths: # List of JSON paths for redaction target.
          - <string>
 
  splunkOnPrem:
    type: splunk
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      url: <string>
      redactionConfig:
        enabled: <boolean>
        targetJsonPaths: # List of JSON paths for redaction target.
          - <string>

  sumologicOnPrem:
    type: sumologic
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      accessId: <string>
      accessKey: <string>
      url: <enum>

  tempoOnPrem:
    type: tempo
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      datasourceUid: <string>
      multiTenantScopes:
        requestHeaderKey: <string>
        requestHeaderValues:
          - <string>
      alertRulesApiHost: <string>
      requestAdditionalHeaders: # [DEPRECATED] - Please use 'requestHeadersOverrides' instead
        - name: <string>
          value: <string>
      requestHeadersOverrides:
        <key>: <value>
      url: <string>

  toolCallOnPrem:
    type: toolCall
    create: true
    secretName: <your-kubernetes-secret>
    connection:
      toolCallType: <enum> # The type of tool call to make
      requestConfig:
        method: <enum> # The HTTP method to use for the request
        url: <string> # The URL to send the request to
        responseFormat: <enum> # The format of the response
        filters:
          <key>: <value>
      transformSchema:
        <key>: <value>
```
