Configuration

TeSLA CE use a configuration file tesla-ce.cfg to store all options and credentials. This file can be generated by:

tesla_ce generate_config --local [--with-services] <domain>

Where domain should be a valid domain name pointing to the Docker Swarm cluster.

The optional with-services flag will generate random credentials for services. Use this flag if you plan to deploy services as part of the TeSLA CE deployment (see Deploy Services ).

Otherwise, change the configuration options to provide the correct information to access the services.

All options from configuration file are provided as environment variables or secrets to the containers. you can override any of the values on your docker services using environment variables.

General configuration

Those options define default values used on the initial data exportation.

OptionDefault ValueTypeDescription
tesla_admin_mailstrEmail of the global administrator
tesla_institution_nameDefault InstitutionstrName of the institution
tesla_institution_acronymdefaultstrAcronym of the institution

Database

Database connection parameters

OptionDefault ValueTypeDescription
db_enginemysqlmysql|postgresqlDatabase engine
db_hostdatabasestrDatabase host
db_port3306intDatabase port
db_nameteslastrDatabase name
db_userstrDatabase user
db_passwordstrDatabase password
db_root_userrootstrDatabase root user
db_root_passwordstrDatabase root password required if user creation is needed

Vault

Hashicorp Vault connection parameters

OptionDefault ValueTypeDescription
vault_urlhttp://localhost:8200strVault complete URL with schema
vault_ssl_verifyTrueboolVerify SSL connections with vault
vault_tokenstrRoot token to authenticate with vault
vault_keyslistComa-separated list of unseal keys for Vault
vault_mount_path_kvtesla-ce/kvstrMount path for KV secrets engine
vault_mount_path_transittesla-ce/transitstrMount path for transit encryption engine
vault_mount_path_approletesla-ce/approlestrMount path for approle auth engine
vault_policies_prefixtesla-ce/policy/strPrefix prepended to ACL policy names
vault_db_hoststrMySQL host for vault database used to generate deploy scripts
vault_db_port3306intMySQL port for vault database used to generate deploy scripts
vault_db_namestrMySQL database name for vault database used to generate deploy scripts
vault_db_userstrMySQL user for vault database used to generate deploy scripts
vault_db_passwordstrMySQL password for vault database used to generate deploy scripts

Storage

Storage connection parameters, referring to the MinIO or Amazon S3 information.

OptionDefault ValueTypeDescription
storage_urlhttp://localhost:9000strStorage url
storage_ssl_verifyTrueboolVerify SSL connections
storage_bucket_nameteslastrStorage default private bucket
storage_public_bucket_nametesla-publicstrStorage default public bucket
storage_regioneu-west-1strStorage region
storage_access_keystrStorage access key id
storage_secret_keystrStorage secret access key

Redis

Redis connection parameters.

OptionDefault ValueTypeDescription
redis_hostlocalhoststrRedis host
redis_port6379intRedis port
redis_passwordstrRedis password
redis_database1intRedis database

RabbitMQ

RabbitMQ connection parameters. Only used if RabbitMQ is deployed as part of TeSLA CE deployment. See celery configuration for connection arguments for workers.

OptionDefault ValueTypeDescription
rabbitmq_erlang_cookiestrErlang Cookie value used for RabbitMQ cluster
rabbitmq_admin_userstrAdministrator user to authenticate with RabbitMQ
rabbitmq_admin_passwordstrAdministrator password to authenticate with RabbitMQ
rabbitmq_admin_port15672intPort for the administration api of RabbitMQ
rabbitmq_port5672intPort for the amqp api of RabbitMQ
rabbitmq_hostlocalhoststrHost name of the RabbitMQ server

Celery

Broker connection parameters.

OptionDefault ValueTypeDescription
celery_broker_protocolamqpamqp|sqsProtocol to communicate with brocker
celery_broker_userstrUser to authenticate with RabbitMQ or KEY for Amazon SQS
celery_broker_passwordstrPassword to authenticate with RabbitMQ or SECRET for Amazon SQS
celery_broker_hostlocalhoststrHost for RabbitMQ
celery_broker_regioneu-west-1strRegion for Amazon SQS
celery_broker_port5672intPort for RabbitMQ
celery_broker_vhost/strRabbitMQ Virtual Host
celery_queue_defaultteslastrName of the default queue used for periodic tasks
celery_queue_enrolmenttesla_enrolmentstrName of the default queue for enrolment
celery_queue_enrolment_storagetesla_enrolment_storagestrName of the storage queue for enrolment
celery_queue_enrolment_validationtesla_enrolment_validatestrName of the validation queue for enrolment
celery_queue_verificationtesla_verificationstrName of the default queue for verification
celery_queue_alertstesla_alertsstrName of the default queue for alerts
celery_queue_reportingtesla_reportingstrName of the default queue for reports

Deployment

In addition, some deployment options can also be modified. Those options are used to generate the deployment scripts:

OptionDefault ValueTypeDescription
deployment_orchestratorswarmswarmDocker orchestrator
deployment_servicesFalsestrDeploy external services
deployment_lbtraefiktraefikLoad balancer used for deployment
deployment_imageteslace/corestrDocker image used for deployment
deployment_versionlateststrDocker image version used for deployment
deployment_secrets_path/run/secretsstrFolder where secrets will be mounted
deployment_data_path/var/teslastrFolder where volumes will be persisted
deployment_specialized_workersTrueboolIf enabled, specialized workers will be deployed

Moodle

Options used for Moodle deployment when it is deployed as part of TeSLA CE.

OptionDefault ValueTypeDescription
moodle_deployFalseboolDeploy Moodle
moodle_namedefault_moodlestrUnique VLE name in TeSLA
moodle_admin_usermoodlestrAdministrator user for Moodle
moodle_admin_passwordstrAdministrator password for Moodle
moodle_admin_emailstrAdministrator email for Moodle
moodle_db_hoststrHost for Moodle database
moodle_db_port3306intPort for Moodle database
moodle_db_namemoodlestrDatabase name for Moodle database
moodle_db_usermoodlestrUser for Moodle database
moodle_db_passwordstrPassword for Moodle database
moodle_db_prefixmdl_strPrefix for Moodle tables in the database
moodle_cron_interval15intMoodle Cron interval
moodle_full_nameTeSLA CE MoodlestrFull name for Moodle instance
moodle_short_nameTeSLA CEstrShort name for Moodle instance
moodle_summaryTeSLA CE Moodle InstancestrSummary for Moodle instance