terraform-aws-django

Terraform modules for deploying Django applications on AWS using ECS Fargate (by briancaffey)

Terraform-aws-django Alternatives

Similar projects and alternatives to terraform-aws-django

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better terraform-aws-django alternative or higher similarity.

terraform-aws-django reviews and mentions

Posts with mentions or reviews of terraform-aws-django. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-07.
  • My Infrastructure as Code Rosetta Stone - Deploying the same Django application on AWS ECS Fargate with CDK, Terraform and Pulumi
    6 projects | /r/devops | 7 Jan 2023
    terraform-aws-django
  • This is how you want to manage your Terraform modules
    2 projects | /r/Terraform | 3 Jan 2023
    +1 for release-please. Here's an example of how I maintain my module's changelog with 13 lines of yaml in a GitHub Action using release-please: https://github.com/briancaffey/terraform-aws-django/blob/main/.github/workflows/release-please.yml
  • Scenario based question for DevOps Engineers out there
    2 projects | /r/devops | 22 Nov 2022
    Here are some other questions that would be good to ask about the infrastructure: * What AWS account will this run in? Who has access to that account? Are SSO permission sets used? * What DNS records will be used to access the frontend and the backend? Are these two services accessed via the same record URL? For example, all do you to only send example.com/api/* traffic to the backend and then send all other example.com/* to the Angular frontend? Or do you want to use api.example.com for all API traffic and example.com for the Angular site. What about non-prod environments? Will you use alpha.example.com for a staging environment for a non-prod environment named alpha? * You mentioned that the team will be using Terraform heavily, how will you be splitting up your modules? When you run Terraform's apply command, does it update a single set of infrastructure for your entire application, or do you run terraform apply several times for different groups of resources, such as a networking stack (with VPC), data stack (with RDS) and application stack (for ECS resources), for example? You will probably use terraform remote state to manage these different logical components and the data dependencies they have between each other. * Another related question is how you are running pipelines for Terraform? I would use something like GitHub Actions. When a pipeline runs, you should see the output of a terraform plan stage and then the pipeline should pause for manual approval after the changes have been reviewed. This can be done with GitHub environments, for example, and other CI/CD tools can also do this. * What happens when you need to change an environment variable? This can be a complicated question. Environments that are not secrets might be stored in a terraform.tfvars file, or might be stored in environment variables in your pipeline in the form of TFVAR{name}, so this implies that changing an environment variable is an infrastructure change. You want to keep your infrastructure deployments separate from your application deployments. If you are using ECS, you probably want to use ignore_changes for the task definitions referenced by the services. This will create a new task definition, but it will not be used by the new services. When you do an application update, the service may use this new task definition with the updated environment variable. * Another question: does anyone on the team need direct access to the database? Is there a bastion host used in the infrastructure that can people can connect to the DB with via port forwarding? I hope these questions are helpful. I have thought about a lot of these and have been exploring their answers with an open source project focused on a containerized, database-backed Python web app (made with Django) that I deploy on AWS with ECS Fargate, and I have another repo with Terraform modules for deploying application infrastructure. Here's the application repo: https://github.com/briancaffey/django-step-by-step and here is the Terraform module repo: https://github.com/briancaffey/terraform-aws-django. Please let me know if you have any questions
  • The appropriate way to deploy full stack app on ECS
    2 projects | /r/aws | 15 Oct 2022
    Here's the Terraform code: https://github.com/briancaffey/terraform-aws-django
  • Django Docker Containers and good example projects
    5 projects | /r/django | 5 Oct 2022
    Here's one of my practice projects that I use for learning and practicing deployments. It is a simple microblogging application that implements the application both using the MTV paradigm and the REST/SPA paradigm. My deployment efforts are narrowly focused on ECS Fargate, one of several ways to run containers on AWS, and I also focus on using Terraform and GitHub Actions to both build infrastructure and deploy new versions of the application. terraform-aws-django is repo that contains all of the Terraform code that is used to build the application. Happy to answer any questions about these repos!
  • Best practices for manually accessing interactive shells and databases for web apps running on ECS Fargate
    2 projects | /r/aws | 25 Aug 2022
    Here is the repo where I have things set up in Terraform: https://github.com/briancaffey/terraform-aws-django/tree/main/modules/internal/bastion
  • Setting up ad hoc development environments for Django applications with AWS ECS, Terraform and GitHub Actions
    4 projects | dev.to | 11 Jun 2022
    terraform-aws-django
  • Having issues running terraform init in a directory containing only a tfvars file that references remote git repo source
    2 projects | /r/Terraform | 7 Mar 2022
    source = "git::https://github.com/briancaffey/terraform-aws-django.git?ref=v0.0.2" region="us-east-1" ...
  • A note from our sponsor - WorkOS
    workos.com | 29 Mar 2024
    The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →