Skip to content

Commit cf0a599

Browse files
authored
Merge branch 'main' into PLAT-346-cluster-logstash
2 parents 046b774 + 5cd16d0 commit cf0a599

File tree

29 files changed

+142
-58
lines changed

29 files changed

+142
-58
lines changed

.env.local

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ OPENHIM_MONGO_ATNAURL=mongodb://mongo-1:27017/openhim
2020

2121
# Reverse Proxy - Nginx
2222

23-
REVERSE_PROXY_INSTANCES=3
23+
REVERSE_PROXY_INSTANCES=1
2424
INSECURE=true
25-
INSECURE_PORTS=-5001:5001-80:80-8080:8080-5601:5601-5488:5488
25+
INSECURE_PORTS=5001:5001-80:80-8080:8080-5601:5601-5488:5488
2626
DOMAIN_NAME=domain
2727
SUBDOMAINS=openhimcomms.domain,openhimcore.domain,openhimconsole.domain,kibana.domain,reports.domain
2828
RENEWAL_EMAIL=dummy@jembi.org

analytics-datastore-elastic-search/docker-compose.cluster.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ services:
1010
soft: -1
1111
hard: -1
1212
deploy:
13+
replicas: 0
1314
resources:
1415
limits:
1516
memory: ${ES_MEMORY_LIMIT:-3G}
@@ -57,6 +58,7 @@ services:
5758
soft: -1
5859
hard: -1
5960
deploy:
61+
replicas: 0
6062
resources:
6163
limits:
6264
memory: ${ES_MEMORY_LIMIT:-3G}
@@ -104,6 +106,7 @@ services:
104106
soft: -1
105107
hard: -1
106108
deploy:
109+
replicas: 0
107110
resources:
108111
limits:
109112
memory: ${ES_MEMORY_LIMIT:-3G}

analytics-datastore-elastic-search/swarm.sh

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ create_certs() {
6060
log info "Creating certificates"
6161
try "docker stack deploy -c $COMPOSE_FILE_PATH/docker-compose.certs.yml instant" "Creating certificates failed"
6262
docker::await_container_startup create_certs
63-
docker::await_container_status create_certs exited
63+
docker::await_container_status create_certs Complete
6464

6565
log info "Creating cert helper"
6666

@@ -92,20 +92,23 @@ add_docker_configs() {
9292
--config-add source=${TIMESTAMP}-ca.crt,target=/usr/share/elasticsearch/config/certs/ca/ca.crt \
9393
--config-add source=${TIMESTAMP}-es01.crt,target=/usr/share/elasticsearch/config/certs/es01/es01.crt \
9494
--config-add source=${TIMESTAMP}-es01.key,target=/usr/share/elasticsearch/config/certs/es01/es01.key \
95+
--replicas 1 \
9596
instant_analytics-datastore-elastic-search-01" "Error updating es01"
9697

9798
log info "Updating es-02 with certs"
9899
try "docker service update \
99100
--config-add source=${TIMESTAMP}-ca.crt,target=/usr/share/elasticsearch/config/certs/ca/ca.crt \
100101
--config-add source=${TIMESTAMP}-es02.crt,target=/usr/share/elasticsearch/config/certs/es02/es02.crt \
101102
--config-add source=${TIMESTAMP}-es02.key,target=/usr/share/elasticsearch/config/certs/es02/es02.key \
103+
--replicas 1 \
102104
instant_analytics-datastore-elastic-search-02" "Error updating es02"
103105

104106
log info "Updating es-03 with certs"
105107
try "docker service update \
106108
--config-add source=${TIMESTAMP}-ca.crt,target=/usr/share/elasticsearch/config/certs/ca/ca.crt \
107109
--config-add source=${TIMESTAMP}-es03.crt,target=/usr/share/elasticsearch/config/certs/es03/es03.crt \
108110
--config-add source=${TIMESTAMP}-es03.key,target=/usr/share/elasticsearch/config/certs/es03/es03.key \
111+
--replicas 1 \
109112
instant_analytics-datastore-elastic-search-03" "Error updating es03"
110113
}
111114

@@ -114,12 +117,15 @@ if [[ "$ACTION" == "init" ]]; then
114117
create_certs
115118
try "docker stack deploy -c $COMPOSE_FILE_PATH/docker-compose.cluster.yml instant" "Failed to deploy cluster"
116119
add_docker_configs
120+
121+
log info "Waiting for elasticsearch to start before automatically setting built-in passwords"
122+
docker::await_container_status $leader_node Running
117123
else
118124
try "docker stack deploy -c ${COMPOSE_FILE_PATH}/docker-compose.yml $elastic_search_dev_compose_param instant" "Failed to deploy Analytics Datastore Elastic Search"
119-
fi
120125

121-
log info "Waiting for elasticsearch to start before automatically setting built-in passwords"
122-
docker::await_container_status $leader_node running
126+
log info "Waiting for elasticsearch to start before automatically setting built-in passwords"
127+
docker::await_container_status $leader_node Starting
128+
fi
123129

124130
install_expect
125131
set_elasticsearch_passwords $leader_node
@@ -131,9 +137,11 @@ if [[ "$ACTION" == "init" ]]; then
131137
log info "Done"
132138
elif [[ "$ACTION" == "up" ]]; then
133139
if [[ "$STATEFUL_NODES" == "cluster" ]]; then
134-
try "docker stack deploy -c $COMPOSE_FILE_PATH/docker-compose.cluster.yml instant" "Failed to deploy cluster"
140+
try "docker service scale instant_analytics-datastore-elastic-search-01=1" "Failed to scale up analytics-datastore-elastic-search-01"
141+
try "docker service scale instant_analytics-datastore-elastic-search-02=1" "Failed to scale up analytics-datastore-elastic-search-02"
142+
try "docker service scale instant_analytics-datastore-elastic-search-03=1" "Failed to scale up analytics-datastore-elastic-search-03"
135143
else
136-
try "docker stack deploy -c $COMPOSE_FILE_PATH/docker-compose.yml $elastic_search_dev_compose_param instant" "Failed to deploy Analytics Datastore Elastic Search"
144+
try "docker service scale instant_analytics-datastore-elastic-search=1" "Failed to scale up analytics-datastore-elastic-search"
137145
fi
138146
elif [[ "$ACTION" == "down" ]]; then
139147
if [[ "$STATEFUL_NODES" == "cluster" ]]; then
@@ -149,14 +157,14 @@ elif [[ "$ACTION" == "destroy" ]]; then
149157
try "docker service rm instant_analytics-datastore-elastic-search-02" "Failed to remove analytics-datastore-elastic-search-02"
150158
try "docker service rm instant_analytics-datastore-elastic-search-03" "Failed to remove analytics-datastore-elastic-search-03"
151159

152-
docker::await_container_destroy analytics-datastore-elastic-search-01
153-
docker::await_container_destroy analytics-datastore-elastic-search-02
154-
docker::await_container_destroy analytics-datastore-elastic-search-03
160+
docker::await_service_destroy analytics-datastore-elastic-search-01
161+
docker::await_service_destroy analytics-datastore-elastic-search-02
162+
docker::await_service_destroy analytics-datastore-elastic-search-03
155163

156164
log warn "Volumes are only deleted on the host on which the command is run. Elastic Search volumes on other nodes are not deleted"
157165
else
158166
try "docker service rm instant_analytics-datastore-elastic-search" "Failed to remove analytics-datastore-elastic-search"
159-
docker::await_container_destroy analytics-datastore-elastic-search
167+
docker::await_service_destroy analytics-datastore-elastic-search
160168
try "docker volume rm instant_es-data" "Failed to remove volume instant_es-data"
161169
fi
162170
else

client-registry-santempi/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ services:
1616
- SDB_DATA_POLICY_RESOURCE=Patient
1717
- SDB_DELAY_START=5000
1818
deploy:
19-
replicas: ${SANTEMPI_INSTANCES:-1}
19+
replicas: ${SANTEMPI_INSTANCES}
2020
santedb-www:
2121
image: santesuite/santedb-www:2.2.3
2222
depends_on:

client-registry-santempi/package-metadata.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"description": "A patient matching and deduplicater for the platform",
55
"version": "0.0.1",
66
"dependencies": ["reverse-proxy-nginx"],
7-
"environmentVariables": {}
7+
"environmentVariables": {
8+
"SANTEMPI_INSTANCES": "1"
9+
}
810
}

client-registry-santempi/swarm.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
readonly ACTION=$1
44
readonly MODE=$2
5-
5+
readonly SANTEMPI_INSTANCES=${SANTEMPI_INSTANCES:-1}
6+
export SANTEMPI_INSTANCES
67
TIMESTAMP="$(date "+%Y%m%d%H%M%S")"
78
readonly TIMESTAMP
89

