Skip to main content
Version: Spectra Detect 7.0.0

S3 Connector Secrets and ConfigMap Values

Secrets​

S3 Connection Secrets​

Custom NameDefault NameTypeDescription
global.s3Connections.<connection_name>.secrets.credentials.customSecretName<Release.Name>-secret-conn-<connection_name>RequiredAuthentication secret used to connect to AWS S3 or any S3-compatible storage system.

Values​

Connection Configuration​

KeyTypeDefaultDescription
certificatestring""Used when SSL verification is enabled. Note: Only certificate should be provided, do not include the private key.
endpointUrlstring""Only required in non-AWS setups in order to store files to an S3-compatible server. When this parameter is left blank, the default is https://aws.amazonaws.com. Supported pattern(s): https?://.+.
maxReattemptsint5Maximum number of retries when uploading to an S3-compatible server.
payloadSigningEnabledboolfalseSpecifies whether to include an SHA-256 checksum with Amazon Signature Version 4 payloads.
regionstring"us-east-1"Specify the correct AWS geographical region where the S3 bucket is located. Required parameter, ignored for non-AWS setups.
secrets.credentialsobject-Configuration values for the credentials secret.
secrets.credentials.awsS3AccessKeyIdstring""AWS S3 access key ID. 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. Consider using a dedicated secret management solution (e.g., Sealed Secrets, External Secrets, or Vault) for production environments.
secrets.credentials.awsS3SecretAccessKeystring""AWS S3 secret access key. 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. Consider using a dedicated secret management solution (e.g., Sealed Secrets, External Secrets, or Vault) for production environments.
secrets.credentials.createUserSecretboolfalseIf true, the chart creates a Kubernetes Secret using the awsS3AccessKeyId and awsS3SecretAccessKey parameters. WARNING: Use this for convenience/testing only.
secrets.credentials.customSecretNamestring""Custom secret name. If not set, default secret name will be used.
serverSideEncryptionstring""Specify the encryption algorithm used on the target S3 bucket (e.g. aws:kms or AES256).
sslVerifyboolfalseEnable/disable SSL verification.
useAssignedCredentialsbooleanfalseUse AWS provided credentials. When enabled, application uses credentials assigned by AWS rather than authenticating with its own. This is used in combination with AWS Pod Identity and similar to avoid less safe long-term tokens. If enabled, secrets.credentials.createUserSecret must be set to false.

ARN Profile Configuration​

KeyTypeDefaultDescription
enableArnboolfalseEnables or disables the AWS Role Assumption.
externalRoleIdstring""The external ID of the role that will be assumed. This can be any string. Usually, it’s an ID provided by the entity which uses (but doesn’t own) an S3 bucket. The owner of that bucket takes that external ID and builds an ARN with it.
refreshBufferint5Number of seconds to fetch a new ARN token before the token timeout is reached.
roleArnstring""The role ARN created using the external role ID and an Amazon ID. In other words, the ARN which allows a Worker to obtain a temporary token, which then allows it to save to S3 buckets without a secret access key.
roleSessionNamestring"AssumeRoleSession"Name of the session visible in AWS logs. Can be any string.
tokenDurationint900How long before the authentication token expires and is refreshed. The minimum value is 900 seconds.

Kubernetes Settings​

KeyTypeDefaultDescription
affinityobject{}Affinity for pod scheduling. Allows to constrain which nodes your pod can be scheduled on based on node labels or ensure pods are co-located (or isolated) from other pods.
fullNameOverridestring""Overrides connector-s3 chart full name.
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.
monitoring.enabledboolfalseEnable/disable monitoring with Prometheus.
monitoring.prometheusReleaseNamestring"kube-prometheus-stack"Prometheus release name.
nameOverridestring""Overrides connector-s3 chart name.
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 authentication proxy pods. Note: checksum annotation is automatically added in the deployment when Reloader is disabled.
serviceAccountobject-ServiceAccount configuration.
serviceAccount.createbooltrueSpecifies whether a ServiceAccount will be created. If set to false, pre-create ServiceAccount named "name".
serviceAccount.namestring""The name of the ServiceAccount to use. If not set, the name of the ServiceAccount will equal the name of the workload.
tolerationslist[]Tolerations for pod assignment. Allows pods to be scheduled onto "tainted" nodes that would otherwise repel them. Used for dedicated hardware (GPUs) or specialized node pools.
useReloaderstringnilWhether to enable Reloader annotations. When defined, this value takes precedence over global.useReloader.

