Docker Variables

The Reaper Docker container has been designed to be highly configurable. Many of the environment variables map directly or indirectly to a settings in the cassandra-reaper.yaml configuration file.

Direct Mapping to Reaper Specific Configuration Settings

The Docker environment variables listed in this section map directly to Reaper specific settings in the cassandra-reaper.yaml configuration file. The following table below lists the Docker environment variables, their associated Reaper specific setting in the cassandra-reaper.yaml configuration file, and the default value assigned by the Docker container (if any). Definitions for each Docker environment variable can be found via the link to the associated setting.

Environment Variable Configuration Setting Default Value
REAPER_AUTO_SCHEDULING_ENABLED enabled false
REAPER_AUTO_SCHEDULING_EXCLUDED_KEYSPACES excludedKeyspaces []
REAPER_AUTO_SCHEDULING_INITIAL_DELAY_PERIOD initialDelayPeriod PT15S
REAPER_AUTO_SCHEDULING_PERIOD_BETWEEN_POLLS periodBetweenPolls PT10M
REAPER_AUTO_SCHEDULING_SCHEDULE_SPREAD_PERIOD scheduleSpreadPeriod PT6H
REAPER_AUTO_SCHEDULING_TIME_BEFORE_FIRST_SCHEDULE timeBeforeFirstSchedule PT5M
REAPER_DATACENTER_AVAILABILITY datacenterAvailability ALL
REAPER_ENABLE_CROSS_ORIGIN enableCrossOrigin true
REAPER_ENABLE_DYNAMIC_SEED_LIST enableDynamicSeedList true
REAPER_HANGING_REPAIR_TIMEOUT_MINS hangingRepairTimeoutMins 30
REAPER_INCREMENTAL_REPAIR incrementalRepair false
REAPER_JMX_AUTH_PASSWORD password
REAPER_JMX_AUTH_USERNAME username
REAPER_JMX_CONNECTION_TIMEOUT_IN_SECONDS jmxConnectionTimeoutInSeconds 20
REAPER_JMX_PORTS jmxPorts {}
REAPER_LOGGING_APPENDERS_LOG_FORMAT logFormat ”%-6level [%d] [%t] %logger{5} - %msg %n”
REAPER_LOGGING_LOGGERS loggers {}
REAPER_LOGGING_ROOT_LEVEL level INFO
REAPER_METRICS_FREQUENCY fequency 1 minute
REAPER_METRICS_REPORTERS reporters []
REAPER_REPAIR_INTENSITY repairIntensity 0.9
REAPER_REPAIR_MANAGER_SCHEDULING_INTERVAL_SECONDS repairManagerSchedulingIntervalSeconds 30
REAPER_REPAIR_PARALELLISM repairParallelism DATACENTER_AWARE
REAPER_REPAIR_RUN_THREADS repairRunThreadCount 15
REAPER_SCHEDULE_DAYS_BETWEEN scheduleDaysBetween 7
REAPER_SEGMENT_COUNT segmentCount 200
REAPER_SERVER_ADMIN_BIND_HOST bindHost 0.0.0.0
REAPER_SERVER_ADMIN_PORT port 8081
REAPER_SERVER_APP_BIND_HOST bindHost 0.0.0.0
REAPER_SERVER_APP_PORT port 8080
REAPER_STORAGE_TYPE storageType memory
REAPER_USE_ADDRESS_TRANSLATOR useAddressTranslator false


Note:

Some variable names have changed between the release of Docker-support and Reaper for Apache Cassandra 1.0. The following Reaper specific variable name changes have occurred in an effort to match closely with the YAML parameter names:

Pre Reaper 1.0 Post Reaper 1.0
REAPER_ENABLE_CORS REAPER_ENABLE_CROSS_ORIGIN
REAPER_ENABLE_DYNAMIC_SEEDS REAPER_ENABLE_DYNAMIC_SEED_LIST
REAPER_AUTO_SCHEDULE_ENABLED REAPER_AUTO_SCHEDULING_ENABLED
REAPER_AUTO_SCHEDULE_INITIAL_DELAY_PERIOD REAPER_AUTO_SCHEDULING_INITIAL_DELAY_PERIOD
REAPER_AUTO_SCHEDULE_PERIOD_BETWEEN_POLLS REAPER_AUTO_SCHEDULING_PERIOD_BETWEEN_POLLS
REAPER_AUTO_SCHEDULE_TIME_BETWEEN_FIRST_SCHEDULE REAPER_AUTO_SCHEDULING_TIME_BEFORE_FIRST_SCHEDULE
REAPER_AUTO_SCHEDULE_EXCLUDED_KEYSPACES REAPER_AUTO_SCHEDULING_EXCLUDED_KEYSPACES
REAPER_JMX_USERNAME REAPER_JMX_AUTH_USERNAME
REAPER_JMX_PASSWORD REAPER_JMX_AUTH_PASSWORD
REAPER_LOGGERS REAPER_LOGGING_LOGGERS
REAPER_LOGGING_FORMAT REAPER_LOGGING_APPENDERS_LOG_FORMAT
REAPER_APP_PORT REAPER_SERVER_APP_PORT
REAPER_APP_BIND_HOST REAPER_SERVER_APP_BIND_HOST
REAPER_ADMIN_PORT REAPER_SERVER_ADMIN_PORT
REAPER_ADMIN_BIND_HOST REAPER_SERVER_ADMIN_BIND_HOST
REAPER_ACTIVATE_QUERY_LOGGER REAPER_CASS_ACTIVATE_QUERY_LOGGER

