Installs and configures the IDR search engine.
ome.docker is required.
apps_folder: The application data folderdatabase_server_url: The database URLdatabase_port: The database portdatabase_name: The database name (e.g. omero)database_username: The database usernamedatabase_user_password: The database user passworddefault_datasource: The default datasourcesearch_engineelasticsearch_docker_image: The Elasticsearch image (default:docker.elastic.co/elasticsearch/elasticsearch:9.2.1)searchengine_docker_image: The search engine Docker imageautomatic_refresh: Whether the search engine should reload the configuration when modified (true/false)searchengine_secret_key: The search engine secret keysearchengineurlprefix: The URL prefix for the search engine (default: searchengine)elasticsearch_no_nodes: The number of nodes in the Elasticsearch clusterelasticsearch_backup_folder: The Elasticsearch data backup folderca_password: The CA password for the Elasticsearch certificatekeystore_password: The keystore password for the Elasticsearch clusterelastic_password: The password for the Elasticsearch userdata_dump_folder: The data dump folder (used for asynchronous search and container BFFs)nginx_port: The port Nginx should usecache_rows: The number of rows the indexing process can handle at one timeno_index_processes: The number of parallel processes available for the indexing processdump_output_format: The data can be dumped in either CSV_BFF or JSON format. The default is JSON
- name: Deploying search engine
connection: local
hosts: localhost
become: true
roles:
- role: omero_searchengine
vars:
elastic_password: Jlsp2cZirz6G56&^hdlhkf7
apps_folder: /data
asynchronous_search: true
automatic_refresh: true
cache_rows: 50000
database_name: idr
database_user_password: mypassword
database_port: '5432'
database_server_url: 192.168.10.38
database_username: omeroreadonly
elasticsearch_backup_folder: /searchengine_backup
searchengine_secret_key : searchengine_secret_key
verify_certs: false
queries_folder: queries/
data_dump_folder: /data/data_dump/
default_datasource: omero
searchengineurlprefix: "searchengine"
ca_password: "ca_password_1234"
keystore_password: "keystore_password_1234"
no_index_processes: 6
elasticsearch_no_nodes: 3
nginx_port: 8080
dump_output_format: "csv_bff"
The role can also be used for:
-
Index the data
ansible-playbook install_searchengine.yml --tags "indexer" -
Backup the Elasticsearch data
ansible-playbook install_searchengine.yml --tags "backup" -
Restore the Elasticsearch data
ansible-playbook install_searchengine.yml --tags "restore" -
Dump the screens data:
ansible-playbook install_searchengine.yml --tags "dump_screens" -
Dump the the projects data:
ansible-playbook install_searchengine.yml --tags "dump_projects"
Assuming the installation playbook name is install_searchengine.yml
The user can perform the following checks to ensure that the application is installed correctly and functioning as expected.
The following command verifies that the search engine is running and listening for incoming requests:
curl -XGET http://127.0.0.1:5577/searchengine/api/v1/resources/
This command verifies that Nginx is running and able to connect to the search engine.
curl -XGET http://127.0.0.1:8080/searchengine/api/v1/resources/
Both of them should have the same output message, i.e.
OMERO search engine (API V1)
The following command verifies that the Elasticsearch cluster is running and that the search engine can connect to it.
curl -I -k -u "elastic:mypassword" https://127.0.0.1:9201/image_keyvalue_pair_metadata_1
The output of the command should be;
HTTP/1.1 200 OK
X-elastic-product: Elasticsearch
content-type: application/json
Transfer-Encoding: chunked