> ## 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.

# Infer Applications

The `inferApplications` feature automatically extracts application names from your Kubernetes resources, allowing Resolve to create Application entities in the entity graph without manual configuration.

## What It Is

When enabled, Resolve analyzes your Kubernetes resources (Deployments, Pods, Services, etc.) and extracts application names based on configurable JSON paths. This creates Application entities that group related resources together, improving observability and investigation workflows.

## Setup

Add the `inferApplications` configuration to your Kubernetes integration in your satellite YAML:

```yaml theme={null}
integrations:
  kubernetesIntegration:
    type: kubernetes
    create: true
    connection:
      inferApplications:
        enabled: true
        applicationNameJsonPaths:
          - $.metadata.labels.app
          - $.metadata.labels['app.kubernetes.io/name']
```

### Configuration Options

* **`enabled`**: Set to `true` to enable application inference
* **`applicationNameJsonPaths`**: Array of JSON paths to extract application names from Kubernetes resource manifests. Paths are tried in order until a match is found.

### JSON Path Features

* Standard JSON path syntax (e.g., `$.metadata.labels.app`)
* Bracket notation for special characters (e.g., `$.metadata.labels['app.kubernetes.io/name']`)
* Concatenation using `+` operator (e.g., `$.metadata.name + "/" + $.metadata.namespace`)

## Example

```yaml theme={null}
integrations:
  production-cluster:
    type: kubernetes
    create: true
    connection:
      contextName: prod-cluster
      environment: production
      inferApplications:
        enabled: true
        applicationNameJsonPaths:
          - $.metadata.labels['app.kubernetes.io/name']
          - $.metadata.labels.app
          - $.metadata.name
```

In this example:

1. First tries to extract from the `app.kubernetes.io/name` label
2. Falls back to the `app` label if not found
3. Uses the resource name as a last resort

This creates Application entities in your entity graph, grouping all resources that share the same application name.