Application Configuration​

KeyTypeDefaultDescription
configurationobject-Connector S3 configuration values.
configuration.dbCleanupPollIntervalint7200Specifies time in seconds, in which the database cleanup will be run.
configuration.dbCleanupSampleThresholdInDaysint21Number of previous days that the data will be preserved.
configuration.inputslist[]Configuration for S3 File Storage Input. S3 input.
configuration.maxFileSizeint0The maximum sample size in bytes that will be transmitted from the connector to the appliance for analysis. Setting it to 0 will disable the option.
configuration.maxUploadDelayTimeint10000Delay in milliseconds. In case the Worker cluster is under high load, this parameter is used to delay any new upload to the Worker cluster. The delay parameter will be multiplied by the internal factor determined by the load on the Worker cluster.
configuration.maxUploadRetriesint100Number of times the connector will attempt to upload the file to the processing appliance. Upon reaching the number of retries it will be discarded.
configuration.systemInfoobject-Configuration for S3 System Info. S3 System Info.
configuration.uploadTimeoutint10000Period (in milliseconds) between upload attempts of the sample being re-uploaded.
configuration.uploadTimeoutAlgorithmstring"exponential"The algorithm used for managing delays between re-uploading the samples into the processing appliance. In exponential, the delay is defined by multiplying the max upload timeout parameter by 2, until max value of 5 minutes. Linear backoff will always use the Max upload timeout value for the timeout period between re-uploads. Allowed values: exponential, linear.

Application Configuration - S3 File Storage Input​

KeyTypeDefaultDescription
arnProfileNamestring""Reference to the ARN profile that should be used as default for S3 operations. ARN profiles can be defined in global.arnProfiles. If not defined, default values defined in ARN Profile Configuration section. will be used.
bucketstring""Name of an existing S3 bucket which contains the samples to process.
connectionNamestring""Reference to the connection that should be used as default for S3 operations. Connections can be defined in global.connections. Must be defined.
deleteSourceFileboolfalseSelecting the checkbox will allow the connector to delete source files on S3 storage after they have been processed. Required if 'requireAnalyze' or 'postActionsEnabled' is set to true.
folderstring""The input folder inside the specified bucket which contains the samples to process. All other samples (except those classified as unknown) will be ignored.
identifierstring""Unique name of S3 connection. Must contain only lowercase alphanumeric characters or hyphen (-). Must start and end with an alphanumeric character. Identifier length must be between 3 and 49 characters.
knownBucketstring""Specify the bucket into which the connector will store files classified as 'Goodware'. If empty, the input bucket will be used.
knownDestinationstring"goodware"The folder into which the connector will store files classified as 'Goodware'. The folder is contained within the specified bucket field.
maliciousBucketstring""Specify the bucket into which the connector will store files classified as 'Malicious'. If empty, the input bucket will be used.
maliciousDestinationstring"malware"The folder into which the connector will store files classified as 'Malicious'. The folder is contained within the specified bucket field.
objectMetadataFilter.classificationlist[]Classification.
objectMetadataFilter.enabledboolfalseEnable/disable selection criteria using metadata.
objectMetadataFilter.threatNamelist[]Threat name.
pausedboolfalseTemporarily pause the continuous scanning of this Storage Input. This setting must be set to true to enable retro hunting.
postActionsEnabledboolfalseDisable/enable post actions for S3 connectors.
priorityint5A higher Priority makes it more likely that files from this bucket will be processed first. The supported range is from 1 (highest) to 5 (lowest). Values outside of those minimum and maximum values will be replaced by the minimum or maximum, respectively. Multiple buckets may share the same priority.
requireAnalyzeboolfalseDisable/enable the requirement for analysis of data processed by connector.
serverSideEncryptionCustomerAlgorithmstring""Customer provided encryption algorithm.
serverSideEncryptionCustomerKeystring""Customer provided encryption key.
suspiciousBucketstring""Specify the bucket into which the connector will store files classified as 'Suspicious'. If empty, the input bucket will be used.
suspiciousDestinationstring"suspicious"The folder into which the connector will store files classified as 'Suspicious'. The folder is contained within the specified bucket field.
unknownBucketstring""Specify the bucket into which the connector will store files classified as 'Unknown'. If empty, the input bucket will be used.
unknownDestinationstring"unknown"The folder into which the connector will store files classified as 'Unknown'. The folder is contained within the specified bucket field.

