Hydrolix Tunables
Tunables used in Hydrolix for cluster configuration
Tunables overview
Hydrolix uses tunables, a set of YAML key-value pairs, to configure Hydrolix cluster and secrets behavior, referred to as Hydrolix tunables.
In version 5.0, Hydrolix added the Hydrolix Tunable Names (HTN) naming convention to give a more granular level of control over cluster behavior. These HTN tunables work in conjunction with the existing Hydrolix tunables.
Hydrolix defines all tunables in the hydrolixcluster.yaml
file, under spec:
.
Hydrolix tunables
Hydrolix tunables are used to provide global Hydrolix cluster control, and affect all levels of the cluster. See the Hydrolix Tunables List for more information.
Examples of Hydrolix tunables
decay_reap_batch_size
http_response_timeout_ms
prometheus_scrape_interval
HTN tunables
HTN tunables can be set at different levels: service, pool, and container. The HTN convention provides a clear naming structure and fine control over cluster behavior.
Format structure for HTN tunables
HTN tunables follow a specific naming convention:
htn:tunable_name:service_name:pool_name:container_name: value
The key components for each HTN tunable are:
htn
: Prefix indicates the tunable uses the HTN naming structuretunable_name
: The tunable parameter namevalue
: The tunable valueservice_name
: (Optional) The service where the tunable is applied, can be omitted by using an empty stringpool_name
: (Optional) The pool in the service, can be left emptycontainer_name
: (Optional) The specific container in the pool and service, can be left empty
Tunable precedence order
HTN tunables take precedence over Hydrolix tunables. If no HTN tunable exists in the hydrolixcluster.yaml
file, Hydrolix uses the non-HTN tunable. If neither an HTN or Hydrolix tunable exists, Hydrolix uses the system default.
Scheduled overrides
You can automate temporary overrides for any tunable using scheduled overrides.
Overrides are specified within the Hydrolix spec configuration and take effect when the container's current time falls within the schedule block specified for an override. The HDX custom resource definition itself is never mutated by the contents of the overrides
block. Instead, overrides live only in the operator memory.
Example scheduled overrides
The following are example configuration blocks to create schedule overrides. For configuration information, scale-related examples, limitations, and verification steps, see the scheduled overrides page.
spec:
overrides:
linode-quiet-weekends:
timezone: America/Los_Angeles
weekly:
days: ["Fri..Mon"]
start: "17:00"
end: "08:00"
patch:
silence_linode_alerts: true # turn off Linode alerts for LKE nodes
# reduce ingest (intake-head) to 1 replica with minimal CPU and memory allocation and disable intake spill functionality
# gameday an overwhelmed intake-head replica
spec:
overrides:
gameday-reduce-ingest-disable-spill:
timezone: Europe/Vatican
window:
start: "2025-07-30T10:00:00Z"
end: "2025-07-30T10:30:00Z"
patch:
pools:
intake-head:
replicas: 1
cpu: 1
memory: 2Gi
intake_head_catalog_spill_config:
enabled: false
intake_head_raw_data_spill_config:
enabled: false
spec:
overrides:
november-no-prometheus:
timezone: Brazil/East
cron:
expression: "0 11 11 11 11 ?" # Fire every November 11 at 11:11 AM
duration: "11h"
patch:
prometheus_enabled: false # disable prometheus
Updated 5 days ago