django
girder/django/heroku
A Terraform module to provision Kitware Resonant infrastructure on Heroku + AWS.
terraform-heroku-resonant A Terraform module to provision Kitware Resonant infrastructure on Heroku + AWS. This facilitates deployment of Django applications created from the Resonant cookiecutter. It creates a Heroku app with addons for PostgreSQL, CloudAMQP, and Papertrail. It also creates AWS S3 storage, outgoing SMTP credentials, and an optional AWS EC2 worker. See full usage documentation at Terraform Registry. Note on AWS Email Sending Every AWS account must explicitly apply to send real emails, once per Simple Email Service (SES) region. Approvals seem to be granted liberally and to take about 24 hours. Note on initial creation of Heroku apps When first creating an instance of this module, provisioning of the Heroku app (specifically the heroku_formation resources) will likely fail
| Name | Type | Description | Default |
|---|---|---|---|
| subdomain_name | string | The DNS subdomain name where the server will be available. | required |
| route53_zone_id | string | The Route 53 zone ID to create new DNS records within. | required |
| django_settings_module | string | The import path used to set DJANGO_SETTINGS_MODULE. | required |
| project_slug | string | A slugified name, used to label resources. | required |
| heroku_team_name | string | The name of the Heroku team for the app. | required |
| heroku_additional_buildpacks | list(string) | Additional buildpacks to use on Heroku. | [] |
| django_cors_allowed_origin_regexes | list(string) | Domain regular expressions which Django will allow to make CORS requests. | [] |
| heroku_web_dyno_size | string | The Heroku web server dyno size. | "basic" |
| heroku_web_dyno_quantity | number | The Heroku web server dyno quantity. | 1 |
| heroku_worker_dyno_size | string | The Heroku worker dyno size. | "basic" |
| heroku_cloudamqp_plan | string | The Heroku CloudAMQP add-on plan type, or null to disable. | "lemur" |
| ec2_worker_launch_ami_id | string | The AMI ID used to initially launch the EC2 workers. Changing this will not repl | null |
| heroku_app_name | string | The name of the Heroku app. | null |
| django_default_from_email | string | The default email address which Django will send from. | null |
| django_cors_allowed_origins | list(string) | Domains which Django will allow to make CORS requests. | [] |
| heroku_worker_dyno_quantity | number | The Heroku worker dyno quantity. | 1 |
| heroku_papertrail_plan | string | The Heroku Papertrail add-on plan type, or null to disable. | "choklad" |
| additional_django_vars | map(string) | Additional Django environment variables. | {} |
| ec2_worker_ssh_public_key | string | An SSH public key, to be installed on the EC2 workers. This must be set if ec2_w | null |
| ec2_worker_instance_type | string | The EC2 workers' instance size. | "t3.small" |
| ec2_worker_instance_quantity | number | The quantity of EC2 worker instances. | 0 |
| additional_sensitive_django_vars | map(string) | Additional Django environment variables, which will not be printed. | {} |
| storage_bucket_name | string | The globally unique S3 bucket name of the storage. | null |
| heroku_postgresql_plan | string | The Heroku Postgres add-on plan type, or null to disable. | "essential-0" |
| ec2_worker_volume_size | number | The size, in GB, of the root EBS volume for the EC2 workers. | 40 |
fqdn — The fully-qualified domain name of the Heroku app.heroku_app_id — The ID of the Heroku app.heroku_iam_user_id — The ID of the IAM user for Heroku.all_django_vars — All Django environment variables, as they are effectively set.storage_bucket_name — The storage S3 bucket name.ec2_worker_hostnames — The public hostnames of the EC2 workers.ec2_worker_iam_role_id — The ID of the instance profile IAM role for the EC2 workers.