girder4
girder/girder4/heroku
A Terraform module to provision Girder4 infrastructure on Heroku + AWS.
terraform-heroku-girder4 A Terraform module to provision Girder4 infrastructure on Heroku + AWS. This facilitates deployment of Django applications created from the Girder4 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 with a "Cou
| Name | Type | Description | Default |
|---|---|---|---|
| project_slug | string | A slugified name, used to label resources. | required |
| route53_zone_id | string | The Route 53 zone ID to create new DNS records within. | required |
| subdomain_name | string | The DNS subdomain name where the server will be available. | required |
| heroku_team_name | string | The name of the Heroku team for the app. | required |
| django_default_from_email | string | The default email address which Django will send from. | null |
| django_cors_origin_regex_whitelist | 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_app_name | string | The name of the Heroku app. | null |
| heroku_worker_dyno_quantity | number | The Heroku worker dyno quantity. | 1 |
| ec2_worker_instance_quantity | number | The quantity of EC2 worker instances. | 0 |
| ec2_worker_launch_ami_id | string | The AMI ID used to initially launch the EC2 workers. Changing this will not repl | null |
| heroku_cloudamqp_plan | string | The Heroku CloudAMQP add-on plan type, or null to disable. | "lemur" |
| heroku_papertrail_plan | string | The Heroku Papertrail add-on plan type, or null to disable. | "choklad" |
| ec2_worker_instance_type | string | The EC2 workers' instance size. | "t3.small" |
| additional_django_vars | map(string) | Additional Django environment variables. | {} |
| additional_sensitive_django_vars | map(string) | Additional Django environment variables, which will not be printed. | {} |
| 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 |
| heroku_additional_buildpacks | list(string) | Additional buildpacks to use on Heroku. | [] |
| storage_bucket_name | string | The globally unique S3 bucket name of the storage. | null |
| django_cors_origin_whitelist | list(string) | Domains which Django will allow to make CORS requests. | [] |
| heroku_postgresql_plan | string | The Heroku Postgres add-on plan type, or null to disable. | "basic" |
| ec2_worker_volume_size | number | The size, in GB, of the root EBS volume for the EC2 workers. | 40 |
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.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.