Skip to content

insight-infrastructure/terraform-aws-airflow-docker

Repository files navigation

terraform-aws-airflow-docker

open-issues open-pr

Features

This module sets up an airflow instance or cluster.

Terraform Versions

For Terraform v0.12.0+

Usage

variable "private_key_path" {}
variable "public_key_path" {}

module "defaults" {
  source = "github.com/insight-infrastructure/terraform-aws-airflow-docker"
  private_key_path = var.private_key_path
  public_key_path = var.public_key_path
}

Examples

Known Issues

No issue is creating limit on this module.

Providers

Name Version
aws n/a

Inputs

Name Description Type Default Required
additional_policy_arns List of additional policy arns list(string) [] no
additional_security_group_ids List of security groups list(string) [] no
ami AMI to use as base image - blank for ubuntu string "" no
bastion_ip Optional IP for bastion - blank for no bastion string "" no
bastion_user Optional bastion user - blank for no bastion string "" no
cloudwatch_enable Enable CW bool false no
create Boolean to create resources or not bool true no
create_dns Bool to create ssl cert and nginx proxy bool true no
create_ebs_volume #### EBS #### bool false no
create_iam Bool to create iam role bool false no
create_sg Bool for create security group bool true no
device_name The path of the EBS volume string "/dev/xvdf" no
domain_name The domain - example.com. Blank for no ssl / nginx string "" no
ebs_volume_size Size of attached ebs volume number 8 no
hostname The hostname - ie hostname.example.com string "airflow" no
instance_type Instance type string "t3.small" no
key_name The key pair to import - leave blank to generate new keypair from pub/priv ssh key path string "" no
logging_bucket_name Name of bucket for logs - blank for logs- string "" no
logs_bucket_enable Create bucket to put logs bool false no
monitoring Boolean for cloudwatch bool false no
name The name for the label string "airflow" no
playbook_vars Additional playbook vars map(string) {} no
private_key_path The path to the private ssh key string n/a yes
private_port_cidrs List of CIDR blocks for private ports list(string)
[
"172.31.0.0/16"
]
no
private_ports List of publicly open ports list(number) [] no
public_key_path The path to the public ssh key string n/a yes
public_ports List of publicly open ports list(number)
[
22,
80,
3000,
9090
]
no
root_iops n/a string n/a yes
root_volume_size Root volume size number 8 no
root_volume_type n/a string "gp2" no
subnet_id The id of the subnet string "" no
suffix Suffix to attach to name string "" no
tags Map of tags map(string) {} no
vpc_id Custom vpc id - leave blank for deault string "" no

Outputs

Name Description
instance_id n/a
instance_store_enabled n/a
instance_type n/a
key_name n/a
public_ip n/a

Testing

This module has been packaged with terratest tests

To run them:

  1. Install Go
  2. Run make test-init from the root of this repo
  3. Run make test again from root

Authors

Module managed by insight-infrastructure

Credits

License

Apache 2 Licensed. See LICENSE for full details.

About

Terraform module setting up an ec2 with airflow on docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published