Configuration Reference¶
srSILO Configuration¶
Enable Viruses¶
In roles/srsilo/defaults/main.yml:
srsilo_enabled_viruses:
- covid
- rsva
Per-Virus Configuration¶
In group_vars/srsilo/main.yml:
srsilo_virus_config:
covid:
fetch_days: 90 # Days of data to fetch
fetch_max_reads: 172500000 # Max reads to fetch
chunk_size: 1000000 # Chunk size for processing
docker_memory_limit: 340g # Memory limit for SILO container
rsva:
fetch_days: 90
fetch_max_reads: 50000000
chunk_size: 500000
docker_memory_limit: 340g
Global Settings¶
srsilo_retention_days: 3 # Delete indexes older than N days
srsilo_retention_min_keep: 2 # Always keep at least M indexes
Virus Registry¶
In roles/srsilo/defaults/main.yml:
srsilo_viruses:
covid:
organism: covid
instance_name: wise-sarsCoV2
lapis_port: 8083
silo_port: 8081
rsva:
organism: rsva
instance_name: wise-rsva
lapis_port: 8084
silo_port: 8082
Loculus Configuration¶
Required Variables¶
Set in host_vars/ or group_vars/:
| Variable | Description |
|---|---|
kubectl_context |
kubectl context name |
helm_chart_path |
Path to Loculus Helm chart |
Application Settings¶
In group_vars/loculus/main.yml:
- Application name, host, organisms
- URL configurations
- Feature flags
Secrets¶
In group_vars/loculus/vault.yml (encrypted):
- Database credentials
- Keycloak settings
- S3 credentials
- Service account passwords
Defaults¶
In roles/loculus/defaults/main.yml:
| Variable | Default | Description |
|---|---|---|
loculus_temp_dir |
/tmp/loculus |
Temp directory for deployment |
loculus_cleanup_temp_files |
true |
Clean up temp files after deployment |
loculus_kubeconfig_path |
~/.kube/config |
Path to kubeconfig |
Monitoring Configuration¶
LAPIS Instances¶
In group_vars/monitoring/main.yml:
lapis_instances:
- name: covid
url: https://lapis.wasap.genspectrum.org
- name: rsva
url: https://lapis.wasap.genspectrum.org/rsva
Metrics to Collect¶
lapis_metrics:
- name: info_count
path: $.info.count
- name: response_time
path: $.responseTime
Grafana¶
| Variable | Description |
|---|---|
grafana_admin_password |
Admin password (use vault) |
Nginx Configuration¶
Domain Settings¶
In roles/nginx/defaults/main.yml:
| Variable | Default | Description |
|---|---|---|
nginx_domain_name |
wasap.genspectrum.org |
Base domain name |
Port Mappings¶
| Variable | Default | Description |
|---|---|---|
nginx_lapis_covid_port |
8083 |
COVID LAPIS port |
nginx_lapis_rsva_port |
8084 |
RSVA LAPIS port |
nginx_silo_covid_port |
8081 |
COVID SILO port |
nginx_silo_rsva_port |
8082 |
RSVA SILO port |
SSL Certificates¶
| Variable | Description |
|---|---|
nginx_ssl_certificate_path |
Main domain SSL cert |
nginx_ssl_certificate_key_path |
Main domain SSL key |
nginx_lapis_ssl_certificate_path |
LAPIS subdomain SSL cert |
nginx_silo_ssl_certificate_path |
SILO subdomain SSL cert |
nginx_loculus_ssl_certificate_path |
Loculus subdomain SSL cert |
Sites¶
nginx_sites:
- name: wasap-scout
template: wasap-scout.j2
- name: lapis
template: lapis.j2
- name: silo
template: silo.j2
nginx_enabled_sites:
- wasap-scout
- lapis
- silo
Test Configuration¶
For resource-constrained environments, use test variables:
ansible-playbook playbooks/srsilo/update-pipeline.yml -i inventory.ini \
-e "@playbooks/srsilo/vars/test_vars.yml"
Test vars typically include:
srsilo_docker_memory_limit: 8g
srsilo_fetch_max_reads: 5000000
srsilo_chunk_size: 30000