-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement terraform modules and infrastructure example #125
base: main
Are you sure you want to change the base?
Conversation
Thanks for the pull request, @gabor-boros! What's next?Please work through the following steps to get your changes ready for engineering review: 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. 🔘 Let us know that your PR is ready for review:Who will review my changes?This repository is currently maintained by Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:
When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
1 similar comment
Thanks for the pull request, @gabor-boros! What's next?Please work through the following steps to get your changes ready for engineering review: 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. 🔘 Let us know that your PR is ready for review:Who will review my changes?This repository is currently maintained by Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:
When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
condition = contains([ | ||
"ams3", | ||
"blr1", | ||
"fra1", | ||
"lon1", | ||
"nyc3", | ||
"sfo2", | ||
"sfo3", | ||
"sgp1", | ||
"syd1", | ||
"tor1", | ||
], var.region) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you can use this data source to avoid hard-coding the list of valid regions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not entirely true. Not all resources are available in every regions. The list you see here is containing those regions that all have the capability to provision a fully functioning cluster with all related resources.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is you can use the filter
argument to only retrieve the regions that support the features you need. But if it's easier to hard-code it, that's fine too - please just add a comment explaining why, and what features each region needs to support to be included on the list.
} | ||
|
||
|
||
resource "null_resource" "no_primay_key_patch_database_cluster" { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a comment explaining what this PATCH is doing and why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change was needed because of a foreign key constraint issue in Django-wiki version that was used by open edX. openedx/edx-platform#30709
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, so please include that explanation inline in the Terraform file, where this resource is defined.
@@ -0,0 +1,56 @@ | |||
## Requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you say what this module is? Does it provision both MySQL and MongoDB, for example?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is used for creating database clusters for DigitalOcean. In case of DO, the only differentiator between MySQL/MongoDB/Postgres is the "engine" and "engine version".
Signed-off-by: Gabor Boros <[email protected]>
5e54e34
to
7441d2f
Compare
Co-authored-by: Braden MacDonald <[email protected]>
Co-authored-by: Braden MacDonald <[email protected]>
Signed-off-by: Gabor Boros <[email protected]>
Signed-off-by: Gabor Boros <[email protected]>
This PR implements terraform modules for DigitalOcean that allows anyone to create a production-grade infrastructure for hosting Open edX instances using Tutor and Harmony.
The PR includes a reference implementation as a usage example.