From 47f215df094bd7dbe69855bea1df6a39fed8cce9 Mon Sep 17 00:00:00 2001 From: amy wieliczka Date: Mon, 24 Jun 2024 17:48:41 -0700 Subject: [PATCH] Add an opensearch dashboard (and required cluster) to docker-compose --- record_indexer/docker-compose.yml | 67 +++++++++++++++++++++++++++++-- record_indexer/settings.py | 7 +++- 2 files changed, 69 insertions(+), 5 deletions(-) diff --git a/record_indexer/docker-compose.yml b/record_indexer/docker-compose.yml index b4492e67..64933fcb 100644 --- a/record_indexer/docker-compose.yml +++ b/record_indexer/docker-compose.yml @@ -1,9 +1,68 @@ +--- +version: '3' services: - opensearch-node: + opensearch-node1: image: opensearchproject/opensearch:latest + container_name: opensearch-node1 + environment: + - cluster.name=opensearch-cluster + - node.name=opensearch-node1 + - discovery.seed_hosts=opensearch-node1,opensearch-node2 + - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 + - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping + - OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m # minimum and maximum Java heap size, recommend setting both to 50% of system RAM + - OPENSEARCH_INITIAL_ADMIN_PASSWORD=Rikolti_05 # Sets the demo admin user password when using demo configuration, required for OpenSearch 2.12 and higher + ulimits: + memlock: + soft: -1 + hard: -1 + nofile: + soft: 65536 # maximum number of open files for the OpenSearch user, set to at least 65536 on modern systems + hard: 65536 + volumes: + - opensearch-data1:/usr/share/opensearch/data ports: - - "9200:9200" - - "9600:9600" + - 9200:9200 + - 9600:9600 # required for Performance Analyzer + networks: + - opensearch-net + opensearch-node2: + image: opensearchproject/opensearch:latest + container_name: opensearch-node2 environment: - - "discovery.type=single-node" + - cluster.name=opensearch-cluster + - node.name=opensearch-node2 + - discovery.seed_hosts=opensearch-node1,opensearch-node2 + - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2 + - bootstrap.memory_lock=true + - OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m - OPENSEARCH_INITIAL_ADMIN_PASSWORD=Rikolti_05 + ulimits: + memlock: + soft: -1 + hard: -1 + nofile: + soft: 65536 + hard: 65536 + volumes: + - opensearch-data2:/usr/share/opensearch/data + networks: + - opensearch-net + opensearch-dashboards: + image: opensearchproject/opensearch-dashboards:latest + container_name: opensearch-dashboards + ports: + - 5601:5601 + expose: + - '5601' + environment: + OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]' + networks: + - opensearch-net + +volumes: + opensearch-data1: + opensearch-data2: + +networks: + opensearch-net: diff --git a/record_indexer/settings.py b/record_indexer/settings.py index 87510b50..64c677d0 100644 --- a/record_indexer/settings.py +++ b/record_indexer/settings.py @@ -1,4 +1,6 @@ import os +import urllib3 +from urllib3.exceptions import InsecureRequestWarning from boto3 import Session from dotenv import load_dotenv @@ -10,7 +12,10 @@ es_pass = os.environ.get("OPENSEARCH_PASS") def verify_certs(): - return not os.environ.get("OPENSEARCH_IGNORE_TLS", False) + ignore_tls = os.environ.get("OPENSEARCH_IGNORE_TLS", False) + if ignore_tls: + urllib3.disable_warnings(InsecureRequestWarning) + return not ignore_tls def get_auth(): if es_user and es_pass: