2021-12-08 10:50:08 +09:00
|
|
|
#!/bin/bash
|
2020-12-02 20:49:34 -08:00
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2021-05-11 15:41:42 -07:00
|
|
|
: ${DATAHUB_ANALYTICS_ENABLED:=true}
|
2021-05-12 10:54:18 -07:00
|
|
|
: ${USE_AWS_ELASTICSEARCH:=false}
|
2021-05-11 15:41:42 -07:00
|
|
|
|
2021-03-28 06:21:10 +03:00
|
|
|
if [[ $ELASTICSEARCH_USE_SSL == true ]]; then
|
|
|
|
ELASTICSEARCH_PROTOCOL=https
|
|
|
|
else
|
|
|
|
ELASTICSEARCH_PROTOCOL=http
|
|
|
|
fi
|
|
|
|
|
2021-12-08 10:50:08 +09:00
|
|
|
if [[ ! -z $ELASTICSEARCH_USERNAME ]] && [[ -z $ELASTICSEARCH_AUTH_HEADER ]]; then
|
|
|
|
AUTH_TOKEN=$(echo -ne "$ELASTICSEARCH_USERNAME:$ELASTICSEARCH_PASSWORD" | base64 --wrap 0)
|
|
|
|
ELASTICSEARCH_AUTH_HEADER="Authorization:Basic $AUTH_TOKEN"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Add default header if needed
|
|
|
|
if [[ -z $ELASTICSEARCH_AUTH_HEADER ]]; then
|
|
|
|
ELASTICSEARCH_AUTH_HEADER="Accept: */*"
|
2021-03-28 06:21:10 +03:00
|
|
|
fi
|
|
|
|
|
2021-07-08 15:11:40 -07:00
|
|
|
function create_datahub_usage_event_datastream() {
|
2021-04-13 07:56:31 -07:00
|
|
|
if [[ -z "$INDEX_PREFIX" ]]; then
|
2021-07-08 15:11:40 -07:00
|
|
|
PREFIX=''
|
2021-04-03 23:47:16 +05:30
|
|
|
else
|
2021-07-08 15:11:40 -07:00
|
|
|
PREFIX="${INDEX_PREFIX}_"
|
2021-04-03 23:47:16 +05:30
|
|
|
fi
|
|
|
|
|
2021-12-08 10:50:08 +09:00
|
|
|
if [ $(curl -o /dev/null -s -w "%{http_code}" --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_ilm/policy/${PREFIX}datahub_usage_event_policy") -eq 404 ]
|
2021-05-11 15:41:42 -07:00
|
|
|
then
|
|
|
|
echo -e "\ncreating datahub_usage_event_policy"
|
2021-07-08 15:11:40 -07:00
|
|
|
sed -e "s/PREFIX/${PREFIX}/g" /index/usage-event/policy.json | tee -a /tmp/policy.json
|
2021-12-08 10:50:08 +09:00
|
|
|
curl -XPUT --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_ilm/policy/${PREFIX}datahub_usage_event_policy" -H 'Content-Type: application/json' --data @/tmp/policy.json
|
2021-05-11 15:41:42 -07:00
|
|
|
else
|
|
|
|
echo -e "\ndatahub_usage_event_policy exists"
|
|
|
|
fi
|
2021-12-08 10:50:08 +09:00
|
|
|
if [ $(curl -o /dev/null -s -w "%{http_code}" --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_index_template/${PREFIX}datahub_usage_event_index_template") -eq 404 ]
|
2021-05-11 15:41:42 -07:00
|
|
|
then
|
|
|
|
echo -e "\ncreating datahub_usage_event_index_template"
|
2021-07-08 15:11:40 -07:00
|
|
|
sed -e "s/PREFIX/${PREFIX}/g" /index/usage-event/index_template.json | tee -a /tmp/index_template.json
|
2021-12-08 10:50:08 +09:00
|
|
|
curl -XPUT --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_index_template/${PREFIX}datahub_usage_event_index_template" -H 'Content-Type: application/json' --data @/tmp/index_template.json
|
2021-05-12 10:54:18 -07:00
|
|
|
else
|
|
|
|
echo -e "\ndatahub_usage_event_index_template exists"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function create_datahub_usage_event_aws_elasticsearch() {
|
2021-07-08 15:11:40 -07:00
|
|
|
if [[ -z "$INDEX_PREFIX" ]]; then
|
|
|
|
PREFIX=''
|
|
|
|
else
|
|
|
|
PREFIX="${INDEX_PREFIX}_"
|
|
|
|
fi
|
|
|
|
|
2021-12-08 10:50:08 +09:00
|
|
|
if [ $(curl -o /dev/null -s -w "%{http_code}" --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_opendistro/_ism/policies/${PREFIX}datahub_usage_event_policy") -eq 404 ]
|
2021-05-12 10:54:18 -07:00
|
|
|
then
|
|
|
|
echo -e "\ncreating datahub_usage_event_policy"
|
2021-07-08 15:11:40 -07:00
|
|
|
sed -e "s/PREFIX/${PREFIX}/g" /index/usage-event/aws_es_ism_policy.json | tee -a /tmp/aws_es_ism_policy.json
|
2021-12-08 10:50:08 +09:00
|
|
|
curl -XPUT --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_opendistro/_ism/policies/${PREFIX}datahub_usage_event_policy" -H 'Content-Type: application/json' --data @/tmp/aws_es_ism_policy.json
|
2021-05-12 10:54:18 -07:00
|
|
|
else
|
|
|
|
echo -e "\ndatahub_usage_event_policy exists"
|
|
|
|
fi
|
2021-12-08 10:50:08 +09:00
|
|
|
if [ $(curl -o /dev/null -s -w "%{http_code}" --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_template/${PREFIX}datahub_usage_event_index_template") -eq 404 ]
|
2021-05-12 10:54:18 -07:00
|
|
|
then
|
2022-07-14 22:04:06 +05:30
|
|
|
echo -e "\ncreating datahub_usage_event_index_template"
|
2021-07-08 15:11:40 -07:00
|
|
|
sed -e "s/PREFIX/${PREFIX}/g" /index/usage-event/aws_es_index_template.json | tee -a /tmp/aws_es_index_template.json
|
2021-12-08 10:50:08 +09:00
|
|
|
curl -XPUT --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/_template/${PREFIX}datahub_usage_event_index_template" -H 'Content-Type: application/json' --data @/tmp/aws_es_index_template.json
|
|
|
|
curl -XPUT --header "$ELASTICSEARCH_AUTH_HEADER" "$ELASTICSEARCH_PROTOCOL://$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/${PREFIX}datahub_usage_event-000001" -H 'Content-Type: application/json' --data "{\"aliases\":{\"${PREFIX}datahub_usage_event\":{\"is_write_index\":true}}}"
|
2021-05-11 15:41:42 -07:00
|
|
|
else
|
|
|
|
echo -e "\ndatahub_usage_event_index_template exists"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
if [[ $DATAHUB_ANALYTICS_ENABLED == true ]]; then
|
2021-05-12 10:54:18 -07:00
|
|
|
if [[ $USE_AWS_ELASTICSEARCH == false ]]; then
|
|
|
|
create_datahub_usage_event_datastream || exit 1
|
|
|
|
else
|
|
|
|
create_datahub_usage_event_aws_elasticsearch || exit 1
|
|
|
|
fi
|
2021-05-11 15:41:42 -07:00
|
|
|
fi
|