Skip to main content
Version: Spectra Detect 6.2.0

ICAP Connector Secrets and ConfigMap Values

Secrets

Custom NameDefault NameTypeDescription
<ssl.customSecretName><Release.Name>-connector-icap-sslRequired when SSL is enabledTLS secret (kubernetes.io/tls) used for SSL/TLS termination on ICAP NLB.

Values

Secret Configuration

KeyTypeDefaultDescription
ssl.createUserSecretboolfalseIf true, the chart creates a Kubernetes Secret using the crtFile and keyFile parameters. Intended EXCLUSIVELY for development and QA environments. For production, set this to false and provide your own secret via customSecretName.
ssl.crtFilestring""SSL certificate (PEM format). Provide the full certificate chain. Only used if createUserSecret is set to true. WARNING: Use this for convenience/testing only. Do not store sensitive credentials in configuration files that are committed to Git.
ssl.customSecretNamestringnilName of the user-provided secret containing SSL certificate and key. The secret must be of type kubernetes.io/tls (with tls.crt and tls.key keys). If not set, the default secret name will be used.
ssl.keyFilestring""SSL private key (PEM format). Only used if createUserSecret is set to true. WARNING: Use this for convenience/testing only. Do not store sensitive credentials in configuration files that are committed to Git.

Kubernetes Settings

KeyTypeDefaultDescription
affinityobject{}Affinity for pod scheduling.
imagePullSecretslist["rl-registry-key"]Set of stored credentials (authentication tokens) that allows Kubernetes node to "log in" to a private container registry to pull restricted images.
nodeSelectorobject{}Node labels for pod assignment. Pods will only be scheduled to nodes that match all labels defined here.
podAnnotationsobject-Pod annotations. Additional custom annotations for ICAP connector pods. Note: checksum annotation is automatically added in the deployment when Reloader is disabled.
tolerationslist[]Tolerations for pod assignment. Allows pods to be scheduled onto "tainted" nodes that would otherwise repel them.
useReloaderstringnilWhether to enable Reloader annotations. When defined, this value takes precedence over global.useReloader.

Application Configuration

KeyTypeDefaultDescription
configurationobject-ICAP server configuration values (rendered into TOML config).
configuration.allowClassificationslist["unknown","goodware"]Select which classifications to allow: unknown, goodware, suspicious, malicious. Other classifications will be blocked.
configuration.customRESPMODBlockPagestring""Upload a page to replace the content of the HTTP response. The uploaded file will be served to the client instead of the original response from the web server. The file size must not exceed 0.5 MB.
configuration.maxFilesizeint0Specify the maximum file size (in MB) to process. Files exceeding this size will not be analyzed. Default: 0 (unlimited).
configuration.reqmodBlockPageUrlstring""For default block-page, set to http://{EXTERNAL_DNS_HOSTNAME}:8080/icap-block-page or https://{EXTERNAL_DNS_HOSTNAME}:8443/icap-block-page. HTTP port 8080 is always available. HTTPS port 8443 requires SSL certificates to be provided.
configuration.scanRawReqmodBodyboolfalseExtract the raw HTTP message body, and send it to RL scan as is.
configuration.serviceslist[]A list of service aliases on ICAP. Valid characters: lowercase a–z, digits 0–9, and hyphen (-).
configuration.timeoutint300Set the timeout period (in seconds) for processing requests. Default: 300. Valid range: 1 – 86400.

Pod Settings - General

KeyTypeDefaultDescription
enabledboolfalseEnable or disable the ICAP connector deployment.
sslobject-SSL/TLS configuration for ICAP traffic. Uses SSL Passthrough with nginx reverse proxy. NLB forwards raw TCP, nginx handles TLS termination and proxies plain to ICAP server.
ssl.enabledboolfalseEnable or disable SSL/TLS for ICAP.

Pod Settings - ICAP Server

KeyTypeDefaultDescription
imageobject-Configuration values of the ICAP server image.
image.imagePullPolicystring"Always"Image pull policy. Options: Always, IfNotPresent, Never.
image.tagstring"1.6.1-1"Image tag.
replicaCountint1Replicas count for the ICAP connector deployment.
resourcesobject-Resource requests and limits for the ICAP server container.
resources.limitsobject-The maximum amount of resources the container is allowed to consume.
resources.limits.cpustringnilCPU limit. Throttling occurs if the container exceeds this value.
resources.limits.memorystring"4Gi"Memory limit. If exceeded, the container may be terminated with an OOMKilled error.
resources.requestsobject-The minimum amount of resources the container is guaranteed.
resources.requests.cpustring"500m"CPU request.
resources.requests.memorystring"2Gi"Memory request.
serviceobject-Layer 4 LoadBalancer (NLB) service configuration. This is the entry-point for ICAP client traffic into the K8s cluster.
service.annotationsobject{}Additional annotations to add to the Service metadata. For AWS NLB, use annotations like: service.beta.kubernetes.io/aws-load-balancer-type: external and service.beta.kubernetes.io/aws-load-balancer-scheme: internal
service.icapHostnamestring""DNS hostname for ICAP service (e.g., icap-connector.example.com). If set, ExternalDNS will create a DNS record pointing to the NLB.
service.loadBalancerSourceRangeslist[]List of CIDR blocks allowed to access the LoadBalancer.
service.plainPortint1344Port for plain HTTP ICAP traffic on the load balancer.
service.securePortint11344Port for HTTPS ICAP traffic on the load balancer.
service.typestring"LoadBalancer"Type of Kubernetes service to create.

Pod Settings - Nginx

KeyTypeDefaultDescription
nginxobject-Configuration values of the nginx reverse proxy sidecar.
nginx.imageobject-Configuration values of the NGINX image.
nginx.image.imagePullPolicystring"Always"Image pull policy.
nginx.image.tagstring"1.6.1-1"Image tag.
nginx.resourcesobject-Resource requests and limits for the nginx container.
nginx.resources.limitsobject-The maximum amount of resources the container is allowed to consume.
nginx.resources.limits.cpustringnilCPU limit.
nginx.resources.limits.memorystring"256Mi"Memory limit.
nginx.resources.requestsobject-The minimum amount of resources the container is guaranteed.
nginx.resources.requests.cpustring"100m"CPU request.
nginx.resources.requests.memorystring"128Mi"Memory request.