Skip to main content

Helm Charts configuration reference

This page references every available values.yaml option, their utility, default value(s) and behavior.

Docker image sourcing configuration​

Settings related to FlowG's docker image sourcing.

flowg.image.repository — string (Default: linksociety/flowg)

Repository where FlowG image is sourced from.

flowg:
image:
repository: linksociety/flowg
flowg.image.tag - string (Default: latest)

Image tag used by Docker.

flowg:
image:
tag: latest
flowg.image.pullPolicy - string (Default: IfNotPresent)

Image pull policy given to Kubernetes.

flowg:
image:
pullPolicy: IfNotPresent
flowg.image.pullSecrets - array (Default: [])

Image pull secrets for private registries.

flowg:
image:
pullSecrets:
- name: my-secret-registry

FlowG configuration​

Settings related to FlowG's configuration. Will use environment variables. Please read the advanced configuration documentation.

Logging configuration​
flowg.configuration.logging.verbose - string (Default: "True")

Enable or disable verbose logging.

flowg:
configuration:
logging:
verbose: "True"
flowg.configuration.logging.level - string (Default: info)

Log level (e.g. debug, info, warn, error).

flowg:
configuration:
logging:
level: info
Workers configuration​

Number of workers processing data concurrently (minimum: 1).

flowg.configuration.workers.pipelines - string (Default: "64")

Number of records processed by the pipelines at the same time.

flowg:
configuration:
workers:
pipelines: "64"
flowg.configuration.workers.syslog - string (Default: "64")

Number of received syslog messages processed at the same time.

flowg:
configuration:
workers:
syslog: "64"
flowg.configuration.workers.badgerdb - string (Default: "64")

Only available in the single-node chart, the multi-node charts use FoundationDB.

Number of concurrent operations per BadgerDB database.

flowg:
configuration:
workers:
badgerdb: "64"
Seeding credentials configuration​

Seeding is a FlowG feature that creates a user and sample data during the first setup phase. The helm chart is designed to source this user's initial (pre-seed) and reset (post-seed) credentials from a secret that you will need to create.

flowg.configuration.seed.secretName - string (Default: "")

Kubernetes secret name containing initial/reset credentials for database seeding.

flowg:
configuration:
seed:
secretName: flowg-seed-secret
flowg.configuration.seed.initialUsernameKey - string (Default: "")

Key in the secret for the initial user's username.

flowg:
configuration:
seed:
initialUsernameKey: initialUsername
flowg.configuration.seed.initialPasswordKey - string (Default: "")

Key in the secret for the initial user's password.

flowg:
configuration:
seed:
initialPasswordKey: initialPassword
flowg.configuration.seed.resetUsernameKey - string (Default: "")

Key in the secret for the reset user's username (applied after initial population).

flowg:
configuration:
seed:
resetUsernameKey: resetUsername
flowg.configuration.seed.resetPasswordKey - string (Default: "")

Key in the secret for the reset user's password (applied after initial population).

flowg:
configuration:
seed:
resetPasswordKey: resetPassword
BadgerDB configuration​

Only available in the single-node chart, the multi-node charts use FoundationDB.

Memtable sizes, in MB (minimum: 7), and number of memtables kept in memory (minimum: 1), per database. Memory used by memtables is about their size times their number, so these settings drive most of FlowG's memory usage. Lower them when running with a small memory limit.

flowg.configuration.badger.authMemtableSize - string (Default: "64")

Memtable size of the database holding users, roles and tokens.

flowg:
configuration:
badger:
authMemtableSize: "64"
flowg.configuration.badger.logMemtableSize - string (Default: "64")

Memtable size of the database holding the logs.

flowg:
configuration:
badger:
logMemtableSize: "64"
flowg.configuration.badger.configMemtableSize - string (Default: "64")

Memtable size of the database holding pipelines, transformers and forwarders.

flowg:
configuration:
badger:
configMemtableSize: "64"
flowg.configuration.badger.authMemtablesCount - string (Default: "5")

Number of memtables of the database holding users, roles and tokens.

flowg:
configuration:
badger:
authMemtablesCount: "5"
flowg.configuration.badger.logMemtablesCount - string (Default: "5")

Number of memtables of the database holding the logs.

flowg:
configuration:
badger:
logMemtablesCount: "5"
flowg.configuration.badger.configMemtablesCount - string (Default: "5")

Number of memtables of the database holding pipelines, transformers and forwarders.

flowg:
configuration:
badger:
configMemtablesCount: "5"

Base kubernetes pod/service configuration​

flowg.podAnnotations - object (Default: {})

Custom annotations to add to the FlowG pods.

flowg:
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9113"
flowg.serviceAnnotations - object (Default: {})

Custom annotations to add to the FlowG services.

flowg:
serviceAnnotations:
kubernetes.io/description: "flowG load balancer"
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
FlowG pod security context​

