From 97fa5caed974077ccaa501694884b8b2e265d1eb Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 3 Feb 2021 11:49:26 +0100 Subject: [PATCH] Add ssl support for EL --- config/default.yaml | 5 +++++ server/helpers/elastic-search.ts | 10 +++++++++- server/initializers/constants.ts | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/config/default.yaml b/config/default.yaml index 3892431..abb5890 100644 --- a/config/default.yaml +++ b/config/default.yaml @@ -8,6 +8,11 @@ webserver: port: 3234 elastic-search: + # https or http + http: 'http' + ssl: + # Specificy a custom CA + ca: null hostname: 'localhost' port: 9200 indexes: diff --git a/server/helpers/elastic-search.ts b/server/helpers/elastic-search.ts index 69b9055..925bc80 100644 --- a/server/helpers/elastic-search.ts +++ b/server/helpers/elastic-search.ts @@ -4,7 +4,15 @@ import { logger } from './logger' import { flatMap } from 'lodash' import { IndexableDoc } from '../types/elastic-search.model' -const elasticSearch = new Client({ node: 'http://' + CONFIG.ELASTIC_SEARCH.HOSTNAME + ':' + CONFIG.ELASTIC_SEARCH.PORT }) +const elasticOptions = { + node: CONFIG.ELASTIC_SEARCH.HTTP + '://' + CONFIG.ELASTIC_SEARCH.HOSTNAME + ':' + CONFIG.ELASTIC_SEARCH.PORT +} + +if (CONFIG.ELASTIC_SEARCH.SSL.CA) { + Object.assign(elasticOptions, { ssl: { ca: CONFIG.ELASTIC_SEARCH.SSL.CA } }) +} + +const elasticSearch = new Client(elasticOptions) function buildSort (value: string) { let sortField: string diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index c75ed92..a06fb10 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -13,6 +13,10 @@ const CONFIG = { PORT: config.get('webserver.port') }, ELASTIC_SEARCH: { + HTTP: config.get('elastic-search.http'), + SSL: { + CA: config.get('elastic-search.ssl.ca') + }, HOSTNAME: config.get('elastic-search.hostname'), PORT: config.get('elastic-search.port'), INDEXES: {