Overview
Connect your on-premise or private Kubernetes clusters to IncidentFox SaaS without firewall changes. IncidentFox uses an outbound agent pattern to access your private Kubernetes clusters:- No inbound firewall rules needed
- Agent connects outbound to IncidentFox (port 443)
- You control RBAC permissions via Helm values
- Multiple clusters supported per team
Prerequisites
Before you start:- IncidentFox SaaS account with a team created
- Kubernetes cluster (v1.24+)
kubectlconfigured and able to access your clusterhelmv3.x installed- Outbound HTTPS access to
ui.incidentfox.ai(or your self-hosted gateway)
Setup
Generate API Key
- Log in to the IncidentFox dashboard
- Navigate to Settings → Integrations → Kubernetes
- Click “Add Cluster”
- Enter a Cluster Name (e.g.,
prod-us-east-1,staging) - Click “Generate API Key”
- Copy the API key (starts with
ixfx_k8s_) — you won’t see it again!
Install the Agent
Create a namespace and install the agent:Configuration options:
| Parameter | Description | Default |
|---|---|---|
apiKey | API key from Step 1 (required) | — |
clusterName | Name shown in IncidentFox dashboard | — |
gatewayUrl | IncidentFox gateway URL | https://orchestrator.incidentfox.ai/gateway |
replicaCount | Number of agent replicas | 1 |
logLevel | Logging verbosity (DEBUG, INFO, WARNING) | INFO |
Usage
Once connected, ask IncidentFox about your cluster:RBAC Permissions
The agent uses a ClusterRole to access Kubernetes resources. By default, it has read-only access to:| Resource | Permissions |
|---|---|
| Pods | get, list, watch |
| Pod logs | get |
| Deployments | get, list, watch |
| ReplicaSets | get, list, watch |
| Services | get, list, watch |
| Nodes | get, list, watch |
| Events | get, list, watch |
| ConfigMaps | get, list, watch |
| Namespaces | get, list |
Customizing RBAC
To restrict or expand permissions, use Helm values:Managing Multiple Clusters
Add multiple clusters by repeating the setup for each:- Generate a new API key for each cluster
- Install the agent with a unique release name:
Revoking Access
To disconnect a cluster:- Uninstall the agent:
- Revoke the API key in the dashboard:
- Go to Settings → Integrations → Kubernetes
- Find the cluster and click “Revoke”
Troubleshooting
Agent not connecting
Check pod status:| Symptom | Cause | Solution |
|---|---|---|
ImagePullBackOff | Can’t pull agent image | Check network/registry access |
CrashLoopBackOff | Invalid API key | Verify API key in secret |
Running but not connected | Network blocked | Allow outbound HTTPS to gateway |
Connection drops frequently
The agent automatically reconnects with exponential backoff. Frequent disconnections may indicate:- Unstable network connection
- Gateway maintenance (check status.incidentfox.ai)
- Resource constraints on the agent pod
Permission denied errors
If IncidentFox reports permission errors when querying resources:- Check the ClusterRole exists:
- Verify ClusterRoleBinding:
- Test permissions manually:
Security
| Concern | How we address it |
|---|---|
| API key security | Keys are hashed with SHA-256 + pepper; plaintext never stored |
| Transport | All traffic encrypted via TLS (HTTPS) |
| Agent permissions | You control RBAC; default is read-only |
| Multi-tenant isolation | Each team’s clusters are isolated; agents can only access their team’s data |
| Audit logging | All commands from IncidentFox are logged |
Support
- Email: support@incidentfox.ai
- Documentation: docs.incidentfox.ai
- Status: status.incidentfox.ai
Next Steps
Kubernetes Tools
Learn about Kubernetes tool capabilities
Slack
Set up Slack bot
GitHub
Configure GitHub integration
Configuration
Customize agent behavior

