Skip to main content

Overview

IncidentFox provides 50+ built-in tools across multiple categories. Each tool can be:
  • Enabled/disabled per team
  • Configured with credentials and settings
  • Customized with team-specific defaults

Tool Categories

CategoryToolsDescription
Kubernetes9Pod logs, deployments, events, resource usage
AWS8EC2, Lambda, RDS, ECS, CloudWatch
Anomaly Detection8Prophet forecasting, Z-score, correlation
Grafana6Dashboards, Prometheus queries, alerts
Datadog3Metrics, logs, APM
New Relic2NRQL queries, APM summary
Coralogix4Log search, alerts, metrics
Snowflake3SQL queries, data enrichment
GitHub16Code search, PRs, issues, workflows
Git12Status, diff, log, blame
Docker15Build, run, logs, exec
Elasticsearch3Log search, aggregations
Slack5Messages, channels, threads

Configuration Structure

Tools are configured under the tools key:
{
  "tools": {
    "kubernetes": {
      "enabled": true,
      "default_namespace": "production",
      "kubeconfig_path": "/path/to/kubeconfig"
    },
    "coralogix": {
      "enabled": true,
      "api_key": "vault://secrets/coralogix-api-key",
      "domain": "coralogix.com"
    },
    "snowflake": {
      "enabled": true,
      "account": "acme.us-west-2",
      "warehouse": "COMPUTE_WH",
      "credentials": "vault://secrets/snowflake"
    }
  }
}

Common Configuration Options

All Tools

OptionTypeDescription
enabledbooleanEnable/disable the tool
timeoutintegerMax execution time in seconds

Credentials

Always use vault references for secrets:
{
  "api_key": "vault://path/to/secret",
  "password": "vault://path/to/password"
}
Never store credentials in plain text. Always use vault references.

Tool-Specific Configuration

Kubernetes

{
  "tools": {
    "kubernetes": {
      "enabled": true,
      "kubeconfig_path": "~/.kube/config",
      "default_namespace": "production",
      "default_context": "prod-cluster",
      "timeout": 30
    }
  }
}
OptionDefaultDescription
kubeconfig_path~/.kube/configPath to kubeconfig file
default_namespacedefaultDefault namespace for queries
default_contextCurrent contextK8s context to use
timeout30Command timeout in seconds

AWS

{
  "tools": {
    "aws": {
      "enabled": true,
      "region": "us-west-2",
      "profile": "production",
      "assume_role": "arn:aws:iam::123456789:role/incidentfox"
    }
  }
}
OptionDefaultDescription
regionFrom envAWS region
profiledefaultAWS profile name
assume_roleNoneIAM role ARN to assume

Coralogix

{
  "tools": {
    "coralogix": {
      "enabled": true,
      "api_key": "vault://secrets/coralogix-api-key",
      "domain": "coralogix.com",
      "default_application": "production",
      "default_subsystem": "backend"
    }
  }
}
OptionRequiredDescription
api_keyYesCoralogix API key
domainYesCoralogix domain (e.g., coralogix.com, eu2.coralogix.com)
default_applicationNoDefault application filter
default_subsystemNoDefault subsystem filter

Snowflake

{
  "tools": {
    "snowflake": {
      "enabled": true,
      "account": "acme.us-west-2",
      "username": "vault://secrets/snowflake-user",
      "password": "vault://secrets/snowflake-pass",
      "warehouse": "COMPUTE_WH",
      "database": "ANALYTICS",
      "schema": "PUBLIC",
      "role": "ANALYST"
    }
  }
}
OptionRequiredDescription
accountYesSnowflake account identifier
usernameYesUsername for authentication
passwordYesPassword (use vault reference)
warehouseYesDefault warehouse
databaseNoDefault database
schemaNoDefault schema
roleNoSnowflake role to use

Datadog

{
  "tools": {
    "datadog": {
      "enabled": true,
      "api_key": "vault://secrets/datadog-api-key",
      "app_key": "vault://secrets/datadog-app-key",
      "site": "datadoghq.com"
    }
  }
}
OptionRequiredDescription
api_keyYesDatadog API key
app_keyYesDatadog Application key
siteNoDatadog site (default: datadoghq.com)

Grafana

{
  "tools": {
    "grafana": {
      "enabled": true,
      "url": "https://grafana.company.com",
      "api_key": "vault://secrets/grafana-api-key",
      "default_datasource": "Prometheus"
    }
  }
}
OptionRequiredDescription
urlYesGrafana instance URL
api_keyYesGrafana API key
default_datasourceNoDefault data source name

GitHub

{
  "tools": {
    "github": {
      "enabled": true,
      "token": "vault://secrets/github-token",
      "default_org": "acme-corp",
      "default_repo": "main-app"
    }
  }
}
OptionRequiredDescription
tokenYesGitHub Personal Access Token
default_orgNoDefault organization
default_repoNoDefault repository

Disabling Dangerous Tools

For security, you may want to disable certain tools:
{
  "agents": {
    "investigation_agent": {
      "disable_default_tools": [
        "shell",
        "docker_exec",
        "db_write",
        "remediation_actions"
      ]
    }
  }
}
Consider which tools are appropriate for each environment. Production may need stricter controls than staging.

Tool Loading Priority

When an agent needs a tool, the system checks:
  1. Is the integration installed? (package availability)
  2. Are credentials configured? (tool config + vault)
  3. Is it enabled for this team? (team config)
  4. Is it allowed for this agent? (agent config)
All conditions must be met for the tool to be available.

Monitoring Tool Usage

View tool usage metrics in the Web UI under Team Console > Agent Runs. Each investigation shows:
  • Which tools were invoked
  • Execution time per tool
  • Success/failure status
  • Tool output (redacted as needed)

Next Steps