Engula is fully compatible with Valkey/Redis 7.2 configuration semantics. For most deployments, you can use the Valkey configuration documentation as your primary reference and apply it directly to Engula.
Authoritative reference: https://valkey.io/topics/valkey.conf/
This guide summarizes how to use configuration files with Engula, notes command-line overrides, and highlights runtime reconfiguration. A dedicated section at the end lists Engula-specific options (placeholders for now).
Engula loads its built-in defaults if no configuration file is provided. For production, supply a config file to ensure repeatability:
When running multiple servers, replicas, etc., customize the following at minimum to keep instances isolated:
Example with a custom config:
Engula accepts the same syntax and directives as Valkey/Redis 7.2. Lines are of the form:
Examples:
Notes on quoting and escaping:
For the full catalog of supported directives, see the Valkey reference: https://valkey.io/topics/valkey.conf/
All configuration directives can also be provided as command-line flags. The mapping is identical to the config file, but keywords are prefixed with --.
Example: start a replica on port 6380 of a primary on 127.0.0.1:6379
Internally, Engula composes an in-memory temporary configuration (merging any file you provided), translating flags to the same format as engula.conf.
You can inspect and modify most configuration values while Engula is running using CONFIG GET and CONFIG SET, exactly as in Valkey/Redis.
Caveats:
For cache-only workloads where every key can expire and memory is bounded, consider:
With this setup, applications need not set explicit TTLs for each key; Engula will evict keys using an approximate LRU policy as memory approaches the limit, similar to typical memcached usage.
For more details on eviction policies and behaviors, consult the Valkey documentation: https://valkey.io/topics/valkey.conf/
Engula aims for full configuration compatibility with Valkey/Redis 7.2:
When in doubt, defer to the Valkey configuration documentation: https://valkey.io/topics/valkey.conf/
The following options are unique to Engula. They are placeholders for now and reserved for future features. Unless you explicitly use them, you can rely solely on Valkey/Redis 7.2 directives.
engula.feature_toggle_foo
engula.storage_engine
engula.compaction_tuning
engula.observability.exporter
engula.threadpool.size
engula.security.enclave_mode
engula.network.io_model
These options are not required and have no effect unless explicitly implemented in your Engula build. Future documentation will specify valid values, defaults, and runtime mutability.
Minimal standalone instance:
Replica of a primary at 10.0.0.10:6379:
Cache profile with bounded memory:
For all other directives, behaviors, and defaults, please refer to the Valkey configuration documentation: https://valkey.io/topics/valkey.conf/