GSA / search-services

Centralized configuration for services used by Search.gov applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

search-services

This repo includes a centralized configuration for services used by Search.gov applications, including:

Prerequisites

In order to run the services, you will need to install Docker. We recommend setting the max memory alloted to Docker to 4GB (in Docker Desktop, Preferences > Resources > Advanced). See the wiki for more documentation on basic Docker commands.

Services

The docker-compose.yml file configures each service. You can refer to Matrix on how to run required services for each application.

Docker services matrix:

Application/Repo Command Profile name Services
docker compose up N/A MySQL, Elasticsearch, Kibana, Redis, Tika
search-gov docker compose --profile search-gov up search-gov MySQL, Elasticsearch, Kibana, Redis, Tika, search-gov, resque-worker, resque-scheduler
i14y docker compose --profile i14y up i14y MySQL, Elasticsearch, Kibana, Redis, Tika, i14y, resque-worker, resque-scheduler
ASIS docker compose --profile asis up asis MySQL, Elasticsearch, Kibana, Redis, Tika, asis, sidekiq

Alternatively, you can run a subset of the services, i.e.:

docker compose up mysql elasticsearch7

Each repo uses one or more of the following services:

Database backend required by search-gov.

Services for Elasticsearch 7 are provided here.

Elasticsearch plugins:

Some specs depend upon Elasticsearch having a valid trial license. A 30-day trial license is automatically applied when the cluster is initially created. If your license expires, you can rebuild the cluster by rebuilding the container and its data volume.

Elasticsearch 7

All of our applications use Elasticsearch 7 in production for full-text search. Locally, it runs on the default port 9200.

search-gov and ASIS use the Redis key-value store for caching, queue workflow via Resque (search-gov) and Sidekiq (ASIS), and some analytics. Optionally, you can install the Redis CLI.

Used by search-gov for extracting plain text from PDFs, etc. The Tika REST server runs on port 9998.

Kibana is not required by the applications, but can be very useful for debugging Elasticsearch. Confirm Kibana is available for the Elasticsearch 6 cluster by visiting http://localhost:5601. Kibana for the Elasticsearch 7 cluster should be available at http://localhost:5607.

About

Centralized configuration for services used by Search.gov applications

License:Creative Commons Zero v1.0 Universal