Skip to content

Commit 034a312

Browse files
author
Vadym Mudryi
committed
Added cleanup script
1 parent be685f7 commit 034a312

File tree

2 files changed

+42
-16
lines changed

2 files changed

+42
-16
lines changed

charts/opencrvs-services/templates/login-deployment.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,16 @@ spec:
5050
- name: login
5151
image: "ghcr.io/opencrvs/ocrvs-login:{{ .Values.image.tag }}"
5252
ports:
53-
- containerPort: 80 #FIXME: non-low end port
53+
- containerPort: 80
5454
protocol: TCP
55+
readinessProbe:
56+
httpGet:
57+
# /api/countryconfig/login-config.js is external service proxied by nginx
58+
# pod should be restarted once countryconfig is up
59+
path: /api/countryconfig/login-config.js
60+
port: 80
61+
initialDelaySeconds: 10
62+
periodSeconds: 5
5563
env:
5664
- name: CONTENT_SECURITY_POLICY_WILDCARD
5765
value: "*.{{ .Values.hostname }}"

infrastructure/clear-all-data.k8s.sh

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# This Source Code Form is subject to the terms of the Mozilla Public
23
# License, v. 2.0. If a copy of the MPL was not distributed with this
34
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
@@ -14,7 +15,8 @@ print_usage_and_exit () {
1415
echo 'Usage: ./clear-all-data.sh [-r REPLICAS] [-m MONGODB_HOST] [-e ELASTICSEARCH_HOST] [-n MINIO_HOST]'
1516
echo ""
1617
echo "Options:"
17-
echo " -n NAMESPACE Kubernetes namespace (default: opencrvs-dev)"
18+
echo " -n NAMESPACE Kubernetes namespace with deployed dependencies (default: opencrvs-deps-dev)"
19+
echo " -o OPENCRVS_NAMESPACE Kubernetes namespace with deployed OpenCRVS (default: opencrvs-dev)"
1820
echo " -r REPLICAS Number of MongoDB replicas"
1921
echo " -m MONGODB_HOST MongoDB host (default: mongo)"
2022
echo " -e ELASTICSEARCH_HOST Elasticsearch host (default: elasticsearch:9200)"
@@ -29,22 +31,21 @@ print_usage_and_exit () {
2931
exit 1
3032
}
3133

32-
if [ -z "$1" ] ; then
33-
echo 'Error: Argument REPLICAS is required in position 1.'
34-
print_usage_and_exit
35-
fi
3634

3735
# Default values
3836
REPLICAS="0"
37+
NAMESPACE="opencrvs-deps-dev"
38+
OPENCRVS_NAMESPACE="opencrvs-dev"
3939
MONGODB_HOST="mongodb"
4040
ELASTICSEARCH_HOST="elasticsearch"
4141
MINIO_HOST="minio"
4242
MINIO_ROOT_USER=minioadmin
4343
MINIO_ROOT_PASSWORD=minioadmin
4444
INFLUX_HOST="influxdb"
45-
while getopts "n:r:m:e:s:i:" opt; do
45+
while getopts "n:o:r:m:e:s:i:" opt; do
4646
case $opt in
4747
n) NAMESPACE=$OPTARG ;;
48+
o) OPENCRVS_NAMESPACE=$OPTARG ;;
4849
r) REPLICAS=$OPTARG ;;
4950
m) MONGODB_HOST=$OPTARG ;;
5051
e) ELASTICSEARCH_HOST=$OPTARG ;;
@@ -92,12 +93,15 @@ elasticsearch_host() {
9293

9394
drop_database () {
9495
local database=${1}
95-
kubectl run mongo-drop-job --rm -i --image=mongo:4.4 --restart=Never -- \
96+
kubectl run mongo-drop-job --namespace $NAMESPACE --rm -i --image=mongo:4.4 --restart=Never -- \
9697
mongo $database $(mongo_credentials) --host $HOST --eval "db.dropDatabase()"
9798
}
9899

99100
# Delete all data from mongo
100101
#---------------------------
102+
echo "--------------------------"
103+
echo "🧹 cleanup mongo databases on $HOST:"
104+
echo "--------------------------"
101105
drop_database hearth-dev;
102106

103107
drop_database openhim-dev;
@@ -112,24 +116,38 @@ drop_database performance;
112116

113117
# Delete all data from elasticsearch
114118
#-----------------------------------
115-
# TODO: FIX CALL TO INDEX ALIAS
116-
kubectl run elasticsearch-delete-job --rm -i --image=appropriate/curl --restart=Never -- \
117-
curl -XDELETE "http://$(elasticsearch_host)/ocrvs" -v
119+
120+
indices=$(kubectl run elasticsearch-get-index-name --namespace $NAMESPACE --rm -i --image=appropriate/curl --restart=Never --command -- sh -c "curl -sS -XGET http://$(elasticsearch_host)/_cat/indices?h=index" | grep -v pod || true )
121+
echo "--------------------------"
122+
echo "🧹 cleanup for indices from $(elasticsearch_host): $indices"
123+
echo "--------------------------"
124+
for index in ${indices[@]}; do
125+
echo "Delete index $index..."
126+
kubectl run elasticsearch-get-index-name-`date +%s` --namespace $NAMESPACE --rm -i --image=appropriate/curl --restart=Never --command -- sh -c "curl -sS -XDELETE http://$(elasticsearch_host)/$index"
127+
done
128+
118129

119130
# Delete all data from metrics
120131
#-----------------------------
121-
kubectl run influxdb-drop-job --rm -i --image=appropriate/curl --restart=Never -- \
132+
echo "--------------------------"
133+
echo "🧹 cleanup influxdb (metrics) databases on $INFLUX_HOST:"
134+
echo "--------------------------"
135+
kubectl run influxdb-drop-job --namespace $NAMESPACE --rm -i --image=appropriate/curl --restart=Never -- \
122136
curl -X POST http://$INFLUX_HOST:8086/query?db=ocrvs --data-urlencode "q=DROP SERIES FROM /.*/" -v
123137

124138
# Delete all data from minio
125139
#-----------------------------
126-
kubectl run minio-delete-job --rm -i --image=minio/mc --restart=Never --command -- sh -c "\
140+
echo "--------------------------"
141+
echo "🧹 cleanup MinIO storage on $MINIO_HOST:"
142+
echo "--------------------------"
143+
kubectl run minio-delete-job --namespace $NAMESPACE --rm -i --image=minio/mc --restart=Never --command -- sh -c "\
127144
mc alias set myminio http://$MINIO_HOST:3535 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD && \
128145
mc rm --recursive --force myminio/ocrvs && \
129146
mc rb myminio/ocrvs && \
130147
mc mb myminio/ocrvs"
148+
echo "All data has been deleted"
131149

132-
# Restart the metabase service
150+
# Restart the metabase and events services
133151
#-----------------------------
134-
# kubectl scale deployment opencrvs-dashboards --replicas=0
135-
# kubectl scale deployment opencrvs-dashboards --replicas=1
152+
kubectl delete pod --namespace $OPENCRVS_NAMESPACE -lapp=dashboards
153+
kubectl delete pod --namespace $OPENCRVS_NAMESPACE -lapp=events

0 commit comments

Comments
 (0)