Configuration
Coyote has two kinds of configurations, cluster-wide dynamic configuration that relate to the whole cluster, such as creating a namespace or changing access levels; and node-specific static configuration that detail how the node should run or even interact with the cluster.
This page is focused on the node-specific static configuration. For information on namespaces please refer to the namespaces section of the docs.
Setting configurations
Coyote supports setting configurations using both the configuration file and environment variables. Environment variables take precedence over configuration file values.
The configuration is a toml file which has both a general section and some sub-sections.
Here is an example configuration file:
listen_address = "0.0.0.0:8050"
[cluster]
listen_address = "0.0.0.0:18050"
secret = "some-secret"
seed_nodes = ["coyote-node-0:18050", "coyote-node-1:18050", "coyote-node-2:18050"]To override a configuration using environment variables uppercase the full path to the configuration, including the section. For example, the above setting would look like this:
COYOTE_LISTEN_ADDRESS: "0.0.0.0:8050"
# Cluster configuration
COYOTE_CLUSTER_LISTEN_ADDRESS: "0.0.0.0:18050"
COYOTE_CLUSTER_SECRET: "insecure-cluster"
COYOTE_CLUSTER_SEED_NODES: "coyote-node-0:8050, coyote-node-1:8050, coyote-node-2:8050"Common configuration values
Here is an example configuration file with values you may want to change:
# Address and port Coyote clients will use.
listen_address = "0.0.0.0:8050"
# The server's log level (info, debug, trace)
log_level = "info"
# Storage location for persisted modules. E.g. on AWS it would point to EBS.
persistent_db.path = "./db-first"
# Storage location for ephemeral modules. E.g. on AWS it would point to local SSD or ramfs.
ephemeral_db.path = "./db-first-ephemeral"
[cluster]
# Address and port for internal cluster communication.
listen_address = "0.0.0.0:18050"
# Secret used for internal cluster communication.
secret = "some-secret"
# Cluster nodes to bootstrap cluster discovery. Coyote will use these to discover other members of the cluster. Most people just put all the nodes on this list, but a partial list is also fine.
seed_nodes = ["coyote-node-0:18050", "coyote-node-1:18050", "coyote-node-2:18050"]Note about storage paths: you don’t need to change them if use the OCI/Docker image. Just make sure to mount a volume to /storage as shown in the running Coyote section.
Supported settings
Most settings you shouldn’t care about. For the full set example_configuration.toml