Skip to content

Loculus Deployment

Ansible role for deploying Loculus (pathogen sequence sharing platform) to Kubernetes.

Prerequisites

  • Kubernetes cluster with kubectl configured
  • Helm chart for Loculus
  • Ansible with community.general collection

Configuration

Variables

Defaults (defaults/main.yml):

Variable Description
loculus_temp_dir Temp directory for deployment files
loculus_cleanup_temp_files Clean up temp files after deployment (default: true)
loculus_kubeconfig_path Path to kubeconfig file

Required (set in host_vars/ or group_vars/):

Variable Description
kubectl_context kubectl context name
helm_chart_path Path to Loculus Helm chart

Configuration (group_vars/loculus/main.yml):

  • Application settings (name, host, organisms, URLs, etc.)
  • See main configuration file for all available options

Secrets (group_vars/loculus/vault.yml):

  • Database credentials
  • Keycloak settings
  • S3 credentials
  • Service account passwords

Deploy

# Configure
vim group_vars/loculus/main.yml
vim group_vars/loculus/vault.yml  # Encrypted secrets

# Deploy to Kubernetes
ansible-playbook playbooks/loculus/deploy-loculus.yml -i inventory.ini

Verification

# Check pods
kubectl get pods -A | grep loculus

# Check services
kubectl get svc -A | grep loculus

# View logs
kubectl logs <pod-name> -n <namespace> -f

See Also