Security Context configuration for FlowG's pod. You can also add other Kubernetes option as the entire flowg.podSecurityContext objsect is injected into the manifest. See more here.

flowg.podSecurityContext.runAsNonRoot - boolean (Default: true)

Requires the pod to run as a non-root user.

flowg:
podSecurityContext:
runAsNonRoot: true
flowg.podSecurityContext.runAsUser - integer (Default: 10001)

The UID to run the container process as.

flowg:
podSecurityContext:
runAsUser: 10001
flowg.podSecurityContext.runAsGroup -integer** (Default: 10001)

The GID to run the container process as.

flowg:
podSecurityContext:
runAsGroup: 10001
flowg.podSecurityContext.fsGroup - integer (Default: 10001)

The filesystem group ID for volumes.

flowg:
podSecurityContext:
fsGroup: 10001
Container-level security context​
flowg.securityContext - object (Default: {})

Container-level security context (e.g. allowPrivilegeEscalation, capabilities).

flowg:
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
capabilities:
drop:
- ALL
Liveness/readiness probes configuration​

Kubernetes liveness/readiness probes configuration.

flowg.livenessProbe - object (Default: {})

Custom configuration for liveness probe settings (initialDelaySeconds, timeoutSeconds, etc.).

flowg:
probe:
livenessProbe:
initialDelaySeconds: 3
timeoutSeconds: 5
flowg.readinessProbe - object (Default: {})

Custom configuration for readiness probe settings (initialDelaySeconds, timeoutSeconds, etc.).

flowg:
probe:
readinessProbe:
initialDelaySeconds: 3
timeoutSeconds: 5
Node selector tolerations and taints​

Kubernetes node selector toleration/taints configuration.

flowg.nodeSelectorTolerations - array (Default: null)

Tolerations for pod scheduling on tainted nodes.

flowg:
nodeSelectorTolerations:
- key: "dedicated"
operator: "Equal"
value: "gpu"
effect: "NoSchedule"
Resources limitations and requests​
flowg.resources - object (Default: {})

CPU and memory resource requests and limits for the FlowG container.

flowg:
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
flowg.goMemLimit - string (Default: none)

Go memory limit, passed as the GOMEMLIMIT environment variable. Without it, the Go garbage collector ignores the container memory limit and FlowG can be killed under load. Set it to about 80% of flowg.resources.limits.memory, leaving room for memory outside the Go runtime.

flowg:
resources:
limits:
memory: 256Mi
goMemLimit: "200MiB"

Requested storage configuration​

flowg.storage.size - string (Default: 10Gi)

Storage size requested for the data volume PVC.

flowg:
storage:
size: 10Gi
flowg.storageClassName - string (Default: "")

Storage class name for provisioning the PVC.

flowg:
storage:
storageClassName: "standard"

Network exposure configuration​

flowg.httpPort - integer (Default: 5080)

Port on which the HTTP server listens inside the container.

flowg:
httpPort: 5080
Syslog server configuration​
flowg.syslog.port - integer (Default: 5514)

Port on which the syslog server listens.

flowg:
syslog:
port: 5514
flowg.syslog.protocol - string (Default: UDP)

Protocol used by the syslog server (e.g. UDP, TCP). On fluentd helm chart, UDP is enforced.

flowg:
syslog:
protocol: UDP

FlowG service account configuration​

flowg.serviceAccount.create - boolean (Default: true)

Specifies whether a service account should be created.

flowg:
serviceAccount:
create: true
flowg.serviceAccount.annotations - object (Default: {})

Annotations to add to the service account.

flowg:
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/my-role
flowg.serviceAccount.name - string (Default: "")

The name of the service account to use.

flowg:
serviceAccount:
name: ""

FlowG service configuration​

flowg.service.type - string (Default: LoadBalancer)

Kubernetes service type (e.g. LoadBalancer, NodePort, ClusterIP).

flowg:
service:
type: LoadBalancer
flowg.service.nodePort.httpPort - integer (Default: 30080)

NodePort assigned for HTTP traffic when service type is NodePort/LoadBalancer.

flowg:
service:
nodePort:
httpPort: 30080
flowg.service.nodePort.syslogPort - integer (Default: 32514)

NodePort assigned for syslog traffic when service type is NodePort/LoadBalancer.

flowg:
service:
nodePort:
syslogPort: 32514

Multi-node flowg options​

flowg.replicas - integer (Default: 4)

Number of FlowG replicas in the multi-node deployment.

flowg:
replicas: 4
flowg.secretKey.useExistingSecret - boolean (Default: false)

Whether to use an existing Kubernetes secret for FLOWG_SECRET_KEY.

flowg:
secretKey:
useExistingSecret: false
flowg.secretKey.secretRef - string (Default: flowg-shared-key)

Name of the secret/key used for shared session encryption across replicas.

flowg:
secretKey:
secretRef: flowg-shared-key