We serve our frontend applications from S3 through CloudFlare distributions.
- Set up S3 buckets and routing for your frontend app.
- We have a frontend terraform module for provisioning new frontend infrastructure.
- To provision new frontend infrastructure copy and rename an existing frontend app terraform template and modify as needed. See the edx-portal template for an example.
- You will also need to add the appropriate terraform variables for your frontend app here and here.
- Add configuration variable files for your frontend application to edx-internal in the frontends directory. See the edx-portal variable files for an example.
- Add your frontend application to edx-gomatic/edxpipelines/pipelines/config/frontend_apps.yml in order to provision Go CD pipelines. Your pipelines will be generated once your edx-gomatic PR is merged.
Reference PRs
https://github.com/edx/terraform/pull/1087
https://github.com/edx/edx-internal/pull/500
https://github.com/edx/edx-gomatic/pull/427/files#diff-900266314f07addd67f6382346dba25cR1