Associated Reaper Specific Configuration Settings

The following Docker environment variables have no direct mapping to a setting in the cassandra-reaper.yaml configuration file. However, they do affect the content contained in the file that is Reaper specific.


REAPER_METRICS_ENABLED

Type: Boolean

Default: false

Allows the sending of Reaper metrics to a metrics reporting system such as Graphite. If enabled, the other associated environment variables REAPER_METRICS_FREQUENCY and REAPER_METRICS_REPORTERS must be set to appropriate values in order for metrics reporting to function correctly.

Direct Mapping to Cassandra Backend Specific Configuration Settings

The Docker environment variables listed in this section map directly to Cassandra backend specific settings in the cassandra-reaper.yaml configuration file. The following table below lists the Docker environment variables, their associated Cassandra backend specific setting in the cassandra-reaper.yaml configuration file, and the default value assigned by the Docker container (if any). Definitions for each Docker environment variable can be found via the link to the associated setting.

In order for the Cassandra backend to be used, REAPER_STORAGE_TYPE must be set to cassandra.


Environment Variable Configuration Setting Default Value
REAPER_CASS_ACTIVATE_QUERY_LOGGER activateQueryLogger false
REAPER_CASS_CLUSTER_NAME clusterName clustername
REAPER_CASS_CONTACT_POINTS contactPoints []
REAPER_CASS_KEYSPACE keyspace cassandra-reaper
REAPER_CASS_LOCAL_DC localDC
REAPER_CASS_AUTH_USERNAME username cassandra
REAPER_CASS_AUTH_PASSWORD password cassandra


Note:

Some variable names and defaults have changed between the release of Docker-support and Reaper for Apache Cassandra 1.0. The following Cassandra Backend specific variable name changes have occurred in an effort to match closely with our YAML parameter names:

Pre Reaper 1.0 Post Reaper 1.0
REAPER_ACTIVATE_QUERY_LOGGER REAPER_CASS_ACTIVATE_QUERY_LOGGER


The following default values have changed:

Environment Variable Previous Default New Default
REAPER_CASS_KEYSPACE cassandra-reaper reaper_db

Associated Cassandra Backend Specific Configuration Settings

The following Docker environment variables have no direct mapping to a setting in the cassandra-reaper.yaml configuration file. However, the do affect the content contained in the file that is Cassandra backend specific.


REAPER_CASS_AUTH_ENABLED

Type: Boolean

Default: false

Allows Reaper to send authentication credentials when establishing a connection with Cassandra via the native protocol. When enabled, authentication credentials must be specified by setting values for REAPER_CASS_AUTH_USERNAME and REAPER_CASS_AUTH_PASSWORD.


REAPER_CASS_NATIVE_PROTOCOL_SSL_ENCRYPTION_ENABLED

Type: Boolean

Default: false

Allows Reaper to establish an encrypted connection when establishing a connection with Cassandra via the native protocol.

Direct Mapping to H2 or Postgres Backend Configuration Settings

The Docker environment variables listed in this section map directly to H2/Postgres backend specific settings in the cassandra-reaper.yaml configuration file. The following table below lists the Docker environment variables, their associated H2/Postgres backend specific setting in the cassandra-reaper.yaml configuration file, and the default value assigned by the Docker container (if any). Definitions for each Docker environment variable can be found via the link to the associated setting.

In order to use the following settings, REAPER_STORAGE_TYPE must be set to h2 or postgres.

Environment Variable Configuration Setting Default Value
REAPER_DB_URL url jdbc:h2:/var/lib/cassandra-reaper/db;MODE=PostgreSQL
REAPER_DB_USERNAME user
REAPER_DB_PASSWORD password


Note:

Some variable names have changed between the release of Docker-support and Reaper for Apache Cassandra 1.0. The following Reaper specific variable name changes have occurred in an effort to match closely with the YAML parameter names:

Pre Reaper 1.0 Post Reaper 1.0
REAPER_DB_DRIVER_CLASS N/A - The associated parameter has been deprecated