Application Configuration - System Info​

KeyTypeDefaultDescription
configuration.systemInfo.diskHighPercentint0Dish high percent.
configuration.systemInfo.fetchChannelSizeint40Fetch channel size.
configuration.systemInfo.hostUUIDstring""Host UUID.
configuration.systemInfo.maxConnectionsint10Max number of connections.
configuration.systemInfo.maxSlowFetchesint12Max slow fetches.
configuration.systemInfo.numberOfRetriesint300Number of retries.
configuration.systemInfo.requestTimeoutint43200Timeout for requests.
configuration.systemInfo.slowFetchChannelSizeint100Slow fetch channel size.
configuration.systemInfo.slowFetchPauseint5Slow fetch pause.
configuration.systemInfo.typestring"tiscale"Type.
configuration.systemInfo.verifyCertboolfalseVerify SSL certificate.
configuration.systemInfo.versionstring"5.6.0"Version.
configuration.systemInfo.waitTimeoutint1000Wait timeout.

Pod Settings​

KeyTypeDefaultDescription
boltdb.claimNamestringnilPVC name. If empty, default pvc name will be used.
enabledboolfalseEnable or disable the S3 connector deployment.
imageobject-Configuration values of the connector s3 image.
image.pullPolicystring"Always"Image pull policy. Options: Always, IfNotPresent, Never.
image.tagstring"0.40.7-1"Image tag.
persistenceobject-Data storage configuration (BoltDB).
persistence.accessModeslist["ReadWriteOnce"]Specifies the access modes for the volume.
persistence.requestStoragestring"10Gi"The amount of storage to request.
persistence.storageClassNamestringnilName of the StorageClass to use.
resourcesobject-Resource requests and limits for the 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"6Gi"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"4000m"CPU request.
resources.requests.memorystring"2Gi"Memory request.
sdmPortalobject-Reference to the SDM portal service for central logging. Required if SDM Portal is deployed.
sdmPortal.namespacestring""The namespace where SDM Portal is deployed. Defaults to the Connector's namespace if left empty.
sdmPortal.portstringnilThe port used to access the SDM Portal. Defaults to 8080 if not specified.
sdmPortal.releaseNamestring""The release name of the SDM Portal. Fill this out if systemInfo.queueLoggingEnabled is true and SDM is deployed without an umbrella chart.
sdmPortal.urlOverridestring""Full URL of the SDM Portal (e.g., http://sdm.example.com). If provided, releaseName and namespace are ignored. Use this if SDM is outside the cluster.
sharedStorageobject{"enabled":true,"mode":"moving"}Configuration for shared storage between connector and receiver/worker.
sharedStorage.enabledbooltrueEnables shared storage between connector and receiver/worker.
sharedStorage.modestring"moving"Defines if files are downloaded directly to the shared storage ('direct') or first to tmp and then moved ('moving'). Only applicable when sharedStorage is enabled.
tmpobject-Configuration values for generic ephemeral volume for the connectors' /data/connectors/connector-s3/tmp directory.
tmp.accessModeslist["ReadWriteOnce"]Specifies the access modes for the volume.
tmp.requestStoragestring"100Gi"Requested storage size for the ephemeral volume.
tmp.storageClassNamestringnilName of the StorageClass to use for the ephemeral volume. If not set, emptyDir is used instead of an ephemeral volume.
utilitiesImageobject-Configuration values of the utilities image used for init containers.
utilitiesImage.pullPolicystring"Always"Image pull policy. Options: Always, IfNotPresent, Never.
utilitiesImage.tagstring"7.0.0-2"Image tag.