Settings for all modes
LOOM_SERVER_NAME
default |
loom-server |
valid values |
String that begins with alpha, ends with alphanumeric, and contains only alphanumeric or -. Max length of 63. |
LOOM_SERVER_NAME determines how several components of the Loom server named. For example, the Docker container hosting the Loom server web application is named {{LOOM_SERVER_NAME}}-master, and the instance hosting the server in gcloud mode is named {{LOOM_SERVER_NAME}}.
LOOM_MODE
default |
local |
valid values |
local|gcloud|{custom} |
LOOM_MODE selects between different sets of playbooks. It also changes some default settings and the rules for settings validation. Supported modes are “local” and “gcloud”. You may also develop custom playbooks that are compatible with another mode.
LOOM_DEBUG
default |
false |
valid values |
true|false |
When true, it activates several debugging tools and verbose server errors. Primarily for development use.
LOOM_LOG_LEVEL
default |
INFO |
valid values |
CRITICAL|ERROR|WARNING|INFO|DEBUG |
LOOM_DOCKER_IMAGE
default |
loomengine/loom:{version} |
Docker image for server, worker, and scheduler
LOOM_DEFAULT_DOCKER_REGISTRY
LOOM_DEFAULT_DOCKER_REGISTRY applies to the LOOM_DOCKER_IMAGE and “docker_image” values in templates. Anywhere that a repo is given with no specific registry, LOOM_DEFAULT_DOCKER_REGISTRY will be assumed.
LOOM_STORAGE_TYPE
default |
local |
valid values |
local|google_storage |
Sets the type of persistent file storage. Usually google_storage would only be used with gcloud mode, but Loom does not impose this restriction. This may be useful for testing or for a custom deployment mode.
LOOM_STORAGE_ROOT
default (local) |
~/loomdata |
default (gcloud) |
/loomdata |
valid values |
absolute file path |
LOOM_GOOGLE_STORAGE_BUCKET
default |
None. Setting is required if LOOM_STORAGE_TYPE==google_storage |
valid values |
Valid Google Storage bucket name. |
Loom will attempt to create the bucket it if it does not exist.
LOOM_ANSIBLE_INVENTORY
default (local) |
localhost, |
default (gcloud) |
gce_inventory_wrapper.py |
valid values |
Comma-delimited list of hosts, or executable filename |
Accepts either a comma-separated list of host inventory (e.g. “localhost,” – the comma is required) or a dynamic inventory executable. The executable must be in the playbooks directory.
LOOM_ANSIBLE_HOST_KEY_CHECKING
default |
false |
valid values |
true|false |
Leaving LOOM_ANSIBLE_HOST_KEY_CHECKING as false will ignore warnings about invalid host keys. These errors are common on Google Cloud Platform where IP addresses are frequently reused, causing conflicts with known_hosts.
LOOM_HTTP_PORT
default |
80 |
valid values |
1–65535 |
LOOM_HTTPS_PORT
default |
443 |
valid values |
1–65535 |
LOOM_HTTP_PORT_ENABLED
default |
true |
valid values |
true|false |
LOOM_HTTPS_PORT_ENABLED
default |
false |
valid values |
true|false |
LOOM_HTTP_REDIRECT_TO_HTTPS
default |
false |
valid values |
true|false |
If true, NGINX will redirect requests on LOOM_HTTP_PORT to LOOM_HTTPS_PORT.
LOOM_SSL_CERT_KEY_FILE
default |
{{LOOM_SERVER_NAME}}+’-ssl-cert-key.pem’ |
LOOM_SSL_CERT_FILE
default |
{{LOOM_SERVER_NAME}}+’-ssl-cert.pem’ |
LOOM_SSL_CERT_CREATE_NEW
default |
false |
valid values |
true|false |
If true, Loom will create a self-signed certificate and key. If LOOM_SSL_CERT_CREATE_NEW==false and LOOM_HTTPS_PORT_ENABLED==true, user must provide certificate and key in the resources directory and set LOOM_SSL_CERT_KEY_FILE and LOOM_SSL_CERT_FILE to the correct filenames.
LOOM_SSL_CERT_C
Used in subject field if self-signed SSL certificate if LOOM_SSL_CERT_CREATE_NEW==true.
LOOM_SSL_CERT_ST
Used in subject field if self-signed SSL certificate if LOOM_SSL_CERT_CREATE_NEW==true.
LOOM_SSL_CERT_L
Used in subject field if self-signed SSL certificate if LOOM_SSL_CERT_CREATE_NEW==true.
LOOM_SSL_CERT_O
default |
Stanford University |
Used in subject field if self-signed SSL certificate if LOOM_SSL_CERT_CREATE_NEW==true.
LOOM_SSL_CERT_CN
default |
{{ansible_hostname}} |
Used in subject field if self-signed SSL certificate if LOOM_SSL_CERT_CREATE_NEW==true.
LOOM_SERVER_ALLOWED_HOSTS
List of hosts from which Loom will accept a connection. Corresponds to the django ALLOWED_HOSTS setting.
LOOM_SERVER_CORS_ORIGIN_ALLOW_ALL
Whitelist all hosts for cross-origin resource sharing. Corresponds to the django CORS_ORIGIN_ALLOW_ALL setting.
LOOM_SERVER_CORS_ORIGIN_WHITELIST
Hosts to be whitelisted for cross-origin resource sharing. Corresponds to the django CORS_ORIGIN_WHITELIST setting.
LOOM_TASKRUNNER_HEARTBEAT_INTERVAL_SECONDS
Frequency of heatbeats sent by TaskAttempt monitor process to Loom server.
LOOM_TASKRUNNER_HEARTBEAT_TIMEOUT_SECONDS
Kill any TaskAttempt that has not sent a heartbeat in this time.
LOOM_MAXIMUM_TASK_RETRIES
Maximum number of TaskAttempt retries.
LOOM_PRESERVE_ON_FAILURE
default |
false |
valid values |
true|false |
Do not clean up instance or containers for any failed TaskAttempts. May be useful for debugging.
LOOM_PRESERVE_ALL
default |
false |
valid values |
true|false |
Do not clean up instance or containers for any TaskAttempts. May be useful for debugging.
LOOM_SERVER_GUNICORN_WORKERS_COUNT
LOOM_WORKER_CELERY_CONCURRENCY
LOOM_MYSQL_CREATE_DOCKER_CONTAINER
Create a new Docker container to host the Loom database instead of connecting to an external database.
LOOM_MYSQL_HOST
default |
{{mysql_container_name}} if LOOM_MYSQL_CREATE_DOCKER_CONTAINER==true; otherwise no default. |
MySQL server connection settings.
LOOM_MYSQL_PORT
MySQL server connection settings.
LOOM_MYSQL_USER
MySQL server connection settings.
LOOM_MYSQL_PASSWORD
MySQL server connection settings.
LOOM_MYSQL_DATABASE
MySQL server connection settings.
LOOM_MYSQL_IMAGE
Docker image used to create MySQL container if LOOM_MYSQL_CREATE_DOCKER_CONTAINER==true.
LOOM_MYSQL_RANDOM_ROOT_PASSWORD
Create a random root password when initializing database if LOOM_MYSQL_CREATE_DOCKER_CONTAINER==true.
LOOM_MYSQL_SSL_CA_CERT_FILE
If needed, certificate files for MySQL database connection should be provided through the resources directory.
LOOM_MYSQL_SSL_CLIENT_CERT_FILE
If needed, certificate files for MySQL database connection should be provided through the resources directory.
LOOM_MYSQL_SSL_CLIENT_KEY_FILE
If needed, certificate files for MySQL database connection should be provided through the resources directory.
LOOM_RABBITMQ_IMAGE
Docker image used to create RabbitMQ container.
LOOM_NGINX_IMAGE
Docker image used to create NGINX container.
LOOM_NGINX_SERVER_NAME
Value for “server_name” field in NGINX configuration file.
LOOM_FLUENTD_IMAGE
default |
loomengine/fluentd-forest-googlecloud |
Docker image used to create fluentd container. The default repo includes fluentd with the forst and google-cloud plugins installed.
LOOM_FLUENTD_OUTPUTS
default |
elasticsearch,file |
valid values |
comma-separated list of elasticsearch &| file &| gcloud_cloud |
LOOM_ELASTICSEARCH_IMAGE
default |
docker.elastic.co/elasticsearch/elasticsearch:5.3.2 |
Docker image used for elasticsearch container.
LOOM_ELASTICSEARCH_JAVA_OPTS
default |
-Xms512m -Xmx512m |
LOOM_KIBANA_IMAGE
default |
docker.elastic.co/kibana/kibana:{{LOOM_KIBANA_VERSION}} |
Docker image to create Kibana container.
LOOM_FLOWER_INTERNAL_PORT
LOOM_NOTIFICATION_ADDRESSES
Email addresses or http/https URLs to report to whenever a run reaches terminal status. Requires email configuration.
LOOM_NOTIFICATION_HTTPS_VERIFY_CERTIFICATE
default |
true |
valid values |
true|false |
When one or more notification addresses is an https URL, LOOM_NOTIFICATION_HTTP_VERIFY_CERTIFICATE determines whether to validate ssl certificates. You may wish to set this to false when using self-signed certificates.
LOOM_DEFAULT_FROM_EMAIL
Email configuration for notifications.
LOOM_EMAIL_HOST
Email configuration for notifications.
LOOM_EMAIL_PORT
Email configuration for notifications.
LOOM_EMAIL_HOST_USER
Email configuration for notifications.
LOOM_EMAIL_HOST_PASSWORD
Email configuration for notifications.
LOOM_EMAIL_USE_TLS
Email configuration for notifications.
LOOM_EMAIL_USE_SSL
Email configuration for notifications.
LOOM_EMAIL_TIMEOUT
Email configuration for notifications.
LOOM_EMAIL_SSL_KEYFILE
Email configuration for notifications.
LOOM_EMAIL_SSL_CERTFILE
Email configuration for notifications.
Settings for gcloud mode
LOOM_GCE_PEM_FILE
default |
none |
valid values |
filename |
This should be a JSON file with your Google Cloud Project service account key. File must be provided to Loom through the resources directory.
LOOM_GCE_PROJECT
default |
none |
valid values |
valid GCE project name |
LOOM_GCE_EMAIL
default |
none |
valid values |
valid GCE email identifier associated with the service account in LOOM_GCE_PEM_FILE |
LOOM_SSH_PRIVATE_KEY_NAME
default |
loom_id_rsa |
valid values |
valid filename string. Will create files in ~/.ssh/{{LOOM_SSH_PRIVATE_KEY_NAME}} and ~/.ssh/{{LOOM_SSH_PRIVATE_KEY_NAME}}.pub |
LOOM_GCLOUD_SERVER_BOOT_DISK_TYPE
default |
pd-standard |
valid values |
valid GCP disk type |
LOOM_GCLOUD_SERVER_BOOT_DISK_SIZE_GB
default |
10 |
valid values |
float value in GB |
LOOM_GCLOUD_SERVER_INSTANCE_IMAGE
default |
centos-7 |
valid values |
valid GCP image |
LOOM_GCLOUD_SERVER_INSTANCE_TYPE
default |
none |
valid values |
valid GCP instance type |
LOOM_GCLOUD_SERVER_NETWORK
default |
none |
valid values |
valid GCP network name |
LOOM_GCLOUD_SERVER_SUBNETWORK
default |
none |
valid values |
valid GCP subnetwork name |
LOOM_GCLOUD_SERVER_ZONE
default |
us-central1-c |
valid values |
valid GCP zone |
LOOM_GCLOUD_SERVER_SKIP_INSTALLS
default |
false |
valid values |
true|false |
If LOOM_GCLOUD_SERVER_SKIP_INSTALLS==true, when bringing up a server Loom will use the LOOM_GCLOUD_SERVER_INSTANCE_IMAGE directly without installing system packages. Before using this setting, you will need to create the base image. One way to do this is to start a Loom server with the defaults and then create an image from its disk.
Usually the same image can be used for both LOOM_GCLOUD_WORKER_INSTANCE_IMAGE and LOOM_GCLOUD_SERVER_INSTANCE_IMAGE.
LOOM_GCLOUD_SERVER_EXTERNAL_IP
default |
ephemeral |
valid values |
none|ephemeral|desired IP |
LOOM_GCLOUD_WORKER_BOOT_DISK_TYPE
default |
pd-standard |
valid values |
Valid GCP disk type |
LOOM_GCLOUD_WORKER_BOOT_DISK_SIZE_GB
default |
10 |
valid values |
float value in GB |
LOOM_GCLOUD_WORKER_SCRATCH_DISK_TYPE
LOOM_GCLOUD_WORKER_SCRATCH_DISK_MIN_SIZE_GB
LOOM_GCLOUD_WORKER_INSTANCE_IMAGE
default |
centos-7 |
valid values |
valid GCP image |
LOOM_GCLOUD_WORKER_INSTANCE_TYPE
default |
none |
valid values |
valid GCP instance type |
LOOM_GCLOUD_WORKER_NETWORK
default |
none |
valid values |
valid GCP network name |
LOOM_GCLOUD_WORKER_SUBNETWORK
default |
none |
valid values |
valid GCP subnetwork name |
LOOM_GCLOUD_WORKER_ZONE
default |
us-central1-c |
valid values |
valid GCP zone |
LOOM_GCLOUD_WORKER_SKIP_INSTALLS
default |
false |
valid values |
true|false |
If LOOM_GCLOUD_WORKER_SKIP_INSTALLS==true, when bringing up a server Loom will use the LOOM_GCLOUD_WORKER_INSTANCE_IMAGE directly without installing system packages. Before using this setting, you will need to create the base image. One way to do this is to start a Loom server with the defaults and then create an image from its disk.
Usually the same image can be used for both LOOM_GCLOUD_WORKER_INSTANCE_IMAGE and LOOM_GCLOUD_SERVER_INSTANCE_IMAGE.
LOOM_GCLOUD_WORKER_EXTERNAL_IP
default |
ephemeral |
valid values |
none|ephemeral |
Note that using a reserved IP is not allowed, since multiple workers will be started. To restrict IP range, use a subnetwork instead.
LOOM_GCLOUD_WORKER_USES_SERVER_INTERNAL_IP
default |
false |
valid values |
true|false |
If true, worker makes http/https connections to server using private IP.
LOOM_GCLOUD_CLIENT_USES_SERVER_INTERNAL_IP
default |
false |
valid values |
true|false |
If true, client makes ssh/http/https connections to server using private IP.
LOOM_GCLOUD_SERVER_USES_WORKER_INTERNAL_IP
default |
false |
valid values |
true|false |
If true, server makes ssh connections to worker using private IP.