dashboard-visualiser-jsreport/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services:
66
deploy:
77
placement:
88
max_replicas_per_node: 1
9-
replicas: ${JS_REPORT_INSTANCES:-1}
9+
replicas: ${JS_REPORT_INSTANCES}
1010
resources:
1111
limits:
1212
cpus: ${JS_REPORT_CPU_LIMIT:-0.8}

dashboard-visualiser-jsreport/package-metadata.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"JS_REPORT_CPU_RESERVE": "0.05",
1818
"JS_REPORT_MEMORY_RESERVE": "500M",
1919
"JS_REPORT_DEV_MOUNT": "false",
20-
"JS_REPORT_PACKAGE_PATH": ""
20+
"JS_REPORT_PACKAGE_PATH": "",
21+
"JS_REPORT_INSTANCES": "1"
2122
}
2223
}

dashboard-visualiser-jsreport/swarm.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
readonly ACTION=$1
44
readonly MODE=$2
5-
5+
readonly JS_REPORT_INSTANCES=${JS_REPORT_INSTANCES:-1}
6+
export JS_REPORT_INSTANCES
67
TIMESTAMP="$(date "+%Y%m%d%H%M%S")"
78
readonly TIMESTAMP
89

@@ -19,14 +20,14 @@ ROOT_PATH="${COMPOSE_FILE_PATH}/.."
1920

2021
configure_nginx() {
2122
if [[ "${INSECURE}" == "true" ]]; then
22-
try "docker config create --label name=nginx ${TIMESTAMP}-http-jsreport-insecure.conf ${COMPOSE_FILE_PATH}/config/http-jsreport-insecure.conf" "Failed to create nginx jsreport insecure config"
23+
try "docker config create --label name=nginx http-jsreport-insecure.conf ${COMPOSE_FILE_PATH}/config/http-jsreport-insecure.conf" "Failed to create nginx jsreport insecure config"
2324
log info "Updating nginx service: adding jsreport config file..."
24-
try "docker service update --config-add source=${TIMESTAMP}-http-jsreport-insecure.conf,target=/etc/nginx/conf.d/http-jsreport-insecure.conf instant_reverse-proxy-nginx" "Error updating nginx service"
25+
try "docker service update --config-add source=http-jsreport-insecure.conf,target=/etc/nginx/conf.d/http-jsreport-insecure.conf instant_reverse-proxy-nginx" "Error updating nginx service"
2526
log info "Done updating nginx service"
2627
else
27-
try "docker config create --label name=nginx ${TIMESTAMP}-http-jsreport-secure.conf ${COMPOSE_FILE_PATH}/config/http-jsreport-secure.conf" "Failed to create secure jsreport nginx config"
28+
try "docker config create --label name=nginx http-jsreport-secure.conf ${COMPOSE_FILE_PATH}/config/http-jsreport-secure.conf" "Failed to create secure jsreport nginx config"
2829
log info "Updating nginx service: adding jsreport config file..."
29-
try "docker service update --config-add source=${TIMESTAMP}-http-jsreport-secure.conf,target=/etc/nginx/conf.d/http-jsreport-secure.conf instant_reverse-proxy-nginx" "Error updating nginx service"
30+
try "docker service update --config-add source=http-jsreport-secure.conf,target=/etc/nginx/conf.d/http-jsreport-secure.conf instant_reverse-proxy-nginx" "Error updating nginx service"
3031
log info "Done updating nginx service"
3132
fi
3233
}
@@ -82,6 +83,7 @@ main() {
8283
try "docker service scale instant_dashboard-visualiser-jsreport=0" "Failed to scale down dashboard-visualiser-jsreport"
8384
elif [[ "${ACTION}" == "destroy" ]]; then
8485
try "docker service rm instant_dashboard-visualiser-jsreport instant_jsreport-config-importer instant_await-helper" "Failed to destroy dashboard-visualiser-jsreport"
86+
config::remove_service_nginx_config "http-jsreport-secure.conf" "http-jsreport-insecure.conf"
8587
else
8688
log error "Valid options are: init, up, down, or destroy"
8789
fi

dashboard-visualiser-kibana/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ services:
1212
environment:
1313
ES_KIBANA_SYSTEM: ${ES_KIBANA_SYSTEM?:err}
1414
deploy:
15-
replicas: ${KIBANA_INSTANCES:-1}
15+
replicas: ${KIBANA_INSTANCES}
1616
resources:
1717
limits:
1818
memory: ${KIBANA_MEMORY_LIMIT:-3G}

0 commit comments

Comments
 (0)