Configuring ARLAS Tagger running environment

ARLAS Tagger configuration file

ARLAS tagger is configured with a yaml configuration file.

External module configurations are available online:

Module Link
Swagger https://github.com/federecio/dropwizard-swagger

Configure ARLAS Tagger as a docker container

With environment variables

ARLAS Tagger can run as a docker container. A rich set of properties of the configuration file can be overriden by passing environment variables to the container:

docker run -ti -d \
   --name arlas-tagger \
   -e "ARLAS_ELASTIC_CLUSTER=my-own-cluster" \
   -e "ARLAS_ELASTIC_NODES=my-host:my-port" \
   -e "KAFKA_BROKERS=my-own-kafka-brokers" \
   gisaia/arlas-tagger:latest

All supported environment variables are listed below.

With file/URL based configuration

Instead of overriding some properties of the configuration file, it is possible to start the ARLAS Tagger container with a given configuration file.

File

The ARLAS Tagger container can start with a mounted configuration file thanks to docker volume mapping. For instance, if the current directory of the host contains a configuration.yaml file, the container can be started as follow:

docker run -ti -d \
   --name arlas-tagger \
   -v `pwd`/configuration.yaml:/opt/app/configuration.yaml \
   gisaia/arlas-tagger:latest

URL

The ARLAS Tagger container can start with a configuration file that is downloaded before starting up. The configuration file must be available through an URL accessible from within the container. The URL is specified with an environment variable:

Environment variable Description
ARLAS_TAGGER_CONFIGURATION_URL URL of the ARLAS Tagger configuration file to be downloaded by the container before starting

For instance, if the current directory of the host contains a configuration.yaml file, the container can be started as follow:

docker run -ti -d \
   --name arlas-tagger \
   -e ARLAS_TAGGER_CONFIGURATION_URL="http://somemachine/conf.yaml" \
   gisaia/arlas-tagger:latest

ARLAS Tagger configuration properties

ARLAS Tagger

Environment variable ARLAS Tagger configuration variable Default Description
TAGGING_STATUS_TIMEOUT tagging_status_timeout 3600000 Delay before tagging status is discarded

Elasticsearch

Environment variable ARLAS Tagger configuration variable Default Description
ARLAS_ELASTIC_NODES elastic_configuration.elastic_nodes localhost:9200 comma separated list of elasticsearch nodes as host:port values
ARLAS_ELASTIC_SNIFFING elastic_configuration.elastic_sniffing false allow elasticsearch to dynamically add new hosts and remove old ones (*)
ARLAS_ELASTIC_CLUSTER (**) elastic_configuration.elastic_cluster elasticsearch clustername of the elasticsearch cluster that is used for storing ARLAS configuration
ARLAS_ELASTIC_ENABLE_SSL elastic-enable-ssl false use SSL to connect to elasticsearch
ARLAS_ELASTIC_CREDENTIALS elastic-credentials user:password credentials to connect to elasticsearch
ARLAS_ELASTIC_SKIP_MASTER elastic-skip-master true Skip dedicated master in Rest client

Note

() Note that the IP addresses the sniffer connects to are the ones declared as the publish address in those node’s Elasticsearch config. (*) Deprecated

AUTH

Environment variable ARLAS Server configuration variable Default Description
ARLAS_AUTH_POLICY_CLASS arlas_auth_policy_class io.arlas.commons.rest.auth.NoPolicyEnforcer Specify a PolicyEnforcer class to load in order to activate Authentication if needed

Kafka

Environment variable ARLAS Tagger configuration variable Default Description
KAFKA_COMMIT_MAX_RETRIES kafka_configuration.kafka_commit_max_retries 3 Number of commit retries in case of failure before exiting
KAFKA_CONSUMER_POLL_TIMEOUT kafka_configuration.kafka_consumer_poll_timeout 100 Kafka consumer poll timeout
KAFKA_BATCH_SIZE_TAGREF kafka_configuration.kafka_batch_size_tagref 1 Kafka consumer batch size for tagref_log consumer
KAFKA_BATCH_SIZE_TAGEXEC kafka_configuration.kafka_batch_size_tagexec 10 Kafka consumer batch size for execute_tags consumer
KAFKA_NUMBER_TAGEXEC kafka_configuration.kafka_number_tagexec 1 Number of execute_tags consumers
KAFKA_BROKERS kafka_configuration.kafka_bootstrap_servers kafka:9092 Kafka brokers
KAFKA_CONSUMER_GROUP_ID_TAGREF_LOG kafka_configuration.kafka_consumer_group_id_tagref_log tagref_log_consumer_group Kafka consumer group for tagref_log topic execution
KAFKA_CONSUMER_GROUP_ID_EXPLORE_TAGS kafka_configuration.kafka_consumer_group_id_explore_tags explore_tags_consumer_group Kafka consumer group for tagref_log topic exploration (replay, list)
KAFKA_CONSUMER_GROUP_ID_EXECUTE_TAGS kafka_configuration.kafka_consumer_group_id_execute_tags execute_tags_consumer_group Kafka consumer group for execute_tags topic
KAFKA_TOPIC_TAGREF_LOG kafka_configuration.kafka_topic_tagref_log tagref_log Kafka topic for tag requests queue (tag log, retained)
KAFKA_TOPIC_EXECUTE_TAGS kafka_configuration.kafka_topic_execute_tags execute_tags Kafka topic for actual tag requests (actually executed, not retained)
KAFKA_EXTRA_PROPS kafka_configuration.kafka_extra_properties - Comma separated properties for configuring the kafka client. For instance kafka_configuration.kafka_extra_properties: ssl.endpoint.identification.algorithm=https,sasl.mechanism=PLAIN

ARLAS Collection

Environment variable ARLAS Tagger configuration variable Default Description
ARLAS_COLLECTION_INDEX arlas_collections_configuration.arlas_index .arlas name of the index that is used for storing ARLAS collections
ARLAS_COLLECTION_CACHE_SIZE arlas_collections_configuration.arlas_cache_size 1000 Size of the cache used for managing the collections

Server

Environment variable ARLAS Tagger configuration variable Default
ARLAS_TAGGER_CORS_ENABLED arlas_cors_enabled whether the Cross-Origin Resource Sharing (CORS) mechanism is enabled or not. Default : true.
ARLAS_TAGGER_ACCESS_LOG_FILE server.requestLog.appenders.currentLogFilename arlas-access.log
ACCESS_TAGGER_LOG_FILE_ARCHIVE server.requestLog.appenders.archivedLogFilenamePattern arlas-access-%d.log.gz
ARLAS_TAGGER_PREFIX server.applicationContextPath /arlas/
ARLAS_TAGGER_ADMIN_PATH server.adminContextPath /admin
ARLAS_TAGGER_PORT server.connector.port 9999
ARLAS_TAGGER_MAX_THREADS server.maxThreads 1024
ARLAS_TAGGER_MIN_THREADS server.minThreads 8
ARLAS_TAGGER_MAX_QUEUED_REQUESTS server.maxQueuedRequests 1024

Logging

Environment variable ARLAS Tagger configuration variable Default
ARLAS_LOGGING_LEVEL logging.level INFO
ARLAS_LOGGING_CONSOLE_LEVEL logging.appenders[type: console].threshold INFO
ARLAS_LOGGING_FILE logging.appenders[type: file].currentLogFilename arlas.log
ARLAS_LOGGING_FILE_LEVEL logging.appenders[type: file].threshold INFO
ARLAS_LOGGING_FILE_ARCHIVE logging.appenders[type: file].archive true
ARLAS_LOGGING_FILE_ARCHIVE_FILE_PATTERN logging.appenders[type: file].archivedLogFilenamePattern arlas-%d.log
ARLAS_LOGGING_FILE_ARCHIVE_FILE_COUNT logging.appenders[type: file].archivedFileCount 5

CACHE

Environment variable ARLAS Server configuration variable Default Description
ARLAS_PERSISTENCE_CACHE_FACTORY_CLASS arlas_cache_factory_class io.arlas.tagger.impl.HazelcastCacheFactory Factory class to get the cache manager
ARLAS_CACHE_TIMEOUT arlas-cache-timeout 60 TTL in seconds of items in the cache

JAVA

Environment variable Description
ARLAS_XMX Java Maximum Heap Size