Configuration overrides
The YTsaurus operator automatically generates static configuration files for all cluster components based on the Ytsaurus specification. In rare cases, you may need to override specific configuration parameters that are not exposed through the specification fields—for example, for enabling debug logging or tuning RPC timeouts. For this purpose, you can use the configOverrides field.
How it works
Overrides are applied using a patching approach. You create a separate Kubernetes ConfigMap that contains only the parameters you want to change or add. In your YTsaurus cluster specification, you reference this ConfigMap via configOverrides. The operator reads the overrides and merges them into the generated configuration before starting the components.
Note
Before using configOverrides, make sure that the specified option exists in the target component's configuration and is supported in your current YTsaurus version—the operator does not perform this validation. If an option in the override is incorrect, the changes will be silently ignored.
Configuration format
The ConfigMap must contain configuration fragments in YSON format.
ConfigMap structure
Use the following structure when creating the ConfigMap:
- Each key is the name of a component configuration file. For example,
ytserver-http-proxy.ysonfor the HTTP proxy orytserver-master.ysonfor the master server. - Each value is a YSON configuration fragment with the parameters to override.
Example
Here's an example of using configOverrides to configure the cookie domain for HTTP proxies:
Step 1: Create a ConfigMap with configuration overrides:
apiVersion: v1
kind: ConfigMap
metadata:
name: overrides
data:
ytserver-http-proxy.yson: |
{
"auth" = {
"cypress_cookie_manager" = {
"cookie_generator" = {
"domain" = ".test.ytsaurus.keenable.ai";
}
};
};
}
Step 2: Reference the ConfigMap in your Ytsaurus specification:
apiVersion: cluster.ytsaurus.tech/v1
kind: Ytsaurus
metadata:
name: ytdemo
spec:
configOverrides:
name: overrides
# ... rest of your specification
Available configuration files
You can override configuration for any component by using the appropriate configuration file name:
ytserver-master.yson- Master serversytserver-http-proxy.yson- HTTP proxiesytserver-rpc-proxy.yson- RPC proxiesytserver-data-node.yson- Data nodesytserver-exec-node.yson- Exec nodesytserver-tablet-node.yson- Tablet nodesytserver-scheduler.yson- Schedulersytserver-controller-agent.yson- Controller agentsytserver-discovery.yson- Discovery service