CASSANDRA_GEODB_KEYSPACE
Default | "d8s_cluster" |
---|---|
Value | Python String |
Changes |
|
Cassandra keyspace used for dovecot cluster.
Appearance
This page lists settings used by the Cluster Controller.
For Dovecot Core Palomar settings, see Palomar Configuration Settings.
CASSANDRA_GEODB_KEYSPACE
Default | "d8s_cluster" |
---|---|
Value | Python String |
Changes |
|
Cassandra keyspace used for dovecot cluster.
CASSANDRA_KEYSPACE
Default | "d8s_cluster" |
---|---|
Value | Python String |
Changes |
|
Cassandra keyspace to use.
CASSANDRA_LOAD_BALANCING_POLICY
Default | "DCAwareRoundRobin" |
---|---|
Value | Python String |
Allowed Values | "RoundRobin" "DCAwareRoundRobin" |
Changes |
|
Policy to use for cassandra load balancing. Determines how requests are distributed among nodes in the cluster.
CASSANDRA_USED_HOSTS_PER_REMOTE_DC
.CASSANDRA_LOCAL_DC
Default | "d8s_cluster" |
---|---|
Value | Python String |
Changes |
|
Name of the local datacenter in Cassandra cluster.
CASSANDRA_PORT
Default | 9042 |
---|---|
Value | Python Integer |
The port Cassandra servers listen on.
CASSANDRA_PROTOCOL_VERSION
Default | 4 |
---|---|
Value | Python Integer |
Version of the cassandra protocol to be used.
CASSANDRA_SERVERS
Default | "localhost" |
---|---|
Value | Python String |
Comma separated list of Cassandra server endpoints.
CASSANDRA_SITE
Default | "d8s_cluster" |
---|---|
Value | Python String |
Changes |
|
Name of the local datacenter in Cassandra cluster.
CASSANDRA_TLS_ENABLED
Default | False |
---|---|
Value | Python Boolean |
Whether to use TLS in Cassandra connections.
CASSANDRA_USED_HOSTS_PER_REMOTE_DC
Default | 0 |
---|---|
Value | Python Integer |
Changes |
|
If CASSANDRA_LOAD_BALANCING_POLICY
is set to "DCAwareRoundRobin",
controls how many nodes in each remote datacenter will have connections opened
against them.
CELERY_BROKER_TRANSPORT_OPTIONS
Default | {} |
---|---|
Value | Python Dictionary |
Needed when using Redis Sentinel where it's required to provide "master_name" as a key in the dictionary.
CELERY_BROKER_URL
Default | "redis://localhost:6379/0" |
---|---|
Value | Python String |
A valid URI to Redis server or Redis Sentinel used for controller task brokering.
CELERY_RESULT_BACKEND
Default | "redis://localhost:6379/0" |
---|---|
Value | Python String |
A valid URI to Redis server or Redis Sentinel used for holding task results.
CELERY_RESULT_BACKEND_TRANSPORT_OPTIONS
Default | {} |
---|---|
Value | Python Dictionary |
Needed when using Redis Sentinel for celery results where it's required to provide "master_name" as a key in the dictionary.
CELERY_RESULT_EXPIRES_SECS
Default | 60 |
---|---|
Value | Python Integer |
Time to live of task results in Redis (in seconds).
CLUSTER_SITE
Default | "dc1a" |
---|---|
Value | Python String |
Palomar site this controller is responsible for. Must be the same
site name configured in dovecot proxies with cluster_local_site
.
CONTROLLER_API_URL
Default | "http://localhost:8000" |
---|---|
Value | Python String |
URL controller API runs on. The server will bind to this address and the admin UI uses this address to send the HTTP requests.
DRY_RUN
Default | 200 |
---|---|
Value | Python Integer |
Changes |
|
Whether to enable DRY_RUN mode to log but not perform controller worker actions, such as: set_host_offline, set_host_online and move group.
GROUP_BALANCE_ENABLED
Default | False |
---|---|
Value | Python Boolean |
Whether to enable group balancing feature. This feature slowly redistributes users between groups in the same backend so they are roughly the same size.
GROUP_BALANCE_GROUP_SIZE_RATIO_SLACK
Default | 10 |
---|---|
Value | Python Integer |
Changes |
|
If group size differences are larger than the given percentage, users will be redistributed.
GROUP_BALANCE_GROUP_SIZE_SLACK_PERCENT
Default | 10 |
---|---|
Value | Python Integer |
Changes |
|
If group size differences are larger than the given percentage, users will be redistributed.
GROUP_BALANCE_MAX_USER_MOVES_PER_PASS
Default | 200 |
---|---|
Value | Python Integer |
See Also |
Maximum total number of users that can be moved (across all groups) at each
iteration of group balancing. Should be higher than
GROUP_BALANCE_MAX_USER_MOVE_BETWEEN_GROUPS
since that setting
controls number of users moved between a group pair while this setting
controls the total sum of users moved across all group pairs.
GROUP_BALANCE_MAX_USER_MOVE_BETWEEN_GROUPS
Default | 100 |
---|---|
Value | Python Integer |
See Also |
Maximum number of users that can be moved between individual groups at each iteration of balancing. Used to prevent big swings in group sizes and too much load on Cassandra.
GROUP_MOVE_FINISH_TIMEOUT_SECS
Default | 600 |
---|---|
Value | Python Integer |
Changes |
|
Maximum time for a group move to finish in seconds. Controller tries to calculate the finish time based on the trend of moved users so far. If it seems that backends won't be able to finish the move in time, it will be forced. A forced move is done by directly setting group's backend ID in GeoDB.
GROUP_MOVE_START_TIMEOUT_SECS
Default | 180 |
---|---|
Value | Python Integer |
Changes |
|
Maximum allowed time of a group move to start in seconds. If backends don't start moving group after this time, a force move will be done. A forced move is done by directly setting group's backend ID in GeoDB.
HOST_FAILURE_COOL_TIME_SECS
Default | 3600 |
---|---|
Value | Python Integer |
Minimum time in seconds between moving groups from hosts with failing logins to other hosts. If a host has high failure rate and the cool off time from its last group move has passed, controller will try to find another host which also has passed its cool-off period to move a group to.
HOST_FAILURE_MIN_LOGINS
Default | 10 |
---|---|
Value | Python Integer |
Minimum number of logins needed in past 5 minutes to start processing host's health (i.e. change backend status if necessary or move groups from it if there is high failure rate).
HOST_FAILURE_RATIO
Default | 0.1 |
---|---|
Value | Python Float |
Ratio of failed logins or mail deliveries to trigger group moves. Must be in (0, 1) range exclusive.
HOST_LOAD_BALANCE_GROUP_MIN_COOL_TIME_SECS
Default | 3600 |
---|---|
Value | Python Integer |
Changes |
|
Minimum time in seconds a group will not be moved to a new backend. If a group needs to be moved for load balancing, this period is honored and groups that have been moved recently will not be moved again. Must be larger than 0.
HOST_LOAD_BALANCE_MIN_COOL_TIME_SECS
Default | 3600 |
---|---|
Value | Python Integer |
Changes |
|
Minimum time in seconds a group will not be moved to a new backend. If a group needs to be moved for load balancing, this period is honored and groups that have been moved recently will not be moved again. Must be larger than 0.
HOST_LOAD_BALANCE_MIN_SAMPLES
Default | 3000 |
---|---|
Value | Python Integer |
Number of samples over the last 24 hours needed for all the Z-scores for a host to do load balancing.
HOST_LOAD_BALANCE_SCORE_DELTA_THRESHOLD_RATIO
Default | 0.5 |
---|---|
Value | Python Float |
Minimum load score difference between backends to initiate group move. See Cluster Controller Load Balancing.
PROMETHEUS_JOB_NAME
Default | "" |
---|---|
Value | Python String |
If set, will be used as the job name to scrape backend and proxy statistics. Required when a Prometheus instance is used that is managed outside of kubernetes installation (e.g. a central instance or mixed environments). If the Prometheus instance scrapes each site hosts with a different job name, this setting must have the value of the job name to prevent unwanted data in query results. Can be empty if using the bundled Prometheus with controller.
PROMETHEUS_URL
Default | "http://localhost:9090/" |
---|---|
Value | Python String |
URL of Prometheus used to gather backend and proxy statistics.