Skip to content
This repository has been archived by the owner on Oct 11, 2021. It is now read-only.

Releases: villasv/aws-airflow-stack

Elegant Echo

06 Apr 00:35
fe85ed7
Compare
Choose a tag to compare

The fifth official release focuses on reduction of complexity and increase of maintainability, further separating stack resources and setup scripts, plus a few security improvements.

Features:

  • Use the AWS Secrets Manager to create and store the RDS password
  • Use a KDF to derive the Fernet key instead of generating it randomly
  • Control RDS access using source security groups instead of CIDR blocks
  • Publish no metrics if the there are no workers and the queue is empty

Enhancements:

  • Use proper shell scripts to set up instances checked with shellcheck
  • Convert load metric to python and check with pylint, flake8, black

Bugfixes:

  • Fix pycurl dependency mismatch after its version was pinned by airflow
  • Fix connection failure if database password contained special characters
  • Fix race condition between instances and codedeploy causing setup to fail

Misc:

  • Upgraded to apache-airflow==1.10.9
  • Remove non-GPL airflow install flag used in previous airflow versions
  • Add tests for guidelines like consistent parameter documentation
  • Formally document the load estimation technique

Decisive Dice

14 Nov 22:00
Compare
Choose a tag to compare

The fourth official release focuses on a more mature cloud architecture following AWS recommendations for CloudFormation templates.

New features:

  • Multi-AZ ASG for the Airflow EC2 instances, towards fault tolerance
  • Split template into nested stacks allowing deployment on existing VPCs
  • Store the Fernet key in the AWS Parameter Store instead of EBS

Stack improvements

  • Removed hardcoded bucket names and trust CFN to create them
  • Removed tenacity version pin for py3.7 because it was fixed on airflow
  • Removed celery version pin for thread safety because it was fixed on airflow
  • Changed default mininum worker count to 1, a more sensible default for demos
  • Multiple improvements targeting compliance with AWS QuickStart guidelines

Fixes:

  • Added cfn-signal missing relevant parameters
  • Removed hardcoded AZ options that failed in specific regions
  • Added EFS mount to fstab guaranteeing it's there after a reboot

Misc:

  • Upgraded to apache-airflow==1.10.6
  • Added cfn-lint as GitHub Action
  • Automated testing with taskcat
  • Merged on upstream Airflow a higher limit for queue names

Creative Cell

12 Feb 00:06
Compare
Choose a tag to compare

The third official release focuses on more robust deployments and safer auto scaling with graceful shutdown.

New features:

  • Deployment with CodeDeploy, giving more control and speed
  • Airflow logs now are stored in a dedicated S3 bucket
  • Parameter allowing to opt out of loading example DAGs
  • Parameter allowing to opt out of loading default connections

Stack improvements

  • EC2 instances now have an attached IAM role, making it easier to attach policies
  • Celery now uses that role with narrower queue permissions
  • EC2 instances now have an env var specifying its kind (worker, scheduler, webserver)
  • Celery broker transport options are now enforced, no need to specify on airflow.cfg

Fixes:

  • No more race conditions running initdb
  • No more terminating instances killing tasks

Misc:

  • Upgraded to apache-airflow==1.10.2

Blazing Beat

12 Dec 22:55
Compare
Choose a tag to compare

The second official release focuses on more flexible parameters and a better auto scaling attempt.

  • New parameters: scheduler and webserver instance types
  • New parameters: webserver port (enforced in the environment)
  • New parameters: CIDR block for opening SSH access
  • Worker setup: tries to install from AIRFLOW_HOME/requirements.txt
  • Worker load: metric now discounts an estimation of time spent on boot
  • Stack updates: machines watch for metadata updates and restart airflow

Amazonic Art

22 Nov 17:47
7bf3d2c
Compare
Choose a tag to compare

The first official release! Featuring many improvements over the unofficial previous release:

  • Airflow 1.10.1 with official Sagemaker support!
  • Managed systemd: switched from the old supervisord 2
  • Parametrized region: not restricted to us-east-1 anymore
  • Upgraded AMI: now using Amazon Linux 2 with Python 3.7
  • Guessed AMI IDs: picks the latest GP2 AMI for that region
  • EFS on fstab: airflow home directory now survive reboots
  • Prefixed tags: using the stack name on tags