Skip to main content

Configuration Reference

The Edge Agent can be configured via a JSON configuration file or Helm chart values.

General Settings

ParameterTypeDefaultDescription
logLevelstring"info"Logging level (debug, info, warn, error)
serverPortinteger8080Port for the HTTP server (metrics, probes)

Graph Settings

ParameterTypeDefaultDescription
graph.pruneIntervalduration1hHow often to prune old nodes/edges
graph.maxPruneAgeduration24hMax age of nodes/edges before pruning

Kubernetes Settings

ParameterTypeDefaultDescription
kube.configPathstring""Path to kubeconfig (if not in-cluster)
kube.resyncIntervalduration5mInformer resync interval
kube.clusterNamestring""Optional cluster identifier
kube.resourcesarray["pods", "services", ...]List of resources to monitor

Services (DNSTap) Settings

ParameterTypeDefaultDescription
services.addressstring":6000"Address to listen for DNSTap streams
services.maxConnsinteger100Max concurrent DNSTap connections
services.workersinteger4Worker pool size for service enrichment
services.readTimeoutduration30sTimeout for reading frames
services.writeTimeoutduration10sTimeout for writing frames
services.tls.enabledbooleanfalseEnable TLS for DNSTap
services.tls.certFilestring""Path to certificate file
services.tls.keyFilestring""Path to private key file
services.tls.caFilestring""Path to CA certificate file
services.tls.requireClientCertbooleanfalseRequire client certificate
services.tls.minVersionstring"1.2"Minimum TLS version
services.tls.cipherSuitesarray[...]Allowed cipher suites
services.compression.enabledbooleantrueEnable DNSTap compression
services.compression.typestring"gzip"Compression type
services.compression.levelinteger-1Compression level (-1 to 9)
services.handshake.timeoutduration10sHandshake timeout
services.handshake.contentTypestring"protobuf..."Expected content type

Publisher Settings

ParameterTypeDefaultDescription
enablePublishingbooleanfalseEnable graph publishing
publisher.apiKeystring""Authentication key for NOFire AI
publisher.timeoutduration5mRequest timeout
publisher.maxRetriesinteger3Max retries for failed requests
publisher.retryDelayduration1mDelay between retries
publisher.enableCompressionbooleanfalseEnable GZIP for published data
publisher.graph.urlstring""Endpoint for graph updates
publisher.graph.intervalduration1hFull graph sync interval

Sentry Settings

ParameterTypeDefaultDescription
sentry.dsnstring""Sentry DSN
sentry.environmentstring""Environment tag
sentry.releasestring""Release tag
sentry.debugbooleanfalseEnable Sentry debug mode
sentry.sampleRatefloat1.0Error sampling rate
sentry.tracesSampleRatefloat0.0Transaction sampling rate

Example Configuration (JSON)

{
  "logLevel": "info",
  "services": {
    "address": ":6000",
    "maxConns": 100,
    "tls": {
      "enabled": true,
      "certFile": "/etc/certs/tls.crt",
      "keyFile": "/etc/certs/tls.key"
    }
  },
  "enablePublishing": true,
  "publisher": {
    "apiKey": "secret-key",
    "graph": {
      "url": "https://api.nofire.ai/graph",
      "interval": "10m"
    }
  },
  "sentry": {
    "dsn": "https://[email protected]/123",
    "environment": "production"
  }
}