Configuration reference#

Configuration options#

Packet Inspector 1 provides various configuration options for both the filters as well as the aggregator service to customize based on your requirements. These values can be set during the standard Helm deployment of Aspen Mesh and provided as an override values file during the installation or upgrade. Below is an example configuration. You can click any of the fields to jump to the reference documentation.

aspen-mesh-packet-inspector:
  enabled: true
  nodePort: 31672
  gcb:
    address: aspen-mesh-gcbemulator.gcbemulator:21000
    maxConnections: 1
    maxConcurrentMessages: 5
    reconnectTime: 5
    maxErrorRetries: 3
    verbose: false
  tapfilterBufferSize: 5kb
  tapfilterTimeout: 1000ms
  macAddress: 00:00:00:00:00:00

  daemonSetBufferMemoryPercent: 40
  daemonSetGCPercent: 10
  daemonSetTerminationGracePeriodSeconds: 120

Aggregator-service options#

daemonSetBufferMemoryPercent#

The maximum amount of data to be captured by the aggregator service. When this buffer limit is exceeded, packet captures will be dropped starting with the oldest capture and proceeding in capture order. This value is a percentage of the total amount of memory allocated to the Packet Inspector 1 aggregator service. The total memory allocated defaults to 128 MiB. If the aggregator service does not have a memory limit assigned, this value will be based on the total node memory available. It is strongly recommended to set the memory limits depending on your environment to ensure all packets can be captured.

Constraints

Default

40

Min

5

Max

95

Out-of-bounds behavior

The aggregator service will fail to start.

daemonSetGCPercent#

The percent that memory is allowed to grow before triggering another garbage collection (measured from the amount of memory after the last garbage collection). Lower values will cause more GCs. Higher values run the risk of the aggregator-service process getting OOM killed when too much memory is consumed. This configuration sets the GOGC environment variable for the aggregator-service process.

Constraints

Default

10

Min

0 (GC after each memory allocation)

Max

None, but values greater than 100 will delay GC until after multiples of memory are allocated (not recommended)

Out-of-bounds behavior

None

daemonSetTerminationGracePeriodSeconds#

The amount of time an aggregator-service pod will be given to drain while shutting down or restarting. Sets the pod spec terminationGracePeriodSeconds for the aggregator service. Set to a larger value if it takes longer to drain an aggregator-service pod after shutdown is initiated. Empty pods that can shut down more quickly will not take the full amount of time specified.

Constraints

Default

120

Min

0 (delete pod immediately)

Max

None

Out-of-bounds behavior

None

nodePort#

The port number to use for the NodePort service associated with the Packet Inspector 1 aggregator service. Only change if the default node port is already in use by another application.

Constraints

Default

31672

Min

30000

Max

32767

Out-of-bounds behavior

The Helm chart will fail to deploy.

GCB options#

address#

The address of the GCB service, in the format <serviceName>.<namespaceName>.cluster.svc.local:<portNumber>

maxConcurrentMessages#

The maximum number of in-flight requests send to GCB. These will be streamed across a single connection per Packet Inspector 1 instance.

Constraints

Default

5

Min

1

Max

50

Out-of-bounds behavior

The aggregator service will fail to start.

reconnectTime#

The time in minutes to attempt a reconnect to the GCB address. This is a safe reconnect, first verifying that the new connection can be established before dropping the old connection.

Constraints

Default

5 min

Min

1 min

Max

24*60 min (1 day)

Out-of-bounds behavior

The aggregator service will fail to start.

maxErrorRetries#

The maximum number of attempts to retry a failed attempt to send to GCB when the error is retry-able.

Constraints

Default

3

Min

1

Max

10

Out-of-bounds behavior

The aggregator service will fail to start.

verbose#

Whether or not to set the verbose flag when sending requests. Causes GCB to return verbose information during the response. Defaults to false.

Filter options#

tapfilterBufferSize#

The maximum size of data captured during a stream before the filter emits a partial capture to the aggregator service.

Constraints

Format

NUMBER (mb/kb/b)

Default

5kb

Min

1kb

Max

1mb

Out-of-bounds behavior

The Helm chart will fail to deploy.

tapfilterTimeout#

The maximum amount of time to wait before emitting a partial packet from the filter after a stream has started.

Constraints

Format

NUMBER (ms/s)

Default

1s

Min

1ms

Max

5s

Out-of-bounds behavior

The Helm chart will fail to deploy.

macAddress#

The fake MAC address to be used for packet captures. The same MAC address will be used for both the sending and receiving fields of the capture.

Constraints

Format

XX:XX:XX:XX:XX:XX where X is a hexadecimal digit

Out-of-bounds behavior

The Helm chart will fail to deploy.