Repo Browser: Couchbase You need to enable JavaScript to run this app.
Gruntwork Website
Couchbase Deploy a Couchbase cluster. Supports automatic bootstrapping, Sync Gateway, Web Console UI, cross-region replication, and auto healing.
Couchbase AWS Module
This repo contains a set of modules for deploying Couchbase on
AWS using Terraform and Packer .
Couchbase is a distributed NoSQL document database. This module supports running Couchbase as a single cluster:
Or as multiple clusters for the various Couchbase services (data, management, search, index, query) and Sync Gateway:
Features
Deploy Couchbase and Sync Gateway.
Automatic bootstrapping.
Cross-region replication
Multi-dimensional scaling, allowing you to separately scale data, management, search, index, query, and Sync
Gateway nodes.
Auto healing.
Web console UI.
Learn
This repo is maintained by Gruntwork , and follows the same patterns as the Gruntwork
Infrastructure as Code Library , a collection of reusable,
battle-tested, production ready infrastructure code. You can read How to use the Gruntwork Infrastructure as Code
Library for an overview
of how to use modules maintained by Gruntwork!
Core concepts
Repo organization
Check out How to use this repo :
for an overview.
modules : the main implementation code for this repo, broken down into multiple standalone, orthogonal submodules.
examples : This folder contains working examples of how to use the submodules.
test : Automated tests for the modules and examples.
root : The root folder is an example of how to use the submodules to deploy a Couchbase cluster. The Terraform Registry requires the root of every repo to contain Terraform code, so we've put one of the examples there. This example is great for learning and experimenting, but for production use, please use the underlying modules in the modules folder directly.
Deploy
Non-production deployment (quick start for learning)
If you just want to try this repo out for experimenting and learning, check out the following resources:
examples folder : The examples
folder contains sample code optimized for learning, experimenting, and testing (but not production usage).
quick start : A quick
start guide for this repo.
Production deployment
If you want to deploy this repo in production, check out the following resources:
Couchbase deployment guidelines :
A guide on how to configure Couchbase for production. All of these settings are exposed by the modules in the
modules
folder.
Security options :
The security options you can configure using these modules.
Credentials :
How to pass credentials securely to your Couchbase server.
Memory settings :
How to configure memory settings in your Couchbase server.
Manage
Day-to-day operations
Major changes
Support
If you need help with this repo or anything else related to infrastructure or DevOps, Gruntwork offers Commercial Support via Slack, email, and phone/video. If you're already a Gruntwork customer, hop on Slack and ask away! If not, subscribe now . If you're not sure, feel free to email us at support@gruntwork.io .
Contributions
Contributions to this repo are very welcome and appreciated! If you find a bug or want to add a new feature or even contribute an entirely new module, we are very happy to accept pull requests, provide feedback, and run your changes through our automated test suite.
Please see CONTRIBUTING.md for instructions.
License
Please see LICENSE for details on how the code in this repo is licensed.
Copyright © 2019 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":"7a522c716c0fbadfccb0c1918c5d89916d60f6bf"},{"name":"publish-amis.sh","path":".circleci/publish-amis.sh","sha":"abb6cf0e36e53f65074d47170f147d06036f5797"}]},{"name":".gitignore","path":".gitignore","sha":"85435101db88fb540a38f4b6dfa03ffd79d97633"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"cb7220c1defa83fffecfa99245e0613f417a2ae7"},{"name":".pre-commit-hooks.yaml","path":".pre-commit-hooks.yaml","sha":"92462242c5c4a3aa0f5d5f5b19a81811c71e4b49"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"4be01a6334d39aa5bf6abe6baae701f5e2a8c5ac"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","sha":"de3aa54eede67b6eddf1776e08f8441973f57fc1"},{"name":"LICENSE","path":"LICENSE","sha":"7a4a3ea2424c09fbe48d455aed1eaa94d9124835"},{"name":"NOTICE","path":"NOTICE","sha":"77030eb8f10190ffd42c28bb41922f8c91b089a1"},{"name":"README.md","path":"README.md","sha":"33eecbf3d5ae9ae3751faebf7c595e3c1910f3e6","toggled":true},{"name":"_docs","children":[{"name":"couchbase-icon.png","path":"_docs/couchbase-icon.png","sha":"8b6ac8f2921f00beb92494b378e6157a7e51a53f"},{"name":"couchbase-multi-cluster-architecture.png","path":"_docs/couchbase-multi-cluster-architecture.png","sha":"60ec0e7cca94e2400662b7ed8565833b84f142be"},{"name":"couchbase-multi-datacenter-replication-architecture.png","path":"_docs/couchbase-multi-datacenter-replication-architecture.png","sha":"d19384e42f436e9a96ae112853e679208d8cc513"},{"name":"couchbase-multi-datacenter-replication-architecture.psd","path":"_docs/couchbase-multi-datacenter-replication-architecture.psd","sha":"9750878217d877c6fed0d70c57d4e4f1ed732a4a"},{"name":"couchbase-single-cluster-architecture.png","path":"_docs/couchbase-single-cluster-architecture.png","sha":"448144c58bddc5bf46c096289344d66733bc7592"}]},{"name":"core-concepts.md","path":"core-concepts.md","sha":"b7f0a27396f54937b1e7b870499f9956fb06778c"},{"name":"examples","children":[{"name":"couchbase-ami","children":[{"name":"README.md","path":"examples/couchbase-ami/README.md","sha":"db19908786e1f925f14a63e9f74e12be68ecea41"},{"name":"couchbase.json","path":"examples/couchbase-ami/couchbase.json","sha":"eb2149a36f5109a069856a4770f3a3395e2d68c9"},{"name":"sync_gateway_community.json","path":"examples/couchbase-ami/sync_gateway_community.json","sha":"1ecd7f323b059a2712dabb040c1d1ff31ffe59a3"},{"name":"sync_gateway_enterprise.json","path":"examples/couchbase-ami/sync_gateway_enterprise.json","sha":"39821acb92842d53d772c7afc7af904f478ebced"}]},{"name":"couchbase-cluster-mds","children":[{"name":"README.md","path":"examples/couchbase-cluster-mds/README.md","sha":"ad316fdc85a5687e6310614d1d48f6fa9dcc33bc"},{"name":"local-test","children":[{"name":".env","path":"examples/couchbase-cluster-mds/local-test/.env","sha":"fb429afef6ea74aa33abe5e4319b3538a2bd7263"},{"name":"docker-compose.yml","path":"examples/couchbase-cluster-mds/local-test/docker-compose.yml","sha":"791983d4ac39cc4ff6f7f613e1d78976287f6dbf"}]},{"name":"main.tf","path":"examples/couchbase-cluster-mds/main.tf","sha":"cd89e4c4b2139134ceefcc709a00543e843adf54"},{"name":"outputs.tf","path":"examples/couchbase-cluster-mds/outputs.tf","sha":"4a60475339777bdbf95b6045d7d2e956c2dbe927"},{"name":"user-data","children":[{"name":"user-data-couchbase-data-nodes.sh","path":"examples/couchbase-cluster-mds/user-data/user-data-couchbase-data-nodes.sh","sha":"94150c1fef696dc9d19508ecf614cdffbae19778"},{"name":"user-data-couchbase-index-query-search-nodes.sh","path":"examples/couchbase-cluster-mds/user-data/user-data-couchbase-index-query-search-nodes.sh","sha":"c13d780c95601b1bfa157d65329312866a18f3ff"},{"name":"user-data-sync-gateway.sh","path":"examples/couchbase-cluster-mds/user-data/user-data-sync-gateway.sh","sha":"99aa5e77cfff2774bd0020d51ea6ba77a49a3674"}]},{"name":"variables.tf","path":"examples/couchbase-cluster-mds/variables.tf","sha":"779b652d4ae2bee64e852131b9ca85f39f0bdfd8"}]},{"name":"couchbase-cluster-simple-dns-tls","children":[{"name":"README.md","path":"examples/couchbase-cluster-simple-dns-tls/README.md","sha":"d2e537222684a472713c29292f4160f811b3ed62"},{"name":"local-test","children":[{"name":".env","path":"examples/couchbase-cluster-simple-dns-tls/local-test/.env","sha":"fb429afef6ea74aa33abe5e4319b3538a2bd7263"},{"name":"docker-compose.yml","path":"examples/couchbase-cluster-simple-dns-tls/local-test/docker-compose.yml","sha":"e8980454ea06f365ee92df93aaf6b007c20437cf"}]},{"name":"main.tf","path":"examples/couchbase-cluster-simple-dns-tls/main.tf","sha":"21623b967fa4e0f2224d89cec5ea8d4a9a67d028"},{"name":"outputs.tf","path":"examples/couchbase-cluster-simple-dns-tls/outputs.tf","sha":"bf8c18b332125a2e0e68e210b26fa48dd6594039"},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/couchbase-cluster-simple-dns-tls/user-data/user-data.sh","sha":"a680fa225fc4f256978e297ffc374c5407858625"}]},{"name":"variables.tf","path":"examples/couchbase-cluster-simple-dns-tls/variables.tf","sha":"c4b4418dc839693bd8dbde269a82ac31ef03ce7c"}]},{"name":"couchbase-cluster-simple","children":[{"name":"README.md","path":"examples/couchbase-cluster-simple/README.md","sha":"e4126f146380b68bca8e2075b3579c32d564a2f5"},{"name":"local-test","children":[{"name":".env","path":"examples/couchbase-cluster-simple/local-test/.env","sha":"fb429afef6ea74aa33abe5e4319b3538a2bd7263"},{"name":"docker-compose.yml","path":"examples/couchbase-cluster-simple/local-test/docker-compose.yml","sha":"e8980454ea06f365ee92df93aaf6b007c20437cf"}]},{"name":"user-data","children":[{"name":"user-data.sh","path":"examples/couchbase-cluster-simple/user-data/user-data.sh","sha":"17ada71f8daf8158a817d9cffdcb94bd41bece61"}]}]},{"name":"couchbase-multi-datacenter-replication","children":[{"name":"README.md","path":"examples/couchbase-multi-datacenter-replication/README.md","sha":"e7b299a03d14f1ff713fc57363d6c9e250bbc1ed"},{"name":"local-test","children":[{"name":".env","path":"examples/couchbase-multi-datacenter-replication/local-test/.env","sha":"6112e2bcb38259397b81257ebbf422ebaccec068"},{"name":"docker-compose.yml","path":"examples/couchbase-multi-datacenter-replication/local-test/docker-compose.yml","sha":"12db84e3008f3498f58fe6bb64afcf4d69448410"}]},{"name":"main.tf","path":"examples/couchbase-multi-datacenter-replication/main.tf","sha":"5773fad2e489d3cefd5a2e03de92c83a886c1263"},{"name":"outputs.tf","path":"examples/couchbase-multi-datacenter-replication/outputs.tf","sha":"b176beecefad8213f0c8d953cb1451deb827dba8"},{"name":"user-data","children":[{"name":"user-data-primary.sh","path":"examples/couchbase-multi-datacenter-replication/user-data/user-data-primary.sh","sha":"b96c71bf427c724d367842c25133bb18fc2f0819"},{"name":"user-data-replica.sh","path":"examples/couchbase-multi-datacenter-replication/user-data/user-data-replica.sh","sha":"34d9aa87f51666fa50147dcf411ed758bed1978d"}]},{"name":"variables.tf","path":"examples/couchbase-multi-datacenter-replication/variables.tf","sha":"99c18d0b5dcda11b3999a3cae808f80944be9255"}]},{"name":"local-mocks","children":[{"name":"README.md","path":"examples/local-mocks/README.md","sha":"4c6d80b3998e1027f5c2a4c71715772b81830b31"},{"name":"aws.sh","path":"examples/local-mocks/aws.sh","sha":"20408cfe23eb7a3cf2451fbb7d8214a0b746b1cc"},{"name":"entrypoint.sh","path":"examples/local-mocks/entrypoint.sh","sha":"51c897ba4b159e58381eb23b760c84696dc9b681"},{"name":"mount-volume.sh","path":"examples/local-mocks/mount-volume.sh","sha":"c9fa0b283e7ce1a0b1652dc4565bfe2740dcc820"}]}]},{"name":"main.tf","path":"main.tf","sha":"1868c0ad8ffa0ce7ebbe695d733820e3ea188426"},{"name":"modules","children":[{"name":"couchbase-cluster","children":[{"name":"README.md","path":"modules/couchbase-cluster/README.md","sha":"bb1edabb679a103375a61ed16fa0ad6f63991a50"},{"name":"main.tf","path":"modules/couchbase-cluster/main.tf","sha":"a387d0dc4cfec6b0a999e8a3715e3d4fc1149e26"},{"name":"outputs.tf","path":"modules/couchbase-cluster/outputs.tf","sha":"43f4b8d33b580deface276e3f49680e26daf7b7c"},{"name":"variables.tf","path":"modules/couchbase-cluster/variables.tf","sha":"188c2383e0211961663d26d98216ac3dd0a76418"}]},{"name":"couchbase-commons","children":[{"name":"README.md","path":"modules/couchbase-commons/README.md","sha":"f1367ace90480981e5dceba2c7cb84f6878a1fb8"},{"name":"couchbase-common.sh","path":"modules/couchbase-commons/couchbase-common.sh","sha":"6ef25a60dabe4182d0805d115a6fed1cba5422a0"},{"name":"couchbase-rally-point","path":"modules/couchbase-commons/couchbase-rally-point","sha":"103bc2dbc4b2a7d51b56f08eb186ce2f00b323c7"},{"name":"mount-volume.sh","path":"modules/couchbase-commons/mount-volume.sh","sha":"3767b9a3ea78e4fa1f48f29866dcef430a5fa9fe"}]},{"name":"couchbase-iam-policies","children":[{"name":"README.md","path":"modules/couchbase-iam-policies/README.md","sha":"922154296ebbb41e9343b0ead8fb469007944048"},{"name":"main.tf","path":"modules/couchbase-iam-policies/main.tf","sha":"e29f3ca8e36f743680465589e7a154d986a28367"},{"name":"variables.tf","path":"modules/couchbase-iam-policies/variables.tf","sha":"26ac224bac34cf635bff250be92515b7b6f97070"}]},{"name":"couchbase-server-security-group-rules","children":[{"name":"README.md","path":"modules/couchbase-server-security-group-rules/README.md","sha":"208e46d7c9647c61941dd77b212009fab3d16fd5"},{"name":"main.tf","path":"modules/couchbase-server-security-group-rules/main.tf","sha":"5d0f320b8f97d6f9855e748495c8e27315d47522"},{"name":"outputs.tf","path":"modules/couchbase-server-security-group-rules/outputs.tf","sha":"4c5c8af8a2fb065200fdc7090a9c1b5cd226d5d6"},{"name":"variables.tf","path":"modules/couchbase-server-security-group-rules/variables.tf","sha":"1f00f38fc9e89210f0ca8bc2189d6615a9e4481b"}]},{"name":"install-couchbase-server","children":[{"name":"README.md","path":"modules/install-couchbase-server/README.md","sha":"68ca11d74a46fd45a1de30b4f0091301224a6df7"},{"name":"disable-thp","path":"modules/install-couchbase-server/disable-thp","sha":"2ead9b6e580a16712375f207ba4261884157f88e"},{"name":"install-couchbase-server","path":"modules/install-couchbase-server/install-couchbase-server","sha":"61789cec5eaf222fbc55b7790b1a7f9176429080"}]},{"name":"install-sync-gateway","children":[{"name":"README.md","path":"modules/install-sync-gateway/README.md","sha":"e33f83a43b7ded3ab89c5a632bb6a2392540b209"},{"name":"install-sync-gateway","path":"modules/install-sync-gateway/install-sync-gateway","sha":"2d78163fa6a7bc1aebeb8de6d8063160e626ad18"}]},{"name":"load-balancer-target-group","children":[{"name":"README.md","path":"modules/load-balancer-target-group/README.md","sha":"b71f21e4aa7c506b9a4df23919e2e844609c6b73"},{"name":"main.tf","path":"modules/load-balancer-target-group/main.tf","sha":"2d38419d99f35a3b2b94902ea7bb3f3970b05e8b"},{"name":"outputs.tf","path":"modules/load-balancer-target-group/outputs.tf","sha":"c66bcfb9097a75d942502aa134cdc1809e108e28"},{"name":"variables.tf","path":"modules/load-balancer-target-group/variables.tf","sha":"df893f09fbe414468958fc9bd5b53283ba062bf6"}]},{"name":"load-balancer","children":[{"name":"README.md","path":"modules/load-balancer/README.md","sha":"c3e457f41ef1b3797e96bd395931b4b86d8763f7"},{"name":"main.tf","path":"modules/load-balancer/main.tf","sha":"b2125b3f14f65a38814e1babddca7ca321701064"},{"name":"outputs.tf","path":"modules/load-balancer/outputs.tf","sha":"eac906678815f7b26d3628ab6b0cfd8dfde9f25b"},{"name":"variables.tf","path":"modules/load-balancer/variables.tf","sha":"990d99f7ef2bc15d0656b66c8640e01393f9d10b"}]},{"name":"run-couchbase-server","children":[{"name":"README.md","path":"modules/run-couchbase-server/README.md","sha":"22171cb07dcfc6a8dfb20b48cf69fb8f79175704"},{"name":"run-couchbase-server","path":"modules/run-couchbase-server/run-couchbase-server","sha":"b13e7804ea29db862025ac9a20fc222fae6444ec"}]},{"name":"run-replication","children":[{"name":"README.md","path":"modules/run-replication/README.md","sha":"70b7aa50e06d1c390b2f7921e8293c4e45de4fae"},{"name":"run-replication","path":"modules/run-replication/run-replication","sha":"419c2f1cca183fd2f1fd9a94a11ba587609edded"}]},{"name":"run-sync-gateway","children":[{"name":"README.md","path":"modules/run-sync-gateway/README.md","sha":"1a18541741641f75d8d7c4d70e37683e498845c6"},{"name":"run-sync-gateway","path":"modules/run-sync-gateway/run-sync-gateway","sha":"8f827839afe57bd36a4a6c35ef2a169fa6992054"}]},{"name":"sync-gateway-security-group-rules","children":[{"name":"README.md","path":"modules/sync-gateway-security-group-rules/README.md","sha":"f5e50b67844506d15a277e3578105dc3a1225c95"},{"name":"main.tf","path":"modules/sync-gateway-security-group-rules/main.tf","sha":"87028ff2de4562224ec2d20986acbe1eb4faaeee"},{"name":"outputs.tf","path":"modules/sync-gateway-security-group-rules/outputs.tf","sha":"20655ee9c7729f093241ec28e31b197e7d4fbdca"},{"name":"variables.tf","path":"modules/sync-gateway-security-group-rules/variables.tf","sha":"cf39a81712ec01fc36b9f83dd7e62226b1d08a60"}]}]},{"name":"outputs.tf","path":"outputs.tf","sha":"4138cc3c41b0d5ebf4ce088431332550eb503e10"},{"name":"test","children":[{"name":"README.md","path":"test/README.md","sha":"36e97d94c441e302871e22126004113f3ffb84d1"},{"name":"couchbase_helpers.go","path":"test/couchbase_helpers.go","sha":"5018b0767b3f3cbf9699176973de60c1da90d32c"},{"name":"couchbase_multi_cluster_test.go","path":"test/couchbase_multi_cluster_test.go","sha":"3f4ce22c64179b7c04710e7903dc616722215131"},{"name":"couchbase_multi_datacenter_replication_test.go","path":"test/couchbase_multi_datacenter_replication_test.go","sha":"cdb6df8391670b38cb7185d97f3522eabba7cee4"},{"name":"couchbase_single_cluster_dns_tls_test.go","path":"test/couchbase_single_cluster_dns_tls_test.go","sha":"84f76d8719de66fda0786ede6eae23345865a476"},{"name":"couchbase_single_cluster_test.go","path":"test/couchbase_single_cluster_test.go","sha":"3465f2dd0f554df0db8f914aabf51168ca36b9e2"},{"name":"docker_compose_test.go","path":"test/docker_compose_test.go","sha":"29c79d54d53f5858a9ad3713ff80d1799d63a9f3"},{"name":"go.mod","path":"test/go.mod","sha":"95dfdad01ec121ce439b28babb2204cb899e8807"},{"name":"go.sum","path":"test/go.sum","sha":"d9be34bccc7c51403bad99294eaa3e88236dfa2e"},{"name":"terratest_helpers.go","path":"test/terratest_helpers.go","sha":"29cc6e09e083f421dbfc153990b3d3fe9cc8cf76"}]},{"name":"variables.tf","path":"variables.tf","sha":"e463cef71c94336b5f14de9f3ddc1cdf7d4edaec"}]},"detailsContent":"<p></p>\n<h1 class=\"preview__body--title\" id=\"couchbase-aws-module\">Couchbase AWS Module</h1><div class=\"preview__body--border\"></div><p><a href=\"https://gruntwork.io/?ref=repo_aws_couchbase\" class=\"preview__body--description--blue\" target=\"_blank\"><img src=\"https://img.shields.io/badge/maintained%20by-gruntwork.io-%235849a6.svg\" alt=\"Maintained by Gruntwork.io\" class=\"preview__body--diagram\"></a>\n<img src=\"https://img.shields.io/badge/tf-%3E%3D0.12.0-blue.svg\" alt=\"Terraform Version\" class=\"preview__body--diagram\"></p>\n<p>This repo contains a set of modules for deploying <a href=\"https://www.couchbase.com/\" class=\"preview__body--description--blue\" target=\"_blank\">Couchbase</a> on\n<a href=\"https://aws.amazon.com/\" class=\"preview__body--description--blue\" target=\"_blank\">AWS</a> using <a href=\"https://www.terraform.io/\" class=\"preview__body--description--blue\" target=\"_blank\">Terraform</a> and <a href=\"https://www.packer.io/\" class=\"preview__body--description--blue\" target=\"_blank\">Packer</a>.\nCouchbase is a distributed NoSQL document database. This module supports running Couchbase as a single cluster:</p>\n<p><img src=\"/repos/images/v0.2.4/terraform-aws-couchbase/_docs/couchbase-single-cluster-architecture.png?raw=true\" alt=\"Couchbase single-cluster architecture\" class=\"preview__body--diagram\"></p>\n<p>Or as multiple clusters for the various Couchbase services (data, management, search, index, query) and Sync Gateway:</p>\n<p><img src=\"/repos/images/v0.2.4/terraform-aws-couchbase/_docs/couchbase-multi-cluster-architecture.png?raw=true\" alt=\"Couchbase multi-cluster architecture\" class=\"preview__body--diagram\"></p>\n<h2 class=\"preview__body--subtitle\" id=\"features\">Features</h2>\n<ul>\n<li>Deploy Couchbase and Sync Gateway.</li>\n<li>Automatic bootstrapping.</li>\n<li>Cross-region replication</li>\n<li>Multi-dimensional scaling, allowing you to separately scale data, management, search, index, query, and Sync\nGateway nodes.</li>\n<li>Auto healing.</li>\n<li>Web console UI.</li>\n</ul>\n<h2 class=\"preview__body--subtitle\" id=\"learn\">Learn</h2>\n<p>This repo is maintained by <a href=\"https://www.gruntwork.io\" class=\"preview__body--description--blue\" target=\"_blank\">Gruntwork</a>, and follows the same patterns as <a href=\"https://gruntwork.io/infrastructure-as-code-library/\" class=\"preview__body--description--blue\" target=\"_blank\">the Gruntwork\nInfrastructure as Code Library</a>, a collection of reusable,\nbattle-tested, production ready infrastructure code. You can read <a href=\"https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/\" class=\"preview__body--description--blue\" target=\"_blank\">How to use the Gruntwork Infrastructure as Code\nLibrary</a> for an overview\nof how to use modules maintained by Gruntwork!</p>\n<h3 class=\"preview__body--subtitle\" id=\"core-concepts\">Core concepts</h3>\n<ul>\n<li><a href=\"https://docs.couchbase.com/home/index.html\" class=\"preview__body--description--blue\" target=\"_blank\">Couchbase documentation</a>: The core documentation for Couchbase, inculding\nguides for administrators, developers, SQL developers, and mobile developers.</li>\n<li><a href=\"https://docs.couchbase.com/tutorials/index.html\" class=\"preview__body--description--blue\" target=\"_blank\">Couchbase tutorials</a>: hands-on guides for getting started with\nCouchbase.</li>\n<li><a href=\"https://docs.couchbase.com/server/6.0/learn/security/security-overview.html\" class=\"preview__body--description--blue\" target=\"_blank\">Couchbase Security</a>: overview of how to\nsecure your Couchbase clusters.</li>\n</ul>\n<h3 class=\"preview__body--subtitle\" id=\"repo-organization\">Repo organization</h3>\n<p>Check out <a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/core-concepts.md#how-to-use-this-repo\" class=\"preview__body--description--blue\" target=\"_blank\">How to use this repo</a>:\nfor an overview.</p>\n<ul>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules\" class=\"preview__body--description--blue\" target=\"_blank\">modules</a>: the main implementation code for this repo, broken down into multiple standalone, orthogonal submodules.</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/examples\" class=\"preview__body--description--blue\" target=\"_blank\">examples</a>: This folder contains working examples of how to use the submodules.</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/test\" class=\"preview__body--description--blue\" target=\"_blank\">test</a>: Automated tests for the modules and examples.</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master\" class=\"preview__body--description--blue\" target=\"_blank\">root</a>: The root folder is <em>an example</em> of how to use the submodules to deploy a Couchbase cluster. The Terraform Registry requires the root of every repo to contain Terraform code, so we've put one of the examples there. This example is great for learning and experimenting, but for production use, please use the underlying modules in the <a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules\" class=\"preview__body--description--blue\" target=\"_blank\">modules folder</a> directly.</li>\n</ul>\n<h2 class=\"preview__body--subtitle\" id=\"deploy\">Deploy</h2>\n<h3 class=\"preview__body--subtitle\" id=\"non-production-deployment-quick-start-for-learning\">Non-production deployment (quick start for learning)</h3>\n<p>If you just want to try this repo out for experimenting and learning, check out the following resources:</p>\n<ul>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/examples\" class=\"preview__body--description--blue\" target=\"_blank\">examples folder</a>: The <code>examples</code> folder contains sample code optimized for learning, experimenting, and testing (but not production usage).</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/core-concepts.md#quick-start\" class=\"preview__body--description--blue\" target=\"_blank\">quick start</a>: A quick\nstart guide for this repo.</li>\n</ul>\n<h3 class=\"preview__body--subtitle\" id=\"production-deployment\">Production deployment</h3>\n<p>If you want to deploy this repo in production, check out the following resources:</p>\n<ul>\n<li><a href=\"https://docs.couchbase.com/server/6.0/install/install-production-deployment.html\" class=\"preview__body--description--blue\" target=\"_blank\">Couchbase deployment guidelines</a>:\nA guide on how to configure Couchbase for production. All of these settings are exposed by the modules in the\n<code>modules</code> folder.</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/couchbase-cluster/README.md#security\" class=\"preview__body--description--blue\" target=\"_blank\">Security options</a>:\nThe security options you can configure using these modules.</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/run-couchbase-server/README.md#passing-credentials-securely\" class=\"preview__body--description--blue\" target=\"_blank\">Credentials</a>:\nHow to pass credentials securely to your Couchbase server.</li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/run-couchbase-server/README.md#memory-settings\" class=\"preview__body--description--blue\" target=\"_blank\">Memory settings</a>:\nHow to configure memory settings in your Couchbase server.</li>\n</ul>\n<h2 class=\"preview__body--subtitle\" id=\"manage\">Manage</h2>\n<h3 class=\"preview__body--subtitle\" id=\"day-to-day-operations\">Day-to-day operations</h3>\n<ul>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/couchbase-cluster/README.md#connecting-to-sync-gateway\" class=\"preview__body--description--blue\" target=\"_blank\">How to connect to Sync Gateway</a></li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/couchbase-cluster/README.md#connecting-to-the-couchbase-server-web-console\" class=\"preview__body--description--blue\" target=\"_blank\">How to connect to the Couchbase Web Console</a></li>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/couchbase-cluster/README.md#connecting-to-couchbase-server-via-the-sdk\" class=\"preview__body--description--blue\" target=\"_blank\">How to connect to the Couchbase Server via SDK</a></li>\n</ul>\n<h3 class=\"preview__body--subtitle\" id=\"major-changes\">Major changes</h3>\n<ul>\n<li><a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/modules/couchbase-cluster/README.md#how-do-you-roll-out-updates\" class=\"preview__body--description--blue\" target=\"_blank\">How to upgrade a Couchbase cluster</a></li>\n</ul>\n<h2 class=\"preview__body--subtitle\" id=\"support\">Support</h2>\n<p>If you need help with this repo or anything else related to infrastructure or DevOps, Gruntwork offers <a href=\"https://gruntwork.io/support/\" class=\"preview__body--description--blue\" target=\"_blank\">Commercial Support</a> via Slack, email, and phone/video. If you're already a Gruntwork customer, hop on Slack and ask away! If not, <a href=\"https://www.gruntwork.io/pricing/\" class=\"preview__body--description--blue\" target=\"_blank\">subscribe now</a>. If you're not sure, feel free to email us at <a href=\"mailto:support@gruntwork.io\" class=\"preview__body--description--blue\" target=\"_blank\">support@gruntwork.io</a>.</p>\n<h2 class=\"preview__body--subtitle\" id=\"contributions\">Contributions</h2>\n<p>Contributions to this repo are very welcome and appreciated! If you find a bug or want to add a new feature or even contribute an entirely new module, we are very happy to accept pull requests, provide feedback, and run your changes through our automated test suite.</p>\n<p>Please see <a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/CONTRIBUTING.md\" class=\"preview__body--description--blue\" target=\"_blank\">CONTRIBUTING.md</a> for instructions.</p>\n<h2 class=\"preview__body--subtitle\" id=\"license\">License</h2>\n<p>Please see <a href=\"https://github.com/hashicorp/terraform-aws-couchbase/tree/master/LICENSE\" class=\"preview__body--description--blue\" target=\"_blank\">LICENSE</a> for details on how the code in this repo is licensed.</p>\n<p>Copyright © 2019 Gruntwork, Inc.</p>\n","repoName":"terraform-aws-couchbase","repoRef":"v0.3.0","serviceDescriptor":{"serviceName":"Couchbase","serviceRepoName":"terraform-aws-couchbase","serviceRepoOrg":"gruntwork-io","cloudProviders":["aws"],"description":"Deploy a Couchbase cluster. Supports automatic bootstrapping, Sync Gateway, Web Console UI, cross-region replication, and auto healing.","imageUrl":"couchbase.png","licenseType":"open-source","technologies":["Terraform","Bash"],"compliance":[],"tags":[""]},"serviceCategoryName":"NoSQL","fileName":"README.md","filePath":"","title":"Repo Browser: Couchbase","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}