diff --git a/.env.openSearch.example b/.env.openSearch.example index 7ca75ee..2e964cb 100644 --- a/.env.openSearch.example +++ b/.env.openSearch.example @@ -11,3 +11,4 @@ OPENSEARCH_HOST=opensearch # echo -n '{OPENSEARCH_ADMIN}:{OPENSEARCH_PASSWORD}' | base64 OPENSEARCH_BASIC_TOKEN=Basic YWRtaW46Qjl3YzlWcnFYN3BZ OPENSEARCH_HOSTS='["http://opensearch:9200"]' +OPENIMIS_ADMIN_PASS='admin123' diff --git a/compose.base.yml b/compose.base.yml index 89f97fd..7c837a0 100644 --- a/compose.base.yml +++ b/compose.base.yml @@ -70,7 +70,7 @@ services: restart: always depends_on: migrations: - condition: service_completed_successfully + condition: service_completed_successfully worker: <<: *default-api command: worker @@ -81,6 +81,16 @@ services: deploy: mode: replicated replicas: ${WORKER_REPLICAS:-3} + opensearch-init: + <<: *default-api + entrypoint: ["/entrypoint-init-opensearch.sh"] + command: [] + depends_on: + - db + - backend + - opensearch + volumes: + - ./entrypoint-init-opensearch.sh:/entrypoint-init-opensearch.sh:ro rabbitmq: image: rabbitmq:3-management restart: always diff --git a/entrypoint-init-opensearch.sh b/entrypoint-init-opensearch.sh new file mode 100755 index 0000000..f8666b3 --- /dev/null +++ b/entrypoint-init-opensearch.sh @@ -0,0 +1,17 @@ +#!/bin/sh +set -e + +REPO_DIR="/openimis-be/openimis-be-opensearch_reports_py" + +if [ ! -d "$REPO_DIR" ]; then + echo "Cloning OpenIMIS OpenSearch dashboards config..." + git clone --depth 1 --branch develop https://github.com/openimis/openimis-be-opensearch_reports_py.git "$REPO_DIR" +else + echo "OpenSearch reports repo already exists, skipping clone." +fi + +echo "Running dashboard configuration upload..." + +cd /openimis-be/openIMIS + +exec python3 manage.py upload_opensearch_dashboards --host-domain http://backend:8080 --imis-password "${OPENIMIS_ADMIN_PASS}"