girder4

girder/girder4/heroku

Terraform Module HCL HEROKU

A Terraform module to provision Girder4 infrastructure on Heroku + AWS.

Install
module "girder4" {
source = "girder/girder4/heroku"
version = "0.13.0"
}
plain text: /constructs/tfmod-girder-girder4-heroku/install.txt
⭐ Source on GitHub 📦 Registry page
README

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

Inputs (24)
NameTypeDescriptionDefault
project_slugstringA slugified name, used to label resources. required
route53_zone_idstringThe Route 53 zone ID to create new DNS records within. required
subdomain_namestringThe DNS subdomain name where the server will be available. required
heroku_team_namestringThe name of the Heroku team for the app. required
django_default_from_emailstringThe default email address which Django will send from.null
django_cors_origin_regex_whitelistlist(string)Domain regular expressions which Django will allow to make CORS requests.[]
heroku_web_dyno_sizestringThe Heroku web server dyno size."basic"
heroku_web_dyno_quantitynumberThe Heroku web server dyno quantity.1
heroku_worker_dyno_sizestringThe Heroku worker dyno size."basic"
heroku_app_namestringThe name of the Heroku app.null
heroku_worker_dyno_quantitynumberThe Heroku worker dyno quantity.1
ec2_worker_instance_quantitynumberThe quantity of EC2 worker instances.0
ec2_worker_launch_ami_idstringThe AMI ID used to initially launch the EC2 workers. Changing this will not replnull
heroku_cloudamqp_planstringThe Heroku CloudAMQP add-on plan type, or null to disable."lemur"
heroku_papertrail_planstringThe Heroku Papertrail add-on plan type, or null to disable."choklad"
ec2_worker_instance_typestringThe EC2 workers' instance size."t3.small"
additional_django_varsmap(string)Additional Django environment variables.{}
additional_sensitive_django_varsmap(string)Additional Django environment variables, which will not be printed.{}
ec2_worker_ssh_public_keystringAn SSH public key, to be installed on the EC2 workers. This must be set if ec2_wnull
heroku_additional_buildpackslist(string)Additional buildpacks to use on Heroku.[]
storage_bucket_namestringThe globally unique S3 bucket name of the storage.null
django_cors_origin_whitelistlist(string)Domains which Django will allow to make CORS requests.[]
heroku_postgresql_planstringThe Heroku Postgres add-on plan type, or null to disable."basic"
ec2_worker_volume_sizenumberThe size, in GB, of the root EBS volume for the EC2 workers.40
Outputs (7)
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.
Resources (6)
aws_iam_access_keyaws_iam_role_policyaws_iam_useraws_iam_user_policyaws_route53_recordrandom_string
Details
FrameworkTerraform Module
LanguageHCL
Version0.13.0
Cloud HEROKU
★ Stars6
Forks2
Total downloads1.5k
Inputs24
Outputs7
Resources6
Examples1
Submodules4
LicenseApache-2.0
Namespacegirder
Updated