Overview
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_sizehttp_response_timeout_msprometheus_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 nameservice_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 emptyvalue: The tunable value
Omit levels⚓︎
Use HTN tunables for more flexibility when defining specific levels isn't needed. For example, leave any optional component of the HTN blank if there's no need to specify it.
Set empty values with consecutive colons, ::.
Empty value examples⚓︎
htn:tunable_name::: 0applies 0 globally (derivative case, equivalent to Hydrolix tunable)htn:tunable_name:service_name:: 0applies 0 only to a specific servicehtn:tunable_name:service_name:pool_name:: 0applies 0 to a service and a pool, but not a specific container
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.