argos/deployment/elk/elasticsearch/index_init.sh

52 lines
1.5 KiB
Bash

#!/bin/bash
echo "Elasticsearch is now available. Proceeding with initialization..."
echo "Creating Elasticsearch indexes, roles, and users..."
# Command to create the "plans" index
curl -XPUT "http://localhost:9200/opencdmp-plans-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"title": { "type": "text" },
"description": { "type": "text" },
"price": { "type": "float" },
"date_added": { "type": "date" }
}
}
}'
# Command to create the "descriptions" index
curl -XPUT "http://localhost:9200/opencdmp-descriptions-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"product_id": { "type": "keyword" },
"description_text": { "type": "text" },
"language": { "type": "keyword" }
}
}
}'
curl -XPOST "localhost:9200/_security/role/opencdmp-api-test" -u elastic:elastic -H 'Content-Type: application/json' -d '{
"indices": [
{
"names": [ "opencdmp-plans-test", "opencdmp-descriptions-test" ],
"privileges": [ "all" ]
}
]
}'
curl -XPOST "localhost:9200/_security/user/opencdmp-api-test?pretty" -u elastic:elastic -H 'Content-Type: application/json' -d'
{
"password" : "opencdmp",
"roles" : [ "opencdmp-api-test" ]
}'
elasticsearch-plugin install analysis-icu