Repo Browser: Elasticsearch (self-hosted) You need to enable JavaScript to run this app.
Gruntwork Website
Elasticsearch (self-hosted) Deploy a self-hosted Elasticsearch cluster. Supports automatic bootstrap, zero-downtime rolling deployment, auto healing, backup, and recovery.
ELK AWS Module
This repo contains modules for deploying and managing the ELK Stack .
Quick start
If you want to quickly spin up the entire ELK stack installed on a single machine, you can run the single server
example. This is a simple example that shows you how all the components in this module work together. If you want a more production-like deployment
with separate clusters for each component of ELK, look at ELK Deployment example.
What's in this repo
This repo has the following folder structure:
modules : This folder contains the main implementation code for this Module, broken down into multiple standalone submodules.
examples : This folder contains examples of how to use the submodules.
test : Automated tests for the submodules and examples.
The main modules are:
install-kibana : Install Kibana, a web-based data visualizer for Elasticsearch.
run-kibana : Start Kibana.
kibana-cluster : A Terraform module to run a cluster of Kibana nodes with ENIs
and EBS Volumes attached, zero-downtime deployment, and auto-recovery of failed nodes.
install-logstash : Install Logstash, a server based data collection
and processing engine.
run-logstash : Start Logstash.
logstash-cluster : A Terraform module to run a cluster of Logstash nodes with ENIs
and EBS Volumes attached, zero-downtime deployment, and auto-recovery of failed nodes.
The supporting modules are:
elasticsearch-cluster-backup : A Terraform module to deploy a Lambda function that
takes snapshots of the Elasticsearch cluster on a configurable schedule and stores those snapshots in S3.
elasticsearch-cluster-restore : A Terraform module to deploy a Lambda function that
restores a cluster from saved snapshots.
Click on each module above to see its documentation.
What's a Module?
A Module is a canonical, reusable, best-practices definition for how to run a single piece of infrastructure, such
as a database or server cluster. Each Module is written using a combination of Terraform
and scripts (mostly bash) and include automated tests, documentation, and examples. It is maintained both by the open
source community and companies that provide commercial support.
Instead of figuring out the details of how to run a piece of infrastructure from scratch, you can reuse
existing code that has been proven in production. And instead of maintaining all that infrastructure code yourself,
you can leverage the work of the Module community to pick up infrastructure improvements through
a version number bump.
Who maintains this Module?
This Module is maintained by Gruntwork . If you're looking for help or commercial
support, send an email to modules@gruntwork.io .
Gruntwork can help with:
Setup, customization, and support for this Module.
Modules for other types of infrastructure, such as VPCs, Docker clusters, databases, and continuous integration.
Modules that meet compliance requirements, such as HIPAA.
Consulting & Training on AWS, Terraform, and DevOps.
How do I contribute to this Module?
Contributions are very welcome! Check out the
Contribution Guidelines for instructions.
How is this Module versioned?
This Module follows the principles of Semantic Versioning . You can find each new release,
along with the changelog, in the Releases Page .
During initial development, the major version will be 0 (e.g., 0.x.y
), which indicates the code does not yet have a
stable API. Once we hit 1.0.0
, we will make every effort to maintain a backwards compatible API and use the MAJOR,
MINOR, and PATCH versions on each release to indicate any incompatibilities.
License
Please see LICENSE for how the code in this repo is licensed.
Copyright © 2018 Gruntwork, Inc.
Questions? Ask away. We're here to talk about our services, answer any questions, give advice, or just to chat.
Ready to hand off the Gruntwork? "https://cdn.gruntwork.io/gruntwork-website/"
{"index":{"js":"https://cdn.gruntwork.io/gruntwork-website/index.bundle.c7884255553b53fbca3a.js","map":"https://cdn.gruntwork.io/gruntwork-website/index.bundle.1b14c1b7d19f1f5eb35d6e118e838255.map"},"styles":{"css":"https://cdn.gruntwork.io/gruntwork-website/styles.bundle.f22938926651ddec7c49.css","js":"https://cdn.gruntwork.io/gruntwork-website/styles.bundle.e782420e74a20dcb8691.js","map":"https://cdn.gruntwork.io/gruntwork-website/styles.bundle.d5e2af49807c6ca33f8367d621ece507.map"},"vendors":{"css":"https://cdn.gruntwork.io/gruntwork-website/vendors.bundle.29f7d0366a0978763f96.css","js":"https://cdn.gruntwork.io/gruntwork-website/vendors.bundle.fa8174a130797d75d12c.js","map":"https://cdn.gruntwork.io/gruntwork-website/vendors.bundle.57243d94deeeb29d5061288a338b4eb6.map"}}
{"treedata":{"name":"root","toggled":true,"children":[{"name":".circleci","children":[{"name":"config.yml","path":".circleci/config.yml","sha":"e4ac80e51fc46fe06c41c9836803f40291562df2"}]},{"name":".gitignore","path":".gitignore","sha":"f2438833ea6b1bc45e125b598cb1e08cbd274e1b"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"71195b5cefdf89443b15adbdfdc7735b11833a37"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"19e775a4b681f94468d8fd2a6a2780cfbe91ecff"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","sha":"492bef006a63f2c3189fd171116eb3f900c6cd02"},{"name":"LICENSE.md","path":"LICENSE.md","sha":"a2cf01ecdd725fddd718ab91c80c115882c94f3c"},{"name":"README.md","path":"README.md","sha":"ebe0be6e9b1f79275f4f56fb3b4205755b2ade16","toggled":true},{"name":"_docs","children":[{"name":"elk-architecture.png","path":"_docs/elk-architecture.png","sha":"a7585c6f40eb0a7740b34f00d412bc2e37373266"}]},{"name":"examples","children":[{"name":"elasticsearch-docker","children":[{"name":"local-mocks","children":[{"name":"entrypoint.sh","path":"examples/elasticsearch-docker/local-mocks/entrypoint.sh","sha":"8e298671493441b6d7548f619a6155a408677d99"}]},{"name":"non-ssl","children":[{"name":".env","path":"examples/elasticsearch-docker/non-ssl/.env","sha":"bc82d24eea229df2ba77f0fdf1f6e1c6f6a8e532"},{"name":"README.md","path":"examples/elasticsearch-docker/non-ssl/README.md","sha":"ed4bee52f5093a864164067b57d54f41668e55f5"},{"name":"docker-compose.yml","path":"examples/elasticsearch-docker/non-ssl/docker-compose.yml","sha":"e7547917f574679857f800b24f86bd573671931e"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/elasticsearch-docker/non-ssl/user-data/user-data.sh","sha":"81df178b3080a40a9e03ff7e94f1ef5db7d57f98"}]}]},{"name":"ssl","children":[{"name":".env","path":"examples/elasticsearch-docker/ssl/.env","sha":"bc82d24eea229df2ba77f0fdf1f6e1c6f6a8e532"},{"name":"README.md","path":"examples/elasticsearch-docker/ssl/README.md","sha":"ed4bee52f5093a864164067b57d54f41668e55f5"},{"name":"docker-compose.yml","path":"examples/elasticsearch-docker/ssl/docker-compose.yml","sha":"25e2b036c7e672a8ffc4b9559ab53f8d77441f99"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/elasticsearch-docker/ssl/user-data/user-data.sh","sha":"fc95c5a93069b251aca3ec2ae70a2be90231fcd9"}]}]}]},{"name":"elasticsearch-only-cluster","children":[{"name":"README.md","path":"examples/elasticsearch-only-cluster/README.md","sha":"5bdbc120e354d55895febb193390b8ba4440e9ac"},{"name":"main.tf","path":"examples/elasticsearch-only-cluster/main.tf","sha":"b9aa9f6e658381763a0e201de7ebfb1ebecce344"},{"name":"outputs.tf","path":"examples/elasticsearch-only-cluster/outputs.tf","sha":"382f2cda2c87d824b274f986f5107fd90477544a"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/elasticsearch-only-cluster/user-data/user-data.sh","sha":"aeede64e90518884375cbbad4529b3549df4a86f"}]},{"name":"vars.tf","path":"examples/elasticsearch-only-cluster/vars.tf","sha":"6c3db8f2b043c53d04f7278a076230b4ce06308a"}]},{"name":"elk-amis","children":[{"name":"README.md","path":"examples/elk-amis/README.md","sha":"4e58b3a2e6be086188621bee400ff750f02436e8"},{"name":"all-in-one","children":[{"name":"README.md","path":"examples/elk-amis/all-in-one/README.md","sha":"42799bc50b4f41eb9e27ed79f1b5624b812b81b2"},{"name":"all-in-one.json","path":"examples/elk-amis/all-in-one/all-in-one.json","sha":"3bbb841ccee1a1e69b58cfa31dd80426219afa52"}]},{"name":"app-server","children":[{"name":"README.md","path":"examples/elk-amis/app-server/README.md","sha":"577966ff3d1aa65d69aa43d6b7e1e86968099335"},{"name":"app-server.json","path":"examples/elk-amis/app-server/app-server.json","sha":"bb2f7d8828023f7aaab9bec88cecbed8a8cb03d8"}]},{"name":"collectd","children":[{"name":"README.md","path":"examples/elk-amis/collectd/README.md","sha":"a9fa0d44e853022868368cab446e4aaeb24997ab"},{"name":"collectd-install-steps.sh","path":"examples/elk-amis/collectd/collectd-install-steps.sh","sha":"1fa3c68c3a1318caab275a7eb4bbaf9533b75319"},{"name":"collectd.json","path":"examples/elk-amis/collectd/collectd.json","sha":"417afbe8f8304f13f9cc5ee74f4efe4b4b1425f0"},{"name":"config","children":[{"name":"collectd-ssl.conf","path":"examples/elk-amis/collectd/config/collectd-ssl.conf","sha":"0ccfc0f2aee65c0e17f5cd530c5edaccf247c3d8"},{"name":"collectd.conf","path":"examples/elk-amis/collectd/config/collectd.conf","sha":"74c1b46937039070cd95f64269eef63aabd72805"}]}]},{"name":"elastalert","children":[{"name":"README.md","path":"examples/elk-amis/elastalert/README.md","sha":"9dd33dfd29ddafa1040213466560ffcf8a66944d"},{"name":"aws","children":[{"name":"elastalert-config","children":[{"name":"config-ssl.yml","path":"examples/elk-amis/elastalert/aws/elastalert-config/config-ssl.yml","sha":"f26f8404e40736c5b0b17bc23e6a5de119d0c80f"},{"name":"config.yml","path":"examples/elk-amis/elastalert/aws/elastalert-config/config.yml","sha":"6054d91b8e86df9102fd5fd1fa2c545f7a981d31"}]}]},{"name":"docker","children":[{"name":"elastalert-config","children":[{"name":"config-ssl.yml","path":"examples/elk-amis/elastalert/docker/elastalert-config/config-ssl.yml","sha":"f26f8404e40736c5b0b17bc23e6a5de119d0c80f"},{"name":"config.yml","path":"examples/elk-amis/elastalert/docker/elastalert-config/config.yml","sha":"6054d91b8e86df9102fd5fd1fa2c545f7a981d31"}]}]},{"name":"elastalert-install-steps.sh","path":"examples/elk-amis/elastalert/elastalert-install-steps.sh","sha":"0e5cca36e97e25543d28d2d4d346b80110ceef8d"},{"name":"elastalert-rules","children":[{"name":"example_change.yml","path":"examples/elk-amis/elastalert/elastalert-rules/example_change.yml","sha":"4020886483786ff9a8847159b5750014c5d2b0fb"}]},{"name":"elastalert.json","path":"examples/elk-amis/elastalert/elastalert.json","sha":"66ea4844bb97a97c9c0a5474c006a3b6070ae573"}]},{"name":"elasticsearch","children":[{"name":"README.md","path":"examples/elk-amis/elasticsearch/README.md","sha":"f77a938e72424815565ffe16b9ae7787cb430cc7"},{"name":"aws","children":[{"name":"config","children":[{"name":"elasticsearch-ssl.yml","path":"examples/elk-amis/elasticsearch/aws/config/elasticsearch-ssl.yml","sha":"e6b0e5d3efd07f195aa18ae567789548a0eebc68"},{"name":"elasticsearch.yml","path":"examples/elk-amis/elasticsearch/aws/config/elasticsearch.yml","sha":"4918d1d6ec52dafa7741bda8212240d75b162f37"},{"name":"jvm.options","path":"examples/elk-amis/elasticsearch/aws/config/jvm.options","sha":"28dcf519ee339aba5dd15059c1acc4b97846d6ce"}]}]},{"name":"docker","children":[{"name":"config","children":[{"name":"elasticsearch-ssl.yml","path":"examples/elk-amis/elasticsearch/docker/config/elasticsearch-ssl.yml","sha":"705af52bc1e914df93faa919de8a23b973184938"},{"name":"elasticsearch.yml","path":"examples/elk-amis/elasticsearch/docker/config/elasticsearch.yml","sha":"2ac38b9c875dd6352b7a3d7d0fc2c02662d0e9cb"},{"name":"jvm.options","path":"examples/elk-amis/elasticsearch/docker/config/jvm.options","sha":"28dcf519ee339aba5dd15059c1acc4b97846d6ce"}]}]},{"name":"elasticsearch-install-steps.sh","path":"examples/elk-amis/elasticsearch/elasticsearch-install-steps.sh","sha":"8bf109bdbb6d4414d6c8416b12a04eb87dab69ab"},{"name":"elasticsearch.json","path":"examples/elk-amis/elasticsearch/elasticsearch.json","sha":"cc80f96855a8b1c741297cb3427d4c4c5efe6bcd"},{"name":"plugins","children":[{"name":"readonlyrest-1.22.1_es6.8.12.zip","path":"examples/elk-amis/elasticsearch/plugins/readonlyrest-1.22.1_es6.8.12.zip","sha":"93bdf77044e9ac16fb6eb8e091a1700419425ea9"}]},{"name":"readonlyrest-config","children":[{"name":"readonlyrest.yml","path":"examples/elk-amis/elasticsearch/readonlyrest-config/readonlyrest.yml","sha":"b56a9dc5f63bf416a5aeb3375abc60540d4ccf2d"}]}]},{"name":"filebeat","children":[{"name":"README.md","path":"examples/elk-amis/filebeat/README.md","sha":"ce76c3cbb426dc4d5e82f04a85eb0efd043fe671"},{"name":"config","children":[{"name":"filebeat-ssl.yml","path":"examples/elk-amis/filebeat/config/filebeat-ssl.yml","sha":"24b163e671b4cc49af08726867d8869f105a8ecb"},{"name":"filebeat.yml","path":"examples/elk-amis/filebeat/config/filebeat.yml","sha":"ae4641ee77c89e389728836fca3cac1428214fe2"}]},{"name":"filebeat-install-steps.sh","path":"examples/elk-amis/filebeat/filebeat-install-steps.sh","sha":"71192c99d9e5a1207a7a0f6f0dfa107532a21fe0"},{"name":"filebeat.json","path":"examples/elk-amis/filebeat/filebeat.json","sha":"31853b4979565fe8d067d85cfe6fd1b8a21142e1"}]},{"name":"kibana","children":[{"name":"README.md","path":"examples/elk-amis/kibana/README.md","sha":"b8af363345ba445cb9fbc2b04ec0e7d6b0b08149"},{"name":"config","children":[{"name":"kibana-ssl.yml","path":"examples/elk-amis/kibana/config/kibana-ssl.yml","sha":"9d0761e628a703eec051b31e6cce9d39e62f5ade"},{"name":"kibana.yml","path":"examples/elk-amis/kibana/config/kibana.yml","sha":"852b146720a4ab3fc1380beacce6f77851017b51"}]},{"name":"kibana-install-steps.sh","path":"examples/elk-amis/kibana/kibana-install-steps.sh","sha":"1dc5d1dd094d0533947c53da510cb5d2139556bf"},{"name":"kibana.json","path":"examples/elk-amis/kibana/kibana.json","sha":"3dcdc7b697f9a37cbb43aa2b7f370d3f99280a3a"}]},{"name":"logstash","children":[{"name":"README.md","path":"examples/elk-amis/logstash/README.md","sha":"b1035b8b3d34f28000e329171ba65275b1fac258"},{"name":"config","children":[{"name":"jvm.options","path":"examples/elk-amis/logstash/config/jvm.options","sha":"6017dd218501163070f950077ce6a1e9cff8f3a4"},{"name":"logstash-ssl.yml","path":"examples/elk-amis/logstash/config/logstash-ssl.yml","sha":"46e72285a2074ceba2313f726db5eb0db6dfa414"},{"name":"logstash.yml","path":"examples/elk-amis/logstash/config/logstash.yml","sha":"46e72285a2074ceba2313f726db5eb0db6dfa414"},{"name":"pipeline-ssl.conf","path":"examples/elk-amis/logstash/config/pipeline-ssl.conf","sha":"59481e970f6db1463daffd4eeb41f1264f570e34"},{"name":"pipeline.conf","path":"examples/elk-amis/logstash/config/pipeline.conf","sha":"4a68c41fc5e86106915cb1c91ec39bd4c0cd2b55"}]},{"name":"logstash-install-steps.sh","path":"examples/elk-amis/logstash/logstash-install-steps.sh","sha":"7fd979a06f44c76a70745fd014895ead31f6b693"},{"name":"logstash.json","path":"examples/elk-amis/logstash/logstash.json","sha":"d95599df2277fcaa181db6bafe2cdbb3b19f6a77"}]}]},{"name":"elk-multi-cluster","children":[{"name":"README.md","path":"examples/elk-multi-cluster/README.md","sha":"ca696b69e95a04bbee5ea51c1b411131d0a47b33"},{"name":"main.tf","path":"examples/elk-multi-cluster/main.tf","sha":"a287bca9ebd135b6fc60ab37fb2f028dbf6a5483"},{"name":"outputs.tf","path":"examples/elk-multi-cluster/outputs.tf","sha":"8bc4cde32815078921bc75375d963b533f6c50db"},{"name":"user-data","children":[{"name":"app-server","children":[{"name":"user-data.sh","path":"examples/elk-multi-cluster/user-data/app-server/user-data.sh","sha":"e3ab01683b870b0bd96ad620d4b25860a7d7a833"}]},{"name":"elastalert","children":[{"name":"user-data.sh","path":"examples/elk-multi-cluster/user-data/elastalert/user-data.sh","sha":"48181b3b07a3aec5e5b808b4101a9ef447eed37b"}]},{"name":"elasticsearch","children":[{"name":"user-data.sh","path":"examples/elk-multi-cluster/user-data/elasticsearch/user-data.sh","sha":"aeede64e90518884375cbbad4529b3549df4a86f"}]},{"name":"kibana","children":[{"name":"user-data.sh","path":"examples/elk-multi-cluster/user-data/kibana/user-data.sh","sha":"cb5337f5e4c5a8029554a1af33982f963e4b741b"}]},{"name":"logstash","children":[{"name":"user-data.sh","path":"examples/elk-multi-cluster/user-data/logstash/user-data.sh","sha":"4a74a7ca4c180c4e53fa03e8d1d56184adedfff1"}]}]},{"name":"vars.tf","path":"examples/elk-multi-cluster/vars.tf","sha":"de09885f08e8e71b84ff42f0951a792fcab5023f"}]},{"name":"elk-single-cluster","children":[{"name":"README.md","path":"examples/elk-single-cluster/README.md","sha":"f0842ece87a00338900f35f17b199604d4e46e0c"},{"name":"main.tf","path":"examples/elk-single-cluster/main.tf","sha":"e458aeef05555af0950a39611ba58b528a7ad8da"},{"name":"outputs.tf","path":"examples/elk-single-cluster/outputs.tf","sha":"c12a0b236e6fcbf5881cb60276d62a432dadb87a"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/elk-single-cluster/user-data/user-data.sh","sha":"446a992b93c4a3a53a86377546b0cc520bc941d3"}]},{"name":"vars.tf","path":"examples/elk-single-cluster/vars.tf","sha":"a67bfbaabbca1a1f25865570d9cc1a70d369485b"}]}]},{"name":"modules","children":[{"name":"auto-discovery","children":[{"name":"README.md","path":"modules/auto-discovery/README.md","sha":"f4de11c428f8fefd962220e7fbc4b976b4f838fe"},{"name":"bin","children":[{"name":"auto-discovery","path":"modules/auto-discovery/bin/auto-discovery","sha":"fa1f2368e4ff71c550151ed9bd67107515d04873"}]},{"name":"install.sh","path":"modules/auto-discovery/install.sh","sha":"99a2f2fb2cbfaa31e752cbcc6495e5b755f034f2"}]},{"name":"beats-iam-policies","children":[{"name":"main.tf","path":"modules/beats-iam-policies/main.tf","sha":"e7a56414d9c5cd57043976741f1ad9a451e372a9"},{"name":"vars.tf","path":"modules/beats-iam-policies/vars.tf","sha":"52873644e20b4cafdcc0f33dc11db99f1fa9b586"}]},{"name":"elastalert-iam-policies","children":[{"name":"README.md","path":"modules/elastalert-iam-policies/README.md","sha":"4dc09bec085bc821efa8052578b54cc4c321ea67"},{"name":"main.tf","path":"modules/elastalert-iam-policies/main.tf","sha":"db41ed93d7a013b9e2bd3fd6b1975ac2e64b8b66"},{"name":"variables.tf","path":"modules/elastalert-iam-policies/variables.tf","sha":"bc55d045eba3b8df1b08f78a4657cae25ee0ea73"}]},{"name":"elastalert-security-group-rules","children":[{"name":"README.md","path":"modules/elastalert-security-group-rules/README.md","sha":"dc33e8391d9958ef1915f6a4e2104df391e2d320"},{"name":"main.tf","path":"modules/elastalert-security-group-rules/main.tf","sha":"829f8da60dce27576590feb62480b196204db693"},{"name":"variables.tf","path":"modules/elastalert-security-group-rules/variables.tf","sha":"0d87d8de7864335c546406e1047a680f14e6ec73"}]},{"name":"elastalert","children":[{"name":"README.md","path":"modules/elastalert/README.md","sha":"8ee7b607def1754891d8ca65dde5a22552787ebb"},{"name":"main.tf","path":"modules/elastalert/main.tf","sha":"d6c0894d83f8769a02e1b780404598fd9ada1dda"},{"name":"outputs.tf","path":"modules/elastalert/outputs.tf","sha":"aa5817acc77a75b75f4ea4acc686332c5b865618"},{"name":"vars.tf","path":"modules/elastalert/vars.tf","sha":"bd053dc8923e14a406bae848f75c92e4f0e8a822"}]},{"name":"elasticsearch-cluster-backup","children":[{"name":"README.md","path":"modules/elasticsearch-cluster-backup/README.md","sha":"6b3689afcf27cc5cde7a4048e125e97c7d82189b"},{"name":"backup","children":[{"name":"index.js","path":"modules/elasticsearch-cluster-backup/backup/index.js","sha":"6d3ff6a2a58d70dccd55399ba8bf0e0270140279"}]},{"name":"main.tf","path":"modules/elasticsearch-cluster-backup/main.tf","sha":"e1c6ca01760a7d80fdde5dadc6595af8d88a2b93"},{"name":"notification","children":[{"name":"index.js","path":"modules/elasticsearch-cluster-backup/notification/index.js","sha":"8e92e6b387974c4f0c6f007b8e3555d64e984202"}]},{"name":"outputs.tf","path":"modules/elasticsearch-cluster-backup/outputs.tf","sha":"ce7c4ee206984e74253ad6bb0bf25cd4a3965053"},{"name":"vars.tf","path":"modules/elasticsearch-cluster-backup/vars.tf","sha":"93c34c8c22ecfa0c9498e450df4886996b4bcfa1"}]},{"name":"elasticsearch-cluster-restore","children":[{"name":"README.md","path":"modules/elasticsearch-cluster-restore/README.md","sha":"11f4f63105657b323a60828ff155c22aaa0ebfbf"},{"name":"main.tf","path":"modules/elasticsearch-cluster-restore/main.tf","sha":"4db73f1400d4c00ec5807a5fcae6559221501ad8"},{"name":"notification","children":[{"name":"index.js","path":"modules/elasticsearch-cluster-restore/notification/index.js","sha":"4e441662f92edf384c0c92a96ea5e1a7e1b0b24d"}]},{"name":"outputs.tf","path":"modules/elasticsearch-cluster-restore/outputs.tf","sha":"92454e1cf45fcc57f60c09eb8b31064efb460726"},{"name":"restore","children":[{"name":"index.js","path":"modules/elasticsearch-cluster-restore/restore/index.js","sha":"7d84ea278f01b64310fbc33d18c86a2a73b60573"}]},{"name":"vars.tf","path":"modules/elasticsearch-cluster-restore/vars.tf","sha":"b1c5309ac8d80d86b7ad12912fbf003d7177028f"}]},{"name":"elasticsearch-cluster","children":[{"name":"README.md","path":"modules/elasticsearch-cluster/README.md","sha":"3af5458f9573916635427a990fe0855d4c008f47"},{"name":"main.tf","path":"modules/elasticsearch-cluster/main.tf","sha":"988a807122e4a6c24d15dc8f079588dc5cae29af"},{"name":"outputs.tf","path":"modules/elasticsearch-cluster/outputs.tf","sha":"0231e24415e13f62f29d8abefe0398ddb6d0fa04"},{"name":"variables.tf","path":"modules/elasticsearch-cluster/variables.tf","sha":"8b680c1329382792bee8415ff36bd1314675a4c9"}]},{"name":"elasticsearch-iam-policies","children":[{"name":"README.md","path":"modules/elasticsearch-iam-policies/README.md","sha":"57a7117828cff0d9d5bdf7c9fe3af050e55e4aa0"},{"name":"main.tf","path":"modules/elasticsearch-iam-policies/main.tf","sha":"fa69f3d49c30aab68aaf7e509bf90b7716ef6b83"},{"name":"variables.tf","path":"modules/elasticsearch-iam-policies/variables.tf","sha":"c612a588acea6049cfdb930209854e253b549729"}]},{"name":"elasticsearch-security-group-rules","children":[{"name":"README.md","path":"modules/elasticsearch-security-group-rules/README.md","sha":"5f0b25abeaa80973e4839626ac96ff306291e759"},{"name":"main.tf","path":"modules/elasticsearch-security-group-rules/main.tf","sha":"092ae494d1dac1e20e479b23af0faf85f7bc3242"},{"name":"outputs.tf","path":"modules/elasticsearch-security-group-rules/outputs.tf","sha":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"},{"name":"variables.tf","path":"modules/elasticsearch-security-group-rules/variables.tf","sha":"7f055aa865ca315861e7a69f2d7741ab7883fddf"}]},{"name":"install-collectd","children":[{"name":"README.md","path":"modules/install-collectd/README.md","sha":"3f9e7dedcca0cc1b67812309594e5d57f41535f0"},{"name":"install.sh","path":"modules/install-collectd/install.sh","sha":"4090c1e8b94dd1a4d30ce68da03b73c281e53a3a"}]},{"name":"install-elastalert","children":[{"name":"README.md","path":"modules/install-elastalert/README.md","sha":"d228d557e6792eba4813df9c0ac6e454fc7c53d7"},{"name":"install.sh","path":"modules/install-elastalert/install.sh","sha":"2428d52ac73bd555044c5848546aac8b564c3a5f"}]},{"name":"install-elasticsearch","children":[{"name":"README.md","path":"modules/install-elasticsearch/README.md","sha":"b3865efd8e8009e18c88e0f7fcae62985f1e8cd1"},{"name":"install.sh","path":"modules/install-elasticsearch/install.sh","sha":"89c6d78790ed08a49af5821e04a459ec4c6b89d6"}]},{"name":"install-filebeat","children":[{"name":"README.md","path":"modules/install-filebeat/README.md","sha":"cb64af493f471c37fe427070fce0a95617082dd7"},{"name":"install.sh","path":"modules/install-filebeat/install.sh","sha":"b7537d09a916f93ded0214c5386d897e2f38bf56"}]},{"name":"install-kibana","children":[{"name":"README.md","path":"modules/install-kibana/README.md","sha":"a0320bbaf4cf83b6133af8df620053420f0c9d25"},{"name":"install.sh","path":"modules/install-kibana/install.sh","sha":"35eeef5d8aa75b4a1dd54d2913acf6688429c780"}]},{"name":"install-logstash","children":[{"name":"README.md","path":"modules/install-logstash/README.md","sha":"fddf142ed7b9608f76eb9d07cbd9ffa0a5443dad"},{"name":"install.sh","path":"modules/install-logstash/install.sh","sha":"a689e67980aa28d7d2f04f693ccb59138ccfe3e2"}]},{"name":"kibana-cluster","children":[{"name":"README.md","path":"modules/kibana-cluster/README.md","sha":"4c4860d81ed7d630a77f8c7700da1e9588c82b5f"},{"name":"main.tf","path":"modules/kibana-cluster/main.tf","sha":"bb994d426fe06cfef8e44a84470c0716a5fabab8"},{"name":"outputs.tf","path":"modules/kibana-cluster/outputs.tf","sha":"f32e707371481d34b2b84d4ef7f205afaa04f2d4"},{"name":"variables.tf","path":"modules/kibana-cluster/variables.tf","sha":"58d03200bff5a18c52347d42af2a6ac1a6452802"}]},{"name":"kibana-security-group-rules","children":[{"name":"README.md","path":"modules/kibana-security-group-rules/README.md","sha":"c35fc72e41001065470a412a0ad9756eb2e84310"},{"name":"main.tf","path":"modules/kibana-security-group-rules/main.tf","sha":"b9b6b5bb65da64ac86c37e595005a31fcecbf319"},{"name":"outputs.tf","path":"modules/kibana-security-group-rules/outputs.tf","sha":"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"},{"name":"variables.tf","path":"modules/kibana-security-group-rules/variables.tf","sha":"b89d5c7f5f1d1b0e9b5e1d239a1dec9a4ea34486"}]},{"name":"load-balancer-alb-target-group","children":[{"name":"README.md","path":"modules/load-balancer-alb-target-group/README.md","sha":"66c957276dc5cf35a341e0fd563bf394fd4b3d22"},{"name":"main.tf","path":"modules/load-balancer-alb-target-group/main.tf","sha":"1d96ce34ba356aa6ee7b0a006296bfd55c6e1f47"},{"name":"outputs.tf","path":"modules/load-balancer-alb-target-group/outputs.tf","sha":"cdf904445cf5099ccea5cc8820d198a1ffba4283"},{"name":"variables.tf","path":"modules/load-balancer-alb-target-group/variables.tf","sha":"4a262b0abde2721f9e3a5edeb6a98046009b9df3"}]},{"name":"logstash-cluster","children":[{"name":"README.md","path":"modules/logstash-cluster/README.md","sha":"dbc17e8fc3c4d9a61661ca59b934295ce0bcc6a5"},{"name":"main.tf","path":"modules/logstash-cluster/main.tf","sha":"470905201960ebe3a5e6edae03ea17b97bcffc00"},{"name":"outputs.tf","path":"modules/logstash-cluster/outputs.tf","sha":"218a4f0042d52ea1673de0c4f78857a4831143a6"},{"name":"vars.tf","path":"modules/logstash-cluster/vars.tf","sha":"bff728633e0f853502c3a15b4f9311b5b9d2d41f"}]},{"name":"logstash-iam-policies","children":[{"name":"README.md","path":"modules/logstash-iam-policies/README.md","sha":"3714f39713885c9698daa2973a7891d0a6fb982f"},{"name":"main.tf","path":"modules/logstash-iam-policies/main.tf","sha":"524e0ae00bb7fb20a7ef2c3cc1cec7184288e68c"},{"name":"vars.tf","path":"modules/logstash-iam-policies/vars.tf","sha":"865c74386084c6eff1f46cb103aa847a6ad0da68"}]},{"name":"logstash-security-group-rules","children":[{"name":"README.md","path":"modules/logstash-security-group-rules/README.md","sha":"e96766f09754cf166f53debb653ea278613a9c8e"},{"name":"main.tf","path":"modules/logstash-security-group-rules/main.tf","sha":"9a40f9c18078911c383b41c80236f579ff02f2fe"},{"name":"outputs.tf","path":"modules/logstash-security-group-rules/outputs.tf","sha":"3641c561d0e23ef02fa83319ddafa8d1f9f813d2"},{"name":"vars.tf","path":"modules/logstash-security-group-rules/vars.tf","sha":"9e26c219ddad783caf509581fae84953eae60fe9"}]},{"name":"run-collectd","children":[{"name":"README.md","path":"modules/run-collectd/README.md","sha":"783453e215c5907681e77ab4b48e64cad42ab989"},{"name":"bin","children":[{"name":"run-collectd","path":"modules/run-collectd/bin/run-collectd","sha":"7f7971d8b564a84a251d4c253c42f9025b5a1cf7"}]},{"name":"install.sh","path":"modules/run-collectd/install.sh","sha":"d2d8126f6fc5ba95a4e12242aa6ffe9bdc945ba6"}]},{"name":"run-elastalert","children":[{"name":"README.md","path":"modules/run-elastalert/README.md","sha":"e52cf808ab755b2d56a392ee8f525a0651963472"},{"name":"bin","children":[{"name":"run-elastalert","path":"modules/run-elastalert/bin/run-elastalert","sha":"cccab0f5cf41600c1b8ad48da5173db97965440f"}]},{"name":"install.sh","path":"modules/run-elastalert/install.sh","sha":"308f895a2366fc0cd8e6669229f6928a3d888f13"}]},{"name":"run-elasticsearch","children":[{"name":"README.md","path":"modules/run-elasticsearch/README.md","sha":"8a94a393f612da88f6b1b0a50a2e66743830abac"},{"name":"bin","children":[{"name":"run-elasticsearch","path":"modules/run-elasticsearch/bin/run-elasticsearch","sha":"e8e21b99ca07e03ce807ad537fbd9c3858912713"}]},{"name":"install.sh","path":"modules/run-elasticsearch/install.sh","sha":"c66e6da3d46195ac94d68eed18ed301ca7e0eb51"}]},{"name":"run-filebeat","children":[{"name":"README.md","path":"modules/run-filebeat/README.md","sha":"07fffbedecf8232d163a6ea985669497b11f3f7b"},{"name":"bin","children":[{"name":"run-filebeat","path":"modules/run-filebeat/bin/run-filebeat","sha":"2e323cd6b7550db8470085911fa372c4edad8ae6"}]},{"name":"install.sh","path":"modules/run-filebeat/install.sh","sha":"cd890712803c3961ada86acf1e13b4c299402fb6"}]},{"name":"run-kibana","children":[{"name":"README.md","path":"modules/run-kibana/README.md","sha":"57d636cd26e4af0b51364b4ffb70b382f76314e4"},{"name":"bin","children":[{"name":"run-kibana","path":"modules/run-kibana/bin/run-kibana","sha":"0f60bca1be5eebc5594de9e8eab162aa979d4a17"}]},{"name":"install.sh","path":"modules/run-kibana/install.sh","sha":"e23b447832fce06ad32ce654f94a182a521e2e38"}]},{"name":"run-logstash","children":[{"name":"README.md","path":"modules/run-logstash/README.md","sha":"c3d92b73c36bf63b4bd84356f2f4b781aa34c172"},{"name":"bin","children":[{"name":"run-logstash","path":"modules/run-logstash/bin/run-logstash","sha":"60dc8d906d8181e5a94c3ad18b5b27e53d513cf1"}]},{"name":"install.sh","path":"modules/run-logstash/install.sh","sha":"0a30f2adc2d0765b5581274263e12ce2e688b623"}]}]},{"name":"test","children":[{"name":"README.md","path":"test/README.md","sha":"819e790d15767c851bfc438f0a1413ed2bde7d3b"},{"name":"elasticsearch_aws_simple_test.go","path":"test/elasticsearch_aws_simple_test.go","sha":"18c119d40504e2066377d334739150dbc6711a4d"},{"name":"elasticsearch_docker_test.go","path":"test/elasticsearch_docker_test.go","sha":"2aad9485f5da9cd84305d427a5d5e4a615f7a889"},{"name":"elk_aio_test.go","path":"test/elk_aio_test.go","sha":"ef12f5aa440b29507c695c4e95a96df42e07cacf"},{"name":"elk_end_to_end_test.go","path":"test/elk_end_to_end_test.go","sha":"80b02f52b1761901bffd4c18ad7e149332b6541c"},{"name":"go.mod","path":"test/go.mod","sha":"a50193efe96f60c6726e53635b1ea54371c88436"},{"name":"go.sum","path":"test/go.sum","sha":"857fb7afd5b3ba75c2b5cefbd6419330dd472444"},{"name":"notes.md","path":"test/notes.md","sha":"664915d4b948ccd194ffda80854f47c191904e3d"},{"name":"test_helpers.go","path":"test/test_helpers.go","sha":"7e71eb600084e7f279c4092705a66c43bf4f7e10"},{"name":"test_helpers_keystore.go","path":"test/test_helpers_keystore.go","sha":"e3b1ed8963088a2bcbdc2863287e60d19d23cd47"},{"name":"tls_helpers.go","path":"test/tls_helpers.go","sha":"dd131a0d95b024beffa40c3ae538333ef2663891"}]}]},"detailsContent":"<p><img src=\"https://img.shields.io/badge/tf-%3E%3D0.12.0-blue.svg\" alt=\"Terraform Version\" class=\"preview__body--diagram\"></p>\n<h1 class=\"preview__body--title\" id=\"elk-aws-module\">ELK AWS Module</h1><div class=\"preview__body--border\"></div><p>This repo contains modules for deploying and managing the <a href=\"https://www.elastic.co/elk-stack\" class=\"preview__body--description--blue\" target=\"_blank\">ELK Stack</a>.</p>\n<p><img src=\"/repos/images/v0.6.0/package-elk/_docs/elk-architecture.png?raw=true\" alt=\"Elasticsearch architecture\" class=\"preview__body--diagram\"></p>\n<h2 class=\"preview__body--subtitle\" id=\"quick-start\">Quick start</h2>\n<p>If you want to quickly spin up the entire ELK stack installed on a single machine, you can run the <a href=\"/repos/v0.6.0/package-elk/examples/elk-single-cluster\" class=\"preview__body--description--blue\">single server</a>\nexample. This is a simple example that shows you how all the components in this module work together. If you want a more production-like deployment\nwith separate clusters for each component of ELK, look at <a href=\"/repos/v0.6.0/package-elk/examples/elk-multi-cluster\" class=\"preview__body--description--blue\">ELK Deployment</a> example.</p>\n<h3 class=\"preview__body--subtitle\" id=\"whats-in-this-repo\">What's in this repo</h3>\n<p>This repo has the following folder structure:</p>\n<ul>\n<li><a href=\"/repos/v0.6.0/package-elk/modules\" class=\"preview__body--description--blue\">modules</a>: This folder contains the main implementation code for this Module, broken down into multiple standalone submodules.</li>\n<li><a href=\"/repos/v0.6.0/package-elk/examples\" class=\"preview__body--description--blue\">examples</a>: This folder contains examples of how to use the submodules.</li>\n<li><a href=\"/repos/v0.6.0/package-elk/test\" class=\"preview__body--description--blue\">test</a>: Automated tests for the submodules and examples.</li>\n</ul>\n<p>The main modules are:</p>\n<ul>\n<li>\n<ul>\n<li><a href=\"/repos/v0.6.0/package-elk/modules/install-elasticsearch\" class=\"preview__body--description--blue\">install-elasticsearch</a>: Install Elasticsearch.</li>\n<li><a href=\"/repos/v0.6.0/package-elk/modules/run-elasticsearch\" class=\"preview__body--description--blue\">run-elasticsearch</a>: Start Elasticsearch.</li>\n<li><a href=\"/repos/v0.6.0/package-elk/modules/elasticsearch-cluster\" class=\"preview__body--description--blue\">elasticsearch-cluster</a>: A Terraform module to run a cluster of Elasticsearch nodes with ENIs\nand EBS Volumes attached, zero-downtime deployment, and auto-recovery of failed nodes.</li>\n</ul>\n</li>\n<li>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/install-kibana\" class=\"preview__body--description--blue\">install-kibana</a>: Install Kibana, a web-based data visualizer for Elasticsearch.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/run-kibana\" class=\"preview__body--description--blue\">run-kibana</a>: Start Kibana.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/kibana-cluster\" class=\"preview__body--description--blue\">kibana-cluster</a>: A Terraform module to run a cluster of Kibana nodes with ENIs\nand EBS Volumes attached, zero-downtime deployment, and auto-recovery of failed nodes.</p>\n</li>\n</ul>\n</li>\n<li>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/install-logstash\" class=\"preview__body--description--blue\">install-logstash</a>: Install Logstash, a server based data collection\nand processing engine.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/run-logstash\" class=\"preview__body--description--blue\">run-logstash</a>: Start Logstash.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/logstash-cluster\" class=\"preview__body--description--blue\">logstash-cluster</a>: A Terraform module to run a cluster of Logstash nodes with ENIs\nand EBS Volumes attached, zero-downtime deployment, and auto-recovery of failed nodes.</p>\n</li>\n</ul>\n</li>\n<li>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/install-filebeat\" class=\"preview__body--description--blue\">install-filebeat</a>: Install Filebeat, a lightweight log file shipper</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/run-filebeat\" class=\"preview__body--description--blue\">run-filebeat</a>: Start Filebeat.</p>\n</li>\n</ul>\n</li>\n<li>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/install-collectd\" class=\"preview__body--description--blue\">install-collectd</a>: Install CollectD, a system and application metrics collection tool.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/run-collectd\" class=\"preview__body--description--blue\">run-collectd</a>: Start CollectD.</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>The supporting modules are:</p>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/elasticsearch-cluster-backup\" class=\"preview__body--description--blue\">elasticsearch-cluster-backup</a>: A Terraform module to deploy a Lambda function that\ntakes snapshots of the Elasticsearch cluster on a configurable schedule and stores those snapshots in S3.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/elasticsearch-cluster-backup\" class=\"preview__body--description--blue\">elasticsearch-cluster-restore</a>: A Terraform module to deploy a Lambda function that\nrestores a cluster from saved snapshots.</p>\n</li>\n</ul>\n<ul>\n<li>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/install-elastalert\" class=\"preview__body--description--blue\">install-elastalert</a>: Install <a href=\"https://github.com/Yelp/elastalert\" class=\"preview__body--description--blue\" target=\"_blank\">ElastAlert</a>, an alerting framework\nfor anomalies and patterns in data stored in Elasticsearch.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/run-elastalert\" class=\"preview__body--description--blue\">run-elastalert</a>: Start ElastAlert.</p>\n</li>\n</ul>\n</li>\n</ul>\n<ul>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/elasticsearch-iam-policies\" class=\"preview__body--description--blue\">elasticsearch-iam-policies</a>: A Terraform module to configure IAM permissions used by Elasticsearch.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/elasticsearch-security-group-rules\" class=\"preview__body--description--blue\">elasticsearch-security-group-rules</a>: A Terraform module to setup security group rules for Elasticsearch.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/logstash-iam-policies\" class=\"preview__body--description--blue\">logstash-iam-policies</a>: A Terraform module to configure IAM permissions used by Logstash.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/logstash-security-group-rules\" class=\"preview__body--description--blue\">logstash-security-group-rules</a>: A Terraform module to setup security group rules for Logstash.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/kibana-security-group-rules\" class=\"preview__body--description--blue\">kibana-security-group-rules</a>: A Terraform module to setup security group rules for Kibana.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.6.0/package-elk/modules/load-balancer-alb-target-group\" class=\"preview__body--description--blue\">load-balancer-alb-target-group</a>: A Terraform module to configure <a href=\"/repos/module-load-balancer/modules/alb\" class=\"preview__body--description--blue\">ALB</a>\ntarget groups used by Elasticsearch, Logstash and Kibana clusters.</p>\n</li>\n</ul>\n<p>Click on each module above to see its documentation.</p>\n<h4 id=\"whats-a-module\">What's a Module?</h4>\n<p>A Module is a canonical, reusable, best-practices definition for how to run a single piece of infrastructure, such\nas a database or server cluster. Each Module is written using a combination of <a href=\"https://www.terraform.io/\" class=\"preview__body--description--blue\" target=\"_blank\">Terraform</a>\nand scripts (mostly bash) and include automated tests, documentation, and examples. It is maintained both by the open\nsource community and companies that provide commercial support.</p>\n<p>Instead of figuring out the details of how to run a piece of infrastructure from scratch, you can reuse\nexisting code that has been proven in production. And instead of maintaining all that infrastructure code yourself,\nyou can leverage the work of the Module community to pick up infrastructure improvements through\na version number bump.</p>\n<h3 class=\"preview__body--subtitle\" id=\"who-maintains-this-module\">Who maintains this Module?</h3>\n<p>This Module is maintained by <a href=\"http://www.gruntwork.io/\" class=\"preview__body--description--blue\" target=\"_blank\">Gruntwork</a>. If you're looking for help or commercial\nsupport, send an email to <a href=\"mailto:modules@gruntwork.io?Subject=Couchbase%20for%20AWS%20Module\" class=\"preview__body--description--blue\" target=\"_blank\">modules@gruntwork.io</a>.\nGruntwork can help with:</p>\n<ul>\n<li>Setup, customization, and support for this Module.</li>\n<li>Modules for other types of infrastructure, such as VPCs, Docker clusters, databases, and continuous integration.</li>\n<li>Modules that meet compliance requirements, such as HIPAA.</li>\n<li>Consulting & Training on AWS, Terraform, and DevOps.</li>\n</ul>\n<h3 class=\"preview__body--subtitle\" id=\"how-do-i-contribute-to-this-module\">How do I contribute to this Module?</h3>\n<p>Contributions are very welcome! Check out the\n<a href=\"/repos/v0.6.0/package-elk/CONTRIBUTING.md\" class=\"preview__body--description--blue\">Contribution Guidelines</a> for instructions.</p>\n<h3 class=\"preview__body--subtitle\" id=\"how-is-this-module-versioned\">How is this Module versioned?</h3>\n<p>This Module follows the principles of <a href=\"http://semver.org/\" class=\"preview__body--description--blue\" target=\"_blank\">Semantic Versioning</a>. You can find each new release,\nalong with the changelog, in the <a href=\"/repos/releases\" class=\"preview__body--description--blue\">Releases Page</a>.</p>\n<p>During initial development, the major version will be 0 (e.g., <code>0.x.y</code>), which indicates the code does not yet have a\nstable API. Once we hit <code>1.0.0</code>, we will make every effort to maintain a backwards compatible API and use the MAJOR,\nMINOR, and PATCH versions on each release to indicate any incompatibilities.</p>\n<h3 class=\"preview__body--subtitle\" id=\"license\">License</h3>\n<p>Please see <a href=\"/repos/terraform-aws-couchbase/LICENSE\" class=\"preview__body--description--blue\">LICENSE</a> for how the code in this repo is licensed.</p>\n<p>Copyright © 2018 Gruntwork, Inc.</p>\n","repoName":"package-elk","repoRef":"v0.7.0","serviceDescriptor":{"serviceName":"Elasticsearch (self-hosted)","serviceRepoName":"package-elk","serviceRepoOrg":"gruntwork-io","cloudProviders":["aws"],"description":"Deploy a self-hosted Elasticsearch cluster. Supports automatic bootstrap, zero-downtime rolling deployment, auto healing, backup, and recovery.","imageUrl":"elk.png","licenseType":"subscriber","technologies":["Terraform","Bash","JavaScript"],"compliance":[],"tags":[""]},"serviceCategoryName":"NoSQL","fileName":"README.md","filePath":"","title":"Repo Browser: Elasticsearch (self-hosted